¿Aumentar la fiabilidad al particionar discos de diferente tamaño?

8

Entiendo que ZFS preferiría que todos los discos tengan el mismo tamaño. Sin embargo, en el caso de que tenga dos discos con diferentes tamaños (1TB y 1.5TB), me gustaría tener cierta redundancia, pero no duplicación. Así que corté dos discos en 5 particiones, con cada partición de aproximadamente 500 GB y creo un grupo "raidz" ... felizmente obligado. ¿La configuración realmente aumenta la confiabilidad? La idea es que si un disco no se rompe por completo y solo una parte falla, ¿puedo acceder a los datos?

python152
fuente
55
Esto no agrega confiabilidad y degrada el rendimiento.
Michael Hampton
1
La mayoría de las respuestas / comentarios que recibí no fueron lo suficientemente profundas como para razonar por qué. El simple "contra las mejores prácticas" o "discos iguales simplemente tienen sentido común" en realidad no significa mucho para mí. Obviamente, dados estos discos peculiares que tengo, no busco lo mejor de lo mejor en términos de confiabilidad y rendimiento. Estoy preguntando qué se puede hacer dado lo que tengo. Además, las cosas cambian: en el libro de "Master FreeBSD ZFS" ... los autores dicen claramente en los viejos tiempos / solaris, el aprovisionamiento de disco completo se consideraba crucial, ahora no lo es. El aprovisionamiento basado en particiones es tan bueno o incluso alentado.
python152
Especialmente para la redundancia basada en la paridad, no existe un requisito absoluto sobre el mismo tamaño (recuerdo vagamente que el libro zfs también decía que la misma unidad de capacidad de diferentes proveedores termina con un tamaño diferente). Depende de cómo el algoritmo de colocación de datos ZFS elige manejar eso para equilibrar la distribución de los bits de paridad y equilibrar el rendimiento.
python152
@ python152 Siempre depende de si puedes vivir con las desventajas (ZFS es realmente bastante flexible, las mejores prácticas son recomendaciones, no reglas). Si puede aceptar el tiempo de inactividad y tiene confianza en la administración de particiones, reemplazar discos parcialmente defectuosos no es tan crítico, por ejemplo. Todavía desconfiaría del agujero de escritura RAID5, que existe independientemente de si su hardware de respaldo son discos, particiones o incluso archivos.
user121391
1
@ user121391 ZFS raidz no sufre el agujero de escritura RAID5. Ver blogs.oracle.com/bonwick/entry/raid_z y pthree.org/2012/12/05/zfs-administration-part-ii-raidz
nickcrabtree

Respuestas:

3

La idea es que si un disco no se rompe por completo y solo una parte falla, ¿puedo acceder a los datos?

En teoría, este pensamiento es correcto. Siempre que encuentre un error en un solo dispositivo de su RAIDZ1 vdev, ZFS puede y le informará y corregirá el error, suponiendo que los otros dispositivos estén libres de errores.

Lo que puede diferir en realidad son varias cosas:

  • Los errores pueden extenderse sobre las particiones y, por lo tanto, dos o más dispositivos se verán afectados, lo que puede provocar errores irrecuperables o incluso la pérdida de todo el grupo (según la ubicación y la cantidad de errores). Podría usar RAIDZ2 o Z3 para mitigar esto, pero el problema siempre está ahí.
  • Mientras recupera una partición, el disco necesita leer (2 veces) y escribir (1 vez) en el mismo disco de manera simultánea y aleatoria. A menos que use Solaris 11.3 con recuperación secuencial, esto será muy, muy lento. Hasta que haya terminado con el proceso de recuperación, es vulnerable a errores en las otras particiones. Si su tiempo de recuperación es más largo, aumenta su probabilidad de encontrar un URE adicional. También coloca una carga adicional en la unidad, lo que aumenta la posibilidad de falla completa de la unidad.
  • Imagine que su tercera partición (la última en el disco de 1.5TB) muestra suficientes errores para degradar el grupo y solicitar un reemplazo. Si no puede agregar otro disco, no puede hacer un reemplazo sin apagar / exportar, e incluso entonces es más complicado de lo habitual.

Basado en esos puntos, recomendaría no hacer esto si la confiabilidad es su objetivo principal. Suponiendo una situación de hardware fija, haría uno de los siguientes:

  1. Use espejos y pierda 500 GB, pero obtenga una configuración simple con capacidad de expansión fácil en el futuro
  2. Use dos grupos separados y copies = 2si desea algo de resistencia contra errores más pequeños (la falla completa del disco solo mataría 2/5 o 3/5 de sus datos en comparación con su configuración)
  3. Use otros sistemas de archivos que no sean ZFS si desea tener su pastel y comérselo también
usuario121391
fuente
5

Lo que estás describiendo es un poco hortera.

ZFS quiere discos completos de igual tamaño y capacidad. Esto es crítico por una variedad de razones, pero también tiene sentido común.

Todo lo que haría en la situación que describió es agregar complejidad al medio ambiente y aumentar su riesgo.

ewwhite
fuente
1
Sin mencionar la reducción del rendimiento.
Michael Hampton
@MichaelHampton ¿Cómo es eso?
gato
2
@cat Porque ZFS cree que tienes cinco husos, cuando en realidad tienes dos.
Michael Hampton
4

Pongámoslo de esta manera:

  • Si tiene 1 TB de datos en el disco uno, puede replicarlo en el disco dos y puede permitirse perder cualquiera de los discos.

  • Si tiene 1,5 TB de datos en el disco dos, puede replicar solo los primeros 1 TB de datos en el disco uno. En este escenario, si el disco dos falla, PERDERÁ datos.

ZFS es muy capaz, pero como regla general, según los dos puntos anteriores, las configuraciones de discos mixtos son tontas y no son muy útiles. Si le preocupa la confiabilidad y la redundancia, imagine que el segundo disco también tiene solo 1 TB.

Benny Mackney
fuente
44
Pongo este bit en un comentario porque no creo que realmente encaje en una "respuesta" como tal, pero si realmente quisieras usar todo el espacio en tus discos, configuraría un espejo de 1TB, y luego use los últimos 500 GB como un volumen regular no replicado para el espacio temporal y los archivos temporales que realmente no me interesan (como la carpeta de descargas de mi navegador; es bueno tener cosas viejas almacenadas en caché allí, pero no hay nada que realmente me gustaría señorita si lo perdí).
Benny Mackney el