ZFS con dos discos: ¿tiene sentido esto? ¿Cuál es la configuración más segura?

12

Estoy en el proceso de planear un servidor de archivos para uso privado (pequeñas cantidades de diversos tipos de datos, pero principalmente fotos, videos, música). Probablemente usaré NAS4free / FreeNAS y quiero probar ZFS.

Mi enfoque no es la velocidad, es la fiabilidad y la seguridad de los datos. Sin embargo, quiero mantener las cosas "baratas", por lo que quiero ejecutar ZFS duplicado entre dos discos (modo 'raid 1'). Voy a comprar una placa de consumo, por lo que no hay controlador de raid de hardware. Hasta ahora, estoy pensando en usar el comando 'espejo' de ZFS para esta o cualquier opción correspondiente que FreeNAS proporcione.

Cuando leo sobre este tema, veo principalmente que las personas usan tres discos y luego usan RAIDZ-1, lo que las hace inmunes en caso de que un disco falle. Lo que no entiendo muy bien hasta ahora es ¿cuál es el problema de tener ZFS duplicado entre dos discos solamente? ¿Cómo me daré cuenta cuando un disco falla? ¿Cuál es la estrategia de failover? Acabo de recibir un mensaje que indica que el sistema de archivos no es utilizable, porque el disco A está fallando y debería reemplazarlo ahora ? Espero que se pueda lograr un beneficio real cuando se ejecutan dos discos duplicados en lugar de usar uno.

Dados dos discos equivalentes, ¿en qué modo ZFS ejecutarías?

Jan-Philip Gehrcke
fuente

Respuestas:

10

Para dos discos, quieres mirror modo. Esto hará que las unidades sean imágenes exactas entre sí. Si ZFS intenta leer un bloque de datos de la unidad y falla la verificación, entonces ZFS intentará repararlo automáticamente. Si la reparación falla, la leerá en la otra unidad y marcará la unidad defectuosa como fallida. Debería recibir una notificación de que una unidad falló, pero el sistema de archivos aún será utilizable. Obtienes algunas mejoras en la velocidad de lectura, pero no mejoras en la velocidad de escritura. Siempre que tenga al menos una unidad de un conjunto de espejos, tiene todos sus datos.

Con raidz, necesitas al menos tres unidades. Funcionan de manera similar a RAID5, donde (efectivamente) una unidad almacena información de recuperación y las otras unidades almacenan datos. Puede manejar cualquier unidad que falle, siempre y cuando solo falla una unidad a la vez .

raidz2 y raidz3 son lo mismo que raidz, excepto que pueden manejar dos o tres unidades fallando, respectivamente. Sin embargo, requieren más unidades para operar y reducir la capacidad efectiva.

Darth Android
fuente
Gracias por la aclaración. Entonces, con RAIDZ incorporando tres unidades, hay una capacidad neta mayor que una de las unidades, ¿sí? ¿Serían dos tamaños de disco en este caso?
Jan-Philip Gehrcke
@ Jan-PhilipGehrcke Sí. Suponiendo que las unidades sean todas del mismo tamaño, una matriz de réplica tiene el mismo tamaño utilizable que 1 unidad (sin importar cuántos discos use), mientras que RAIDZ tiene unidades N-1 de espacio utilizable. (Tres unidades le da dos unidades de espacio utilizable, cinco unidades le da 4 unidades de espacio utilizable, etc.).
Darth Android
2
"Con raidz, necesitas al menos tres unidades". - No es cierto para raidz (paridad única). Según la documentación de ZFS, "Necesita al menos dos discos para una configuración RAID-Z de paridad única y al menos tres discos para una configuración RAID-Z de doble paridad".
Poulsbo
3

El espejo ZFS es el camino a seguir si tiene dos discos similares y busca confiabilidad y seguridad de datos.

RAIDZ es una solución más barata, ya que un menor porcentaje de almacenamiento está dedicado a la seguridad de los datos, pero la duplicación es más rápida.

Sobre la detección y el manejo de fallas, necesita monitorear su grupo ( zpool status ) para saber si hay errores presentes.

Es posible que regularmente limpie su piscina para comprobar su salud ( zpool scrub poolname )

ZFS auto-curará automáticamente aquellos que pueda, pero si falla todo el disco, deberá agregar un nuevo disco al grupo para reemplazar el que está roto. La agrupación luego resilverá automáticamente el nuevo disco (es decir, copiará los datos desde el lado del espejo sano).

No estoy familiarizado con NAS4Free, por lo que solo sugiero los comandos de CLI a usar. La GUI debe proporcionar un extremo delantero para la mayoría o todos ellos.

Tenga en cuenta que los niveles de NAS4Free Raid (0/1/5 y combinación) son diferente ZFS stripes / mirror / raidz y combinación. Yo sugeriría usar solo este último, es decir, no tiene sentido crear una agrupación ZFS en un volumen compuesto por una redada de software 1 (réplica). Perdería muchas características que proporciona ZFS.

jlliagre
fuente
Gracias por tu contribución. Parece que NAS4Free es compatible con las características principales de los grupos de almacenamiento ZFS, como el espejo: wiki.nas4free.org/…
Jan-Philip Gehrcke
Esperemos que lo haga. Solo te estaba advirtiendo que no usaras el reflejo tradicional en su lugar: wiki.nas4free.org/…
jlliagre
0

raid0 no es espejo, raid1 es, y puede usar 2 discos para configurar raid1, que puede tolerar un disco fallido. raid0 no puede tolerar ningún fallo de disco.

Sin embargo, necesitas al menos 3 discos para raidz.

johnshen64
fuente