
He notado que las guías sobre zfs+redundancia+rendimiento tienden a enfatizar la duplicación como una buena opción, pero la información de administración de zfs tiende a proporcionar relativamente poca información sobre cómo administrar una configuración duplicada en comparación con una basada en raidz.
Estoy planeando migrar mi grupo zfs desde discos reflejados en Windows. Mi configuración preferida siempre ha sido puramente reflejada y, después de haber examinado zfs, me gustaría conservarla y utilizar la duplicación pura para lograr redundancia en lugar de RAIDZ. Idealmente, cada unidad permanece lógicamente legible de forma aislada, es decir, para 6 discos, los datos se almacenan efectivamente en (1+2+3 mirror) + (4+5+6 mirror)
lugar de ((1+2 stripe) x 3 mirror)
. Aprecio que esto no sería muy eficiente e implicaría tener múltiples grupos/conjuntos de datos más pequeños, pero haber perdido datos antes tiene ventajas que valoro sobre la eficiencia. Probablemente también sea mucho más rápido leyendo y replateando, y mucho más flexible físicamente.
Si quiero ejecutar este tipo de configuración, ¿cuáles son las implicaciones de la duplicación dentro de un vdev versus la duplicación de vdev, y si el almacenamiento se amplía en el futuro agregando un conjunto de 3 discos nuevos, es mejor agregarlos como un grupo separado? ¿O un vdev separado (o 3 vdev separados)?
Respuesta1
En ZFS ustedsiempre tenga redundancia de cualquier tipo a nivel vdev, no puede tenerla a nivel de pool.
Un vdev puede constar de un solo disco (1 disco), discos reflejados (más de 2 discos), banda Z1 (más de 2 discos), banda Z2 (más de 3 discos) o banda Z3 (más de 4 discos). Luego puede crear sus grupos, donde cada grupo está respaldado por más de 1 vdev, y puede tener tantos grupos como desee. Cada grupo utiliza todos los vdev de respaldo sin ninguna redundancia (que se administra en el nivel de vdev) y perder un solo vdev (no el disco) significa que se pierde todo el grupo.
Por lo tanto, si divide sus grupos, básicamente tendrá varios conjuntos RAID1 uno al lado del otro que están completamente separados; la pérdida de un grupo no afecta a los demás, pero obtendrá un menor rendimiento porque todos son RAID1 en lugar de RAID10.
La expansión también tiene esta desventaja: si aumenta su grupo único, será más rápido (al menos para los datos recién escritos, no existe un reequilibrio automático), pero sus posibilidades de falla también aumentan.
Aparte de eso, está la pregunta de si desea tener espejos de 2 o 3 vías para sus vdevs: el de 3 vías es mucho más seguro (hasta el punto de que el de 4 vías es casi inútil), pero más costoso (necesita más discos o tener menos espacio). 3 vías también es un poco más rápido para lecturas, pero la velocidad de escritura no cambia.
Por tanto, se trata de un equilibrio entre coste, rendimiento, seguridad y facilidad de uso.