Estamos considerando construir un servidor de almacenamiento de ~ 16 TB. Por el momento, estamos considerando tanto ZFS como XFS como sistema de archivos. ¿Cuáles son las ventajas, desventajas? ¿Qué tenemos que buscar? ¿Hay una tercera mejor opción?
Estamos considerando construir un servidor de almacenamiento de ~ 16 TB. Por el momento, estamos considerando tanto ZFS como XFS como sistema de archivos. ¿Cuáles son las ventajas, desventajas? ¿Qué tenemos que buscar? ¿Hay una tercera mejor opción?
Respuestas:
He encontrado que XFS es más adecuado para sistemas de archivos extremadamente grandes con posiblemente muchos archivos grandes. He tenido un sistema de archivos XFS 3.6TB en funcionamiento durante más de 2 años sin problemas. Definitivamente funciona mejor que ext3, etc. a ese tamaño (especialmente cuando se trata de muchos archivos grandes y muchas E / S).
Lo que obtienes con ZFS es la agrupación de dispositivos, la creación de bandas y otras características avanzadas integradas en el propio sistema de archivos. No puedo hablar con detalles (dejaré que otros comenten), pero por lo que puedo decir, querrás usar Solaris para obtener el mayor beneficio aquí. Tampoco me queda claro cuánto ayuda ZFS si ya está utilizando RAID de hardware (como yo).
xfs_fsr
"desfragmentación".
ZFS le dará ventajas más allá de RAID de software. La estructura del comando está muy bien diseñada e intuitiva. También tiene compresión, instantáneas, clonación, envío / recepción del sistema de archivos y dispositivos de caché (esas unidades SSD nuevas y elegantes) para acelerar la indexación de metadatos.
Compresión:
#zfs set compression=on filesystem/home
Admite instantáneas simples de copiar y escribir que se pueden montar en vivo:
# zfs snapshot filesystem/home/user@tuesday
# cd filesystem/home/user/.zfs/snapshot/tuesday
Clonación del sistema de archivos:
# zfs clone filesystem/home/user@tuesday filesystem/home/user2
Sistema de archivos enviar / recibir:
# zfs send filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"
Envío / recepción incremental:
# zfs send -i filesystem/home/user@tuesday | ssh otherserver "zfs receive -v filesystem/home/user"
Dispositivos de almacenamiento en caché:
# zpool add filesystem cache ssddev
Todo esto es solo la punta del iceberg. Recomiendo encarecidamente tener una instalación de Open Solaris y probar esto.
http://www.opensolaris.org/os/ TryOpenSolaris/
Editar : Esto es muy antiguo, Open Solaris ha sido descontinuado, la mejor manera de usar ZFS es probablemente en Linux o FreeBSD .
Divulgación completa: solía ser un arquitecto de almacenamiento de Sun, pero no he trabajado para ellos en más de un año, solo estoy entusiasmado con este producto.
http://opensolaris.org/os/TryOpenSolaris/
El uso de instantáneas lvm y xfs en sistemas de archivos en vivo es una receta para el desastre, especialmente cuando se utilizan sistemas de archivos muy grandes.
He estado ejecutando exclusivamente en LVM2 y xfs durante los últimos 6 años en mis servidores (en casa, incluso porque zfs-fuse es demasiado lento) ...
Sin embargo, ya no puedo contar los diferentes modos de falla que encontré al usar instantáneas. He dejado de usarlos por completo, es demasiado peligroso.
La única excepción que haré ahora es mi propia copia de seguridad personal del servidor de correo / servidor web, donde haré copias de seguridad durante la noche utilizando una instantánea efímera, que siempre es igual al tamaño de la fuente fs, y se elimina inmediatamente después.
Aspectos más importantes a tener en cuenta:
Un par de cosas adicionales para pensar.
Si una unidad muere en una matriz RAID de hardware, independientemente del sistema de archivos que se encuentre encima, todos los bloques del dispositivo deben reconstruirse. Incluso los que no tenían ningún dato. ZFS, por otro lado, es el administrador de volúmenes, el sistema de archivos, y gestiona la redundancia de datos y la creación de bandas. Por lo tanto, puede reconstruir de manera inteligente solo los bloques que contenían datos. Esto da como resultado tiempos de reconstrucción más rápidos que cuando el volumen está 100% lleno.
ZFS tiene depuración en segundo plano que asegura que sus datos permanezcan consistentes en el disco y repara cualquier problema que encuentre antes de que se pierda la información.
Los sistemas de archivos ZFS siempre están en un estado coherente, por lo que no hay necesidad de fsck.
ZFS también ofrece más flexibilidad y características con sus instantáneas y clones en comparación con las instantáneas ofrecidas por LVM.
Haber ejecutado grandes agrupaciones de almacenamiento para la producción de video de gran formato en una pila Linux, LVM, XFS. Mi experiencia ha sido que es fácil caer en la microgestión de su almacenamiento. Esto puede generar grandes cantidades de espacio asignado no utilizado y tiempo / problemas con la administración de sus volúmenes lógicos. Esto puede no ser un gran problema si tiene un administrador de almacenamiento a tiempo completo cuyo trabajo es micro-administrar el almacenamiento. Pero descubrí que el enfoque de almacenamiento en grupo de ZFS elimina estos problemas de administración.
ZFS es absolutamente asombroso. Lo estoy usando como mi servidor de archivos doméstico para un servidor de archivos HD de 5 x 1 TB, y también lo estoy usando en producción con casi 32 TB de espacio en el disco duro. Es rápido, fácil de usar y contiene la mejor protección contra la corrupción de datos.
Estamos utilizando OpenSolaris en este servidor en particular porque queríamos tener acceso a las funciones más nuevas y porque proporcionaba el nuevo sistema de administración de paquetes y la forma de actualización.
¿Qué sistema operativo planea ejecutar? ¿O es esa otra parte de la consideración? Si está ejecutando Solaris, XFS ni siquiera es una opción que yo sepa. Si no está ejecutando Solaris, ¿cómo planea usar ZFS? El soporte es limitado en otras plataformas.
Si está hablando de un servidor Linux, me quedaría con Ext3 personalmente, aunque solo sea porque recibe la mayor cantidad de pruebas. zfs-fuse todavía es muy joven. Además, tuve problemas con XFS una vez, cuando un error causó daños en los datos después de una actualización del kernel. Las ventajas de XFS sobre Ext3 definitivamente no superaron los costos involucrados en la restauración de la máquina, que se encontraba en un centro de datos remoto.
No creo que debas enfocarte en el rendimiento. ¿Sus datos están seguros con XFS, ext4, etc.? No. Lea estas tesis doctorales y trabajos de investigación:
XFS no es seguro contra la corrupción de datos: pages.cs.wisc.edu/~vshree/xfs.pdf
Y tampoco lo es ext3, JFS, ReiserFS, etc.: zdnet.com/blog/storage/how-microsoft-puts-your-data-at-risk/169?p=169&tag=mantle_skin%3bcontent "Encontré la fascinante tesis doctoral de Vijayan Prabhakaran, IRON File Systems, que analiza cómo cinco sistemas de archivos de registro de diario de productos básicos (NTFS, ext3, ReiserFS, JFS y XFS) manejan los problemas de almacenamiento.
En pocas palabras, descubrió que todos los sistemas de archivos tienen
. . . failure policies that are often inconsistent, sometimes buggy, and generally inadequate in their ability to recover from partial disk failures. "
Pero ZFS protege con éxito sus datos. Aquí hay un trabajo de investigación sobre esto: zdnet.com/blog/storage/zfs-data-integrity-tested/811
No es una respuesta orientada al FS, lo siento, pero tenga en cuenta que varios controladores de disco no manejarán> 2TB LUNS / discos lógicos; esto puede limitar la forma en que organiza su almacenamiento un poco. Solo quería que estuvieras al tanto para que puedas verificar tu sistema de extremo a extremo para asegurarte de que lidie con 16 TB en todo momento.
Depende de las características que desee ..., las dos opciones razonables son xfs y zfs como ha dicho, el código xfs está bastante bien probado. Lo usé por primera vez hace 8 años bajo IRIX
Es posible obtener instantáneas de xfs (usando lvm y xfs_freeze)
Es posible tener un dispositivo de registro separado, por ejemplo, SSD
mkfs.xfs -l logdev=/dev/sdb1,size=10000b /dev/sda1
Las xfs grandes tradicionalmente necesitan mucha memoria para verificar
El problema con la aparición de ceros era una función de "seguridad", que creo que desapareció hace un tiempo.
Además de lo que ya se mencionó, desde el punto de vista del rendimiento, xfs en la incursión de la base MD funciona mejor que zfs en los medios de transmisión. He usado exactamente el mismo hardware durante media década con xfs y casi la misma cantidad de tiempo con zfs en mi servidor de medios. En el Intel Atom 330 con xfs nunca experimento más, en zfs en escenas complejas el mismo hardware no puede mantener el ritmo y comienza a soltar cuadros.
Bueno chicos, no nos olvidemos de la última incorporación a zfs: deduplicación. Y hablemos sobre el compartir iscsi, nfs o smb sobre la marcha. Como ya han dicho otros, las exportaciones de sistemas de archivos zfs, instantáneas, suma de verificación de bloque raidz (= raid5), ancho de banda dinámico, gestión de caché y muchos otros. Yo voto por zfs.