Obviamente, si toda la unidad muere, entonces RAID-Z en un solo disco no ayudará. Pero, ¿qué pasa con otros tipos de errores?
Desde mi experiencia, a veces tengo un archivo que no puedo leer. En Mac OS X, el sistema se bloqueará por un período de tiempo y luego regresará con un error. Muevo el archivo en algún lugar fuera del camino, y supongo que ese archivo tiene un sector defectuoso o un bloque defectuoso o tal vez incluso una pista defectuosa completa.
Me remonto a los días de los disquetes, donde administrar sus fallas de disco a mano era solo una actividad común. Por supuesto, reemplazaría el disquete defectuoso lo antes posible, pero a veces no podría hacerlo de inmediato, por lo que la práctica consistía en encontrar el área defectuosa, asignarla a un archivo y luego nunca eliminar ese archivo.
La primera pregunta es ¿cómo fallan los discos duros? ¿Son válidos mis supuestos anteriores? ¿Es cierto que un bloque defectuoso falla pero toda la unidad todavía es usable? Si ese es el caso, entonces parece que RAID-Z podría reparar el bloque defectuoso o el área defectuosa del disco utilizando la paridad de los otros bloques (áreas).
El caso de uso es para copia de seguridad. Si transfiero los datos a un disco de 8 TB una vez a la semana, ¿tendría sentido considerarlo como un disco de datos de 7 TB más 1 TB de paridad con la esperanza de que la paridad adicional me ayude a recuperar la putrefacción de bits, sectores defectuosos o otras fallas localizadas del disco?
Si la teoría no tiene fallas técnicas, ¿se puede configurar ZFS para hacer esto?
Editar: vi la otra pregunta antes de publicar esta pregunta. Dividir en particiones separadas donde cada partición se agrupa es una opción. Pero en concepto, podría ser posible tener el mapa de bloques para las N particiones entrelazadas entre sí para que una franja, mientras que lógicamente estaría a través de N, las particiones estarían físicamente muy juntas. Esta fue la esencia de mi pregunta "¿se puede configurar ZFS para hacer esto?" es decir, solo ZFS ... no ZFS con trucos de particiones.
copies=2
, pero incurrirá en una penalización de almacenamiento del 50% al hacerlo. Además, no soy un experto en ZFS, pero mi intuición (que puede estar equivocada) me dice que ZFS no estaría contento con su solución propuesta. PAR2 es una tecnología madura y flexible. Usarlo no solo satisfaría su requisito de paridad, sino que también le permitiría establecer la cantidad de paridad por archivo si lo desea.Respuestas:
Dado que la paridad RAID-Z funciona al tener el bloque de paridad en otro dispositivo en el grupo, debe dividir su dispositivo en N + 1, N + 2 o N + 3 particiones de igual tamaño, donde N particiones contienen los datos y 1/2 contener los bits de paridad.
Además de estas particiones, crearía un zpool, con RAID-Z que haya seleccionado, y luego crearía un sistema de archivos en el zpool.
Entonces, en teoría esto funciona. En la práctica, esto haría que el rendimiento del sistema de archivos fuera terrible, ya que los consiguientes bloques en los archivos se ubicarían en diferentes dispositivos ZPool, que están en diferentes particiones. Entonces, después de leer un bloque, el HDD debe moverse a un área diferente de los platos del HDD, leer el siguiente bloque, etc.
La respuesta es: Sí, sería estúpido.
fuente