Tengo 36 * 4TB HDD SAN Rack. El controlador RAID no era compatible con RAID60 y no más de 16 discos duros en un grupo RAID. Así que decidí hacer 2 grupos RAID6 de 16HDD o 4 de 8 HDD. Quiero obtener todo el almacenamiento como una partición.
Entonces, ¿qué podría salir mal si voy a usar el grupo zfs sobre RAID6 de hardware? Sí, sé que es muy recomendable usar discos duros nativos o modo de transferencia. Pero no tengo esta opción.
¿O debería mantenerme alejado de ZFS y las redadas de software en esta situación? (Estoy principalmente interesado en la compresión y las instantáneas)
storage
zfs
storage-area-network
hardware-raid
Severgun
fuente
fuente
Respuestas:
Así que decidí hacer 2 grupos RAID6 de 16HDD o 4 de 8 HDD.
Esa no es la mejor manera de hacer las cosas. Puede funcionar lo suficientemente bien, pero dependiendo de sus requisitos de rendimiento, puede que no.
El tamaño ideal para una matriz RAID5 / 6 será tal que un múltiplo exacto de la cantidad de datos que "abarca" la matriz coincida con el tamaño de bloque del sistema de archivos construido encima.
Las matrices RAID5 / 6 funcionan como dispositivos de bloque: un solo bloque de datos abarca los discos de la matriz, y ese bloque también contiene datos de paridad. La mayoría de los controladores RAID escribirán una porción de datos del tamaño de una potencia de dos en cada disco de la matriz, cuyo valor exacto es configurable en mejores sistemas RAID, y su unidad Dot Hill es uno de esos "mejores sistemas RAID". Eso es importante.
Por lo tanto, se necesita N x (cantidad de datos almacenados por porción de disco) para abarcar la matriz, donde N es el número de discos de datos. Una matriz RAID5 de 5 discos tiene 4 discos de "datos", y una matriz RAID6 de 10 unidades tiene 8 discos de datos.
Porque cuando los datos se escriben en una matriz RAID5 / 6, si el bloque de datos es lo suficientemente grande como para abarcar toda la matriz, la paridad se calcula para esos datos, generalmente en la memoria del controlador, entonces la franja completa se escribe en disco. Simple y rápido.
Pero si la porción de datos que se está escribiendo no es lo suficientemente grande como para abarcar toda la matriz, ¿qué tiene que hacer el controlador RAID para calcular los nuevos datos de paridad? Piénselo: necesita todos los datos en toda la franja para volver a calcular los nuevos datos de paridad.
Entonces, si crea una matriz RAID6 de 16 unidades con la porción por disco predeterminada de 512kb, eso significa que se necesitan 7 MB para "abarcar" la matriz.
ZFS funciona en bloques de 128 kb, en general.
Entonces ZFS escribe un bloque de 128kB, en una matriz RAID6 de 16 unidades. En la configuración que está proponiendo, eso significa que el controlador RAID necesita leer casi 7 MB de la matriz y volver a calcular la paridad en esos 7 MB. Luego, vuelva a escribir esos 7 MB completos en el disco.
Si tienes suerte, todo está en caché y no recibes un gran impacto en el rendimiento. (Esta es una de las principales razones por las que la posición "no usar RAID5 / 6" tiene ese siguiente seguimiento: RAID1 [0] no sufre esto).
Si no tiene suerte y no alineó correctamente sus particiones del sistema de archivos, ese bloque de 128kB abarca dos bandas RAID que no están en caché, y el controlador necesita leer 14 MB, recalcular la paridad y luego escribir 14 MB. Todo para escribir un bloque de 128kB.
Ahora, eso es lo que debe suceder lógicamente . Hay muchas optimizaciones que los buenos controladores RAID pueden tomar para reducir el IO y la carga computacional de tales patrones de IO, por lo que podría no ser tan malo.
Pero bajo la gran carga de escribir bloques de 128kB en ubicaciones aleatorias, hay una muy buena posibilidad de que el rendimiento de una matriz RAID6 de 16 unidades con un tamaño de banda de 7 MB sea absolutamente terrible.
Para ZFS, los LUN RAID5 / 6 subyacentes "ideales" para un sistema de archivos de propósito general donde la mayoría de los accesos son efectivamente aleatorios tendrían un tamaño de franja que es un divisor par de 128kB, como 32kB, 64kB o 128kB. En este caso, eso limita el número de discos de datos en una matriz RAID5 / 6 a 1 (lo cual no tiene sentido, incluso si es posible configurarlo, es mejor usar RAID1 [0]), 2, 4 u 8. Mejor rendimiento en el mejor de los casos sería usar un tamaño de banda de 128kB para las matrices RAID5 / 6, pero el mejor de los casos no ocurre a menudo en los sistemas de archivos de propósito general, a menudo porque los sistemas de archivos no almacenan los metadatos de la misma manera que ellos almacenar datos de archivo.
Recomiendo configurar matrices RAID5 de 5 discos o matrices RAID6 de 10 discos, con un tamaño de fragmento por disco lo suficientemente pequeño como para que la cantidad de datos para abarcar una franja de matriz completa sea de 64kB (sí, lo he hecho antes para ZFS - muchas veces). Eso significa que para una matriz RAID con 4 discos de datos, el tamaño del fragmento por disco debe ser de 16kB, mientras que para una matriz RAID de 8 discos de datos, el tamaño del fragmento por disco debe ser de 8kB.
Luego permita que ZFS use toda la matriz; no la particione. ZFS se alineará correctamente con una unidad completa, ya sea que se trate de un disco simple o una matriz RAID presentada por un controlador RAID.
En este caso, y sin conocer sus requisitos exactos de espacio y rendimiento, recomendaría configurar tres conjuntos RAID6 de 10 unidades o seis conjuntos RAID5 de 5 unidades con un tamaño de banda de 64kB, configurar un par de repuestos dinámicos y guardar cuatro de sus discos para lo que surja en el futuro. Porque algo lo hará.
Ciertamente, no usaría ese sistema de disco en modo JBOD: es un dispositivo totalmente compatible con el Nivel 3 de NEBS que proporciona protecciones significativas de confiabilidad y disponibilidad integradas directamente en el hardware. No tire eso solo porque "ZFS !!!!". ¿Si se trata de una pieza barata de hardware que se ensambla a partir de piezas? Sí, el modo JBOD con ZFS manejando el RAID es el mejor, pero ese NO es el hardware que tienes. USE las características que proporciona el hardware.
fuente
Ok, voy a morder ...
Este es el hardware incorrecto para la aplicación. La configuración de DotHill tiene las mismas limitaciones que un HP StorageWorks MSA2000 / P2000, ya que solo se pueden usar 16 unidades en una sola agrupación de arreglos.
ZFS sobre RAID de hardware o un SAN LUN exportado no es necesariamente un problema.
Sin embargo, la separación de los LUN ZFS sobre interconexiones desconocidas, a través del chasis de expansión puede presentar algún riesgo.
En serio, puede valer la pena evaluar si necesita todo este almacenamiento en un solo espacio de nombres ...
Si necesita ese tipo de capacidad en un solo montaje, debe usar un gabinete JBOD conectado a HBA dedicado y posiblemente múltiples unidades principales con cableado resistente y un diseño más inteligente.
fuente
Debe conectar DIRECTAMENTE todas las unidades a una caja que ejecute ZFS. Obtenga un HBA SAS y conecte las unidades a la caja compatible con ZFS (por ejemplo, ejecutando OmniOS o SmartOS). Luego puede compartir el espacio a través de NFS, SMB, iScsi ...
fuente
La razón por la que ZFS además de los volúmenes lógicos HW RAID es una idea MUY MALA es porque ZFS requiere acceso a nivel de bloque para funcionar realmente correctamente. Sí, será utilizable, pero la funcionalidad no estará completa hasta que conecte las unidades directamente al sistema operativo a través de un HBA o conexiones SATA directas. Un ejemplo es que en la configuración que está proponiendo, ZFS no puede proteger razonablemente sus datos contra los cambios en los datos a continuación (en el otro lado del controlador RAID HW) y, como tal , no puede garantizar la seguridad de sus datos . Esta es una de las razones principales por las que se usa ZFS, además de ser súper rápido.
ZFS es una tecnología increíble, y lo recomiendo altamente. Pero tendrá que volver a visitar su estructura aquí para poder usarla correctamente. Es decir, hacer que ZFS cree los volúmenes lógicos (vdevs) directamente desde los discos.
Parece que hay muchas más lecturas que debe hacer sobre cómo funciona ZFS antes de que pueda comprender con precisión lo que ha propuesto, en contraste con lo que realmente debería hacerse.
fuente