¿Iniciar un ZFS RAIDZ zpool con dos discos y luego agregar un tercero?

13

Digamos que tengo dos discos duros de 2TB y quiero comenzar mi primer Zpool zpool. ¿Es posible crear un RAIDZ con solo esos dos discos, dándome 2 TB de almacenamiento utilizable (si lo entiendo bien) y luego agregar otro disco duro de 2 TB que lleva el total a 4 TB de almacenamiento utilizable? ¿Estoy en lo correcto o es necesario que haya tres discos duros para comenzar?

La razón por la que pregunto es que ya tengo una unidad de 2TB que estoy usando que está llena de archivos. Quiero hacer la transición a un zpool, pero preferiría comprar solo dos unidades más de 2 TB si puedo. Por lo que entiendo, RAIDZ se comporta de manera similar a RAID5 (con algunas diferencias importantes, lo sé, pero en términos de capacidad). Sin embargo, RAID5 requiere más de 3 unidades. Me preguntaba si RAIDZ tiene el mismo requisito.

Si tengo que hacerlo, puedo comprar las tres unidades y comenzar allí, luego agregar la cuarta, pero si pudiera comenzar con dos y pasar a tres, me ahorraría $ 80.

Comunidad
fuente

Respuestas:

13

Un método que usan algunas personas, pero que no se recomienda:

  1. Cree un grupo con 2 unidades y un archivo disperso (del tamaño virtual derecho para que coincida con las otras unidades), y luego desconecte inmediatamente el archivo disperso. Esto creará un grupo RAID-Z1 degradado con dos unidades de capacidad y sin redundancia.
  2. Copie datos al grupo degradado.
  3. Reemplace el archivo disperso sin conexión con el tercer disco y el resilver.

El número de "dispositivos" con los que se crea un vdev es permanente después de la creación. Por lo tanto, debe tener tres "discos" en el momento de la creación. Este método ofrece una forma de crear un grupo RAID-Z1 degradado y luego restaurar la redundancia ausente.

No se recomienda este método, porque mientras se copia y mientras la tercera unidad está ausente, no hay redundancia / paridad. Pero puede funcionar.

Holger G
fuente
1
Gracias por esta respuesta No siempre estamos buscando la solución recomendada. A veces estamos buscando CUALQUIER solución. Un enlace a cómo hacer lo que explicas sería bueno
jsaddwater
Desafortunadamente, no puedo crear un archivo disperso de 1 TB en una unidad de 250 GB, por lo que al crear una matriz RAIDZ con 2 unidades de 1 TB + un archivo disperso (10 GB), la matriz se convierte en 3x10 GB. Después de eliminar el archivo disperso, no pude hacer crecer la matriz porque no pude copiar los datos de la tercera unidad a una pequeña matriz de 3x10GB y la matriz no puede crecer en estado degradado. Captura 22.
jsaddwater
6

Desafortunadamente, por el momento no es posible :

No es posible agregar un disco como columna a un vdev RAID-Z, RAID-Z2 o RAID-Z3. Esta característica depende de la funcionalidad de reescritura del puntero de bloque que se agregará pronto. Sin embargo, se puede crear un nuevo RAID-Z vdev y agregarlo al zpool.

RAID-Z1 podría funcionar con solo 2 unidades, pero claramente esto no es muy útil si no se pueden agregar unidades adicionales más adelante. RAID-Z (como RAID 5) se vuelve más eficiente, en términos de espacio de almacenamiento utilizable, cuantas más unidades se usen.

sblair
fuente
44
Aquí estamos tres años después, y la página de Wikipedia todavía dice "debido a ser agregado pronto" ... :(
Icydog
2
@Icydog muy pronto ahora ;-)
jlliagre
¿Qué te parece ahora? :)
black_puppydog
3

RAID-Z1 se puede usar con solo dos discos, pero no hay ninguna ventaja en comparación con la duplicación, a menos que sus dos discos tengan diferentes tamaños de sector, por lo que no se pueden duplicar (por ejemplo: un nuevo disco de sector 4K y un 512 anterior disco de bytes).

Como ya se dijo, no se admite agregar un dispositivo a un RAID-Z. Si desea agregar un disco a un RAID-Z existente, la única forma es hacer una copia de seguridad de sus datos en otro lugar, destruir el grupo y recrearlo con el disco adicional agregado y luego restaurar sus datos.

jlliagre
fuente
3

No tengo suficiente "reputación" para comentar, así que poner esto como una respuesta separada

RE: sugerencia de Holger G

aunque estoy de acuerdo en que esto NO es seguro ... Encontré este hilo buscando una manera de pasar de RAIDZ1 a RAIDZ2 en una fecha posterior cuando se puede adquirir una unidad adicional.

Por lo tanto, la sugerencia de Holgers funciona muy bien para mí: cree un RAIDZ2 con un desarrollador como archivo disperso, desconecte el dispositivo de archivo y tenga RAIDZ1 efectivamente por un tiempo y luego agregue un dispositivo real en algún momento para duplicar la redundancia

También funciona para la situación en la que una unidad contiene los datos que se copiarán a la nueva incursión, como lo ha hecho el OP.

Tjunkie
fuente
RAIDZ2 es una tontería: la única situación, cuando la configuración puede ser útil, es una falla correlacionada de dos unidades. En lugar de usar dos discos para protegerse de eso, protéjase contra tales fallas usando discos de la misma capacidad de diferentes fabricantes y / o de diferentes modelos.
Mikhail T.
@MikhailT. - Si bien usar diferentes fabricantes es un buen consejo, es un terrible consejo decir que RaidZ2 es una tontería; es muy probable que una reconstrucción mate otra unidad.
antiduh
es muy probable que la reconstrucción mate otra unidad , solo si todas las unidades son idénticas a la que ya falló y, por lo tanto, es probable que sufran una falla correlacionada . Y en este caso, tener dos unidades tampoco lo ayudará, es probable que todas fallen al mismo tiempo. Si las fallas de disco esperadas son independientes , sacrificar múltiples discos por redundancia no genera una mejora perceptible en la confiabilidad.
Mikhail T.
0

Solo un punto para aclarar algo:

  • Si un disco puede fallar sin saber cuándo fallará ... ¿por qué dos no pueden fallar al mismo tiempo? o tres o cuatro o cinco, etc.

Pero, piense en esta otra situación:

  1. Un disco ha fallado
  2. Pones uno nuevo y dejas que se 'reconstruya' para que sea seguro
  3. Mientras se realiza dicha 'reconstrucción' (quizás algunas horas), otro disco falla

Perdiste todo !!! Esa es la razón principal para tolerar una falla simultánea de dos discos.

Pero si eres realmente paranoico (como yo), usarás solo Stripping, no otro nivel de RAID.

¿Estoy loco? No, por supuesto ... ¡no me importa que falle un disco y pierda todos los datos! Realmente no perderé nada solo porque soy realmente paranoico.

Mi esquema paranoico:

  • ZFS con stripping (discos 2x, 3x, 4x ... o 10x), solo para adaptarse al ancho de banda máximo del bus (sata III, usb 3.1 gen 2, etc.)
  • Y otros cinco ZFS similares (sin energía, por lo que no se pueden dañar)

Cómo usar todos esos ZFS:

  • Tenga solo dos de ellos al mismo tiempo (solo para sincronizar cambios) ... como un maestro con cinco esclavos

Punto de vista paranoico:

  • Si un ZFS falla ... como si hubiera sido golpeado por una tormenta, quemado, robado, etc., todavía tengo cinco copias más en diferentes lugares (banco, búnker, nube de Internet, casa de amigos, casa de vacaciones, etc.)

Para sincronizar algunos de ellos ... debo llevar conmigo un ZFS y hacer la sincronización en el otro lugar físico / país / etc ... así que uso uno de esos esclavos.

Piense cuando hablo de discos duros en un ZFS, en otro ZFS puede ser 3.1 Gen2 64GiB USB sticks! No es necesario tener el mismo tamaño, tipo, etc.

Punto de vista realmente paranoico.

Para aquellos que no son tan paranoicos, y si pueden soportar perder todo ... hay niveles de RaidZ ... prefiero 'reflejarme' por mí mismo.

Otra ventaja de hacer 'sincronizaciones' manuales es su propia falla:

  • Tiene un sistema ZFS hipotético perfecto, nunca falla, pero decide eliminar un archivo ... algunos días después de descubrir que perdió el archivo que quería eliminar y eliminar uno que no deseaba (por error humano) ... no tienes suerte a menos que tengas un BackUp

Entonces ... de nuevo ... si necesita una copia de seguridad, ¿por qué no acelerar el ZFS al máximo solo con rayas? ... aún tendrá que hacer una copia de seguridad después de todo.

Bueno, la respuesta puede ser:

  • Partición del sistema para el sistema en línea a24h

Para particiones de datos, no veo la necesidad de niveles de RaidZ en lugar de tener un clon ZFS USB externo listo para conectarse tan pronto como falla el ZFS principal en uso ... simplemente desmonte el punto principal ZFS y monte el otro ZFS bueno en su lugar ... luego, con otra máquina, vuelva a crear el ZFS fuera de línea que se dañó.

Si tiene dos computadoras, tiene lo que necesita para 7x24h con solo unos pocos segundos (tiempo de arranque) de tiempo de inactividad.

Para los usuarios domésticos que desean que sus fotos se mantengan seguras ... use más de dos ZFS y tenga al menos una o dos de ellas nunca conectadas al mismo tiempo que el resto. ¿Paranoico? De ningún modo.

¡Es solo que aprendo por las malas cómo las cosas pueden salir realmente mal!

Solo para aclarar ... qué sucede ...

  1. Estaba usando la PC normalmente
  2. Los datos estaban llegando a fallar
  3. Saqué los discos duros y coloqué los que estaban bien
  4. Los datos sobre ellos también se dañaron en menos de diez segundos
  5. Perdí todos mis datos (no del todo porque estaba un poco paranoico y tengo BackUp en DVD)

El problema estaba realmente en el controlador (integrado en la placa base), no en los discos ... estaba alterando los datos en las operaciones de lectura / escritura.

Desde entonces ... mis datos ya no están en discos sata internos ... solo en gabinetes externos USB 3.1 Gen 2 que puedo conectar y desconectar (cada disco en su propio gabinete) ... y cuando falla uno ... pruebo todas las cosas antes de conectarme a esa PC cualquier cosa con datos reales ... RAM, procesador, puerto USB, etc.con una carcasa USB ficticia para probar patrones ... si eso está bien ... entonces pruebo el disco fallido ... si funciona en otro gabinete o no, en otra PC o no, etc. para saber realmente quién está causando el fallo ... realmente paranoico, ¡lo sé!

Pero aprendiendo de la experiencia:

  • Nunca confíes en que un fallo de disco es causado por el disco en sí mismo ... pruébalo ... podría ser el controlador, los cables, la fuente de alimentación, etc.
  • O peor, podría ser la RAM

Hablando de RAM, tenía una PC no tan antigua (procesador de 64 bits basado en BIOS) que si (piense en tres módulos RAM idénticos, llámelos A, B y C):

  • puse A en la PC funciona perfecto (no importa en cuál de las cuatro ranuras)
  • puse B en la PC funciona perfecto (no importa cuál de las cuatro ranuras)
  • puse C en la PC funciona perfecto (pero solo en una de las cuatro ranuras, en el otro árbol causa muchos fallos, BSOD, etc.)
  • pongo A y B causa muchos fallos, BSOD, etc.
  • puse A & C en la PC funciona perfecto (no importa en qué de las cuatro ranuras)
  • puse B & C en la PC funciona perfecto (no importa cuál de las cuatro ranuras)
  • puse A & B & C en la PC causa muchos fallos, BSOD, etc.

Si pruebo dichos módulos en otra PC, todos funcionan realmente bien, sin problemas, sin defectos, etc.

Las cosas pueden volverse realmente locas ... y si no pruebas todas las combinaciones, no puedes saber qué está fallando ... sí, realmente paranoico para probar todas las combinaciones de tres módulos ram en cuatro ranuras ... pero lo que descubrí me dejó ciego ... el módulo solo falla funciona perfecto si hay otro presente pero no si otros dos ... sí, ¡también probé con otros tres y fallé!

Oh, sí, todos de la misma marca, tipo, etc. idénticos ... ¡la única forma de diferenciarlos es una pegatina que les puse para tal! Y sí, comprados al mismo tiempo, vinieron en la misma caja de plástico con cierre de fabricación.

A veces, un fallo de ZFS puede ser causado por RAM ... entonces, no importa cuántos niveles de RaidZ tenga ... puede perderlo todo.

Oh, casi olvídalo ... usa memoria ECC, de lo contrario, no se puede confiar en ZFS. Y no use ningún HDD con caché interna, RAID interno, etc. a menos que esté diseñado para realizar escrituras en el pedido enviado (o hacer todas ellas en un corte de energía).

¡Solo uso discos duros con suficiente capacidad de energía interna para escribir todo su caché en las placas después de una pérdida brusca de energía!

Todos estos puntos / debilidades me permiten con una concusión:

  • Acelera las cosas y haz tus propias copias de seguridad
  • Tener algunas copias 100% fuera de línea y sin energía
  • Tenga algo listo para recibir energía y reemplazar la parte fallida

Es por eso que tengo> 2 PC con> 10 discos duros USB (5 copias ZFS * 3 discos duros cada uno despojado) ... obtuve lo mejor de ambos ... ¡seguridad y velocidad! Pero recibo la peor parte ... necesito sincronizarlos periódicamente ... ¡pero la seguridad de los datos es la parte más importante! Además, no quiero esperar mucho para tales sincronizaciones (también conocido como el trabajo de rayas).

Y si falla una franja de 3 * HDDs ... puedo probar cuál falló de tales tres durante algunas horas / días / semanas ... mientras tengo otro ZFS copie en línea y trabajando ... después de estar seguro de que el otro dos están bien, compro uno nuevo (tal vez 30 a 45 días para llegar) y vuelvo a crear tales 3 * HDDs ZFS y pongo datos para tener esa quinta copia nuevamente.

¡No es nada barato! Pero no como precio del centro de datos principal, por supuesto ... y sin factura de electricidad (la mayoría de los discos duros no tienen alimentación, solo 3 o 6 al mismo tiempo).

Espero que alguien encuentre útil la idea (la uso a diario).

Claudio
fuente