ZFS encima de iSCSI

ZFS encima de iSCSI

Estoy planeando construir un servidor de archivos usando ZFS y BSD, y esperaba hacerlo más expandible conectando unidades almacenadas en otras máquinas en el mismo rack a través de iSCSI (por ejemplo, una máquina ejecuta ZFS y otras tienen iSCSI). destinos disponibles para ser conectados por el cuadro ZFS y agregados a zpools).

Buscar otras personas que hayan probado esto me ha llevado a recursos sobre cómo exponer recursos compartidos iSCSI sobre ZFS, pero nada sobre lo contrario. Principalmente tengo las siguientes preguntas:

  • ¿Es iSCSI a través de Gigabit Ethernet lo suficientemente rápido para este propósito o tendría que cambiar a 10 GbE para obtener un rendimiento decente?
  • ¿Qué pasaría cuando una de las máquinas que ejecutan destinos iSCSI se desconecta de la red?
  • ¿Existe una mejor manera de hacer esto que simplemente no soy lo suficientemente inteligente como para haberme dado cuenta?

En cuanto a la capacidad, inicialmente esto sería alrededor de 10 TB de datos (sin tener en cuenta la redundancia), y un objetivo razonable para el futuro previsible sería escalar a 20 TB, por lo que con redundancia, probablemente alrededor de 40-50 TB de almacenamiento total. Si es posible, también queremos mantener todos los datos cifrados utilizando GELI.

Gracias por cualquier ayuda.

Respuesta1

¿Cuál es su objetivo en términos de capacidad? Esto definitivamente es posible, ya que ZFS podría ver sus objetivos y agregarlos en grupos. Sin embargo, estás dejando una buena cantidad de rendimiento y confiabilidad sobre la mesa.

Mi recomendación para escalar (según lo que supongo que son sus necesidades de capacidad) es invertir en un gabinete de unidad externa SAS de múltiples rutas y controladores compatibles con ZFS. Si esta es una situación en la que necesita más que decir, los 24 TB de almacenamiento RAID 1+0 utilizable proporcionados porunogabinete externo lleno de discos de 2 TB, entonces está en el ámbito donde se beneficiaría del asesoramiento de diseño de expertos. En ese nivel, iSCSI usando discos presentes en otros sistemas no acelerará las cosas.

El diseño iSCSI fallará por razones de latencia, confiabilidad y compatibilidad.

Respuesta2

En cuanto a su pregunta sobre iSCSI a través de Ethernet, iSCSI es el protocolo más rápido que encontrará. Básicamente es un acceso directo al bloque de disco a través de un cable. Saturará una NIC gigabit decente.

En cuanto a la pérdida de objetivos en la red, (casi) todas las implementaciones de objetivos iSCSI que he visto admiten múltiples rutas de algún tipo. Creo que es posible que open-ietd aún no admita rutas múltiples. En el peor de los casos, estás utilizando un sistema de archivos de diario; es posible que tengas que volver a reproducir el diario cuando el objetivo vuelva a estar en línea. Todavía tengo que corromper un sistema de archivos a través de iSCSI al dejar caer un servidor de almacenamiento.

Respuesta3

Nota: En realidad no he hecho esto, así que tómalo con una pizca de sal. He visto una mención de esto mientras leía sobre ZFS, pero ahora no puedo encontrar estas referencias...

Desea exportar cada disco físico como un LUN independiente para que ZFS tenga visibilidad completa del diseño físico. Esto es necesario para tomar las decisiones correctas sobre la programación y replicación de IO.

¿Es iSCSI a través de Gigabit Ethernet lo suficientemente rápido para este propósito o tendría que cambiar a 10 GbE para obtener un rendimiento decente?

Depende de la velocidad de los discos, cuántos discos hay y qué rendimiento desea lograr. Los discos de 15k RPM pueden transferir hasta 105MiB/s, que son 840Mbit/s. Acceder a más de uno de estos discos a través de un único enlace Gigabit saturará el enlace y convertirá su red en un cuello de botella. Encuentre la velocidad máxima de los discos que desea usar, multiplíquela por la cantidad de discos y obtendrá el ancho de banda de red que necesita para admitirla.

Por supuesto, esto supone que desea obtener el máximo rendimiento posible del servidor ZFS. Si solo tiene un puñado de clientes conectados a más de 100 Mbit/s, esto no es necesario, así que calcule cuál es la demanda máxima que espera. Tenga en cuenta que el ancho de banda de los discos es ligeramente mayor que el ancho de banda del cliente si está utilizando RAIDZ1/2/3 y, por supuesto, si el servidor accede a los discos a través de la misma NIC que los clientes acceden al servidor, este ancho de banda necesita ser compartido.

¿Qué pasaría cuando una de las máquinas que ejecutan destinos iSCSI se desconecta de la red?

ZFS vería que el disco no está disponible. Si está utilizando RAID1/2/3, esto no debería interrumpir el servicio a los clientes. Si ha configurado un repuesto dinámico, ZFS comenzará a resincronizar datos con él. Cuando el objetivo iSCSI regrese, ZFS debería comenzar a usarlo nuevamente, suponiendo que el iniciador se vuelva a conectar automáticamente. (Esto es algo que deberías probar).

información relacionada