Pregunta Servidor de archivos - Configuración de almacenamiento: RAID vs LVM vs ZFS algo más ...?


Somos una pequeña empresa que hace edición de video, entre otras cosas, y necesitamos un lugar para guardar copias de seguridad de archivos de medios grandes y facilitar su uso compartido.

Tengo una caja configurada con Ubuntu Server y 4 unidades de 500 GB. Actualmente están configurados con Samba como cuatro carpetas compartidas que las estaciones de trabajo Mac / Windows pueden ver bien, pero quiero una mejor solución. Hay dos razones principales para esto:

  1. 500 GB no es lo suficientemente grande (algunos proyectos son más grandes)
  2. Es complicado administrar la configuración actual, ya que los discos duros individuales tienen diferentes cantidades de espacio libre y datos duplicados (para copias de seguridad). Es confuso ahora y eso solo empeorará una vez que haya varios servidores. ("El proyecto está en Sever2 en Share4", etc.)

Por lo tanto, necesito una forma de combinar los discos duros de tal manera que se evite la pérdida completa de datos con la falla de una sola unidad, y así los usuarios solo ven un recurso compartido en cada servidor. He hecho el software de Linux RAID5 y tuve una mala experiencia con él, pero lo intentaría de nuevo. LVM se ve bien, pero parece que nadie lo usa. ZFS parece interesante pero es relativamente "nuevo".

¿Cuál es la forma más eficiente y menos arriesgada de combinar los discos duros que sean convenientes para mis usuarios?


Edición: el objetivo aquí es básicamente crear servidores que contengan un número arbitrario de discos duros pero que limiten la complejidad desde la perspectiva del usuario final. (es decir, ven una "carpeta" por servidor) La copia de seguridad de los datos no es un problema aquí, pero la forma en que cada solución responde al fallo del hardware es un problema grave. Es por eso que agrupo RAID, LVM, ZFS y quién sabe qué juntos.

Mi experiencia previa con RAID5 también estaba en una caja de Ubuntu Server y había una serie de circunstancias difíciles e improbables que llevaron a la pérdida completa de datos. Pude evitar ese de nuevo, pero me quedé con la sensación de que estaba agregando un punto de falla adicional innecesario al sistema.

No he usado RAID10, pero estamos en el hardware básico y la mayoría de las unidades de datos por caja están prácticamente fijas en 6. Tenemos una gran cantidad de unidades de 500 GB y 1.5 TB es bastante pequeño. (Sin embargo, sigue siendo una opción para al menos un servidor)

No tengo experiencia con LVM y he leído informes conflictivos sobre cómo maneja la falla de la unidad. Si una configuración de LVM (sin franjas) pudiera manejar una sola unidad que fallara y solo perdiera la cantidad de archivos que tenía una parte almacenada en esa unidad (y almacenó la mayoría de los archivos en una sola unidad) incluso podríamos vivir con eso.

Pero siempre que tenga que aprender algo totalmente nuevo, puedo ir a ZFS. Sin embargo, a diferencia de LVM, también tendría que cambiar mi sistema operativo (?) Para que aumente la distancia entre donde estoy y donde quiero estar. Aunque utilicé una versión de solaris en la universidad y no me importaría demasiado.

En el otro extremo del espectro de TI, creo que también puedo explorar FreeNAS y / o Openfiler, pero eso realmente no resuelve el problema de cómo combinar unidades.


30
2018-05-27 18:04


origen


ZFS en realidad solo se considera una opción de producción estable y lista para Solaris / OpenSolaris (aunque algunas personas discutirán incluso con su disposición allí). - Christopher Cashell
Otra nota con respecto a LVM. . . deja de pensar en ello en términos de redundancia y fallo de disco. LVM nunca debe saber sobre fallas de disco, ya que debe manejarse en un nivel inferior (RAID). LVM le brinda la capacidad de administrar y particionar sus discos de una manera más limpia y flexible, pero no agrega redundancia y maneja un fallo de disco de la misma manera que lo hace una partición que no es LVM (explota). - Christopher Cashell


Respuestas:


LVM es en realidad muy utilizado. Básicamente, LVM se encuentra sobre la capa de hardware (controlador). No agrega ninguna redundancia ni mayor confiabilidad (se basa en el sistema de almacenamiento subyacente para manejar la confiabilidad). En su lugar, proporciona mucha flexibilidad adicional y características adicionales. LVM nunca debería ver un disco desaparecer o fallar, ya que la falla del disco debe ser manejada por RAID (ya sea software o hardware). Si pierde un disco y no puede continuar operando (reconstruir el RAID, etc.), debería ir a las copias de seguridad. Tratar de recuperar datos de una matriz incompleta nunca debería ser necesario (si es así, debe volver a evaluar todo su diseño).

Entre las cosas que obtiene con LVM está la capacidad de aumentar y reducir fácilmente las particiones / sistemas de archivos, la capacidad de asignar dinámicamente nuevas particiones, la capacidad de crear instantáneas de particiones existentes y montar las instantáneas como particiones de solo lectura o de escritura. Las instantáneas pueden ser increíblemente útiles, particularmente para cosas como copias de seguridad.

Personalmente, uso LVM para cada partición (excepto / boot) en cada caja que construyo, y lo he estado haciendo durante los últimos 4 años. Tratar con cajas que no son LVM es un gran problema cuando desea agregar o modificar el diseño de su disco. Si estás usando Linux, definitivamente quieres usar LVM. [Nota: este tema anterior en LVM se ha actualizado para explicar mejor qué es y cómo se ajusta a la ecuación de almacenamiento.]

En cuanto a RAID, no hago servidores sin raid. Con precios de disco tan baratos como son, iría con RAID1 o RAID10. Más rápido, más sencillo y mucho más robusto.

Sin embargo, honestamente, a menos que esté casado con Ubuntu (que yo recomendaría normalmente), o si la caja está realizando otras tareas, es posible que desee examinar OpenFiler. Convierte su caja en un dispositivo de almacenamiento con una interfaz web y manejará todos los RAID / LVM / etc, y le permitirá exportar el almacenamiento como SMB, NFS, iSCSI, etc.


24
2018-05-27 18:21



Yo segundo la sugerencia de OpenFiler. Parece que uno nunca puede mantenerse al día con la cantidad de espacio en disco necesario, y separar el Servidor de los Datos puede hacer que la experiencia del usuario final y la administración sean mucho más fáciles y mejores. Hay una razón por la que Netapp ha tenido tanto éxito. Sugeriría seguir ese modelo. - pcapademic
Busqué brevemente en freeNAS ... ¿alguna razón para elegir OpenFiler? - privatehuff
Cuando comencé a jugar con ellos hace un par de años, OpenFiler parecía más estable, tenía más características, tenía mejor soporte para controladores y estaba en desarrollo más activo. Decidí darle una oportunidad, y funcionó muy bien para mí. Sinceramente, no he mirado FreeNAS desde entonces. Puede ser que FreeNAS haya alcanzado a OpenFiler, pero no lo sé. - Christopher Cashell
He estado usando FreeNAS para objetivos SMB e iSCSI y ha sido brillante, nunca perdí ni un latido. Por otro lado, no he evaluado OpenFiler, así que no tengo idea de cómo se compara - Mark Henderson♦


ZFS es realmente confiable y seguro que hace que la administración de su almacenamiento sea mucho más fácil. Como beneficio adicional: smb se integra con ZFS en OpenSolaris y maneja Raid muy bien. Espere unos días, descargue la versión 2009.6 lanzada para entonces y pruébelo en una máquina de prueba. Estoy seguro de que te encantará ZFS.

Y sobre tu comentario ZFS es nuevo: ¡ya no es muy nuevo!


10
2018-05-27 18:09



"Nuevo" significaba principalmente para mí, y solo que no había escuchado sobre eso ni jugado con él durante años, etc. ¿Pero entonces, necesito estar ejecutando OpenSolaris para usar ZFS? - privatehuff
He escuchado que hay soporte en otros Unixes, para ZFS. - Brad Gilbert
Si necesita ZFS, lo necesita en OpenSolaris. Las implementaciones en Linux se realizan a través del espacio de usuario y, como resultado, están sujetas a sobrecarga de rendimiento y políticas de caché en conflicto. - jldugger
El soporte de ZFS en otros sistemas operativos carece gravemente de funcionalidad. Y realmente, OpenSolaris es un sistema operativo realmente bueno, pero por favor use el OpenSolaris real. zfs set sharesmb = en backup / share1 realmente agradable integración. - Wijnand


La pregunta central es: "¿Qué importancia tiene esta información?"

Si la respuesta es "Puedo recrearlo fácilmente", desea RAID5, posiblemente con LVM por encima para simplificar la administración.

Si la respuesta es "Puedo recrearlo pero tomaría un tiempo y la gente se quejaría", usted querrá RAID 6 o, más probablemente, RAID 1/10.

Si la respuesta es "Nadie hace ningún trabajo mientras lo reconstruyo y me aseguro de que sea perfecto" quieres ZFS / Raid-Z

Ten en cuenta que siempre puedes recrearlo. RAID no es una copia de seguridad.


8
2018-05-27 18:35



"Si la respuesta es" Nadie hace ningún trabajo mientras lo recreado y me aseguro de que sea perfecto "quieres ZFS / Raid-Z" Esta declaración muestra que no sabes nada sobre ZFS o RAID en general. Cada sistema que involucra intentos de redundancia de bloques sufre impactos de rendimiento durante la reconstrucción. - jharley
Iba por la importancia de los datos más que las características de rendimiento relativas. La degradación durante la reconstrucción también es importante, por supuesto, pero no es lo que estaba tratando. - user2108
¿Cómo RAID-Z o RAIDZ2 proporcionan una mejor redundancia que RAID6? Ambos manejan cualesquiera 2 discos que fallan en una matriz como máximo. Además, RAID10 maneja un segundo disco defectuoso que no es tan bueno como RAID6 porque necesita el disco correcto para fallar, no cualquiera de los restantes. El rendimiento es mucho mejor con RAID10 que con RAID6. Nota al margen: Linux 2.6.30 está fuera y le permite migrar desde RAID1 -> RAID5 <-> RAID6 == ¡genialidad! - serverhorror


Para conectar muchas unidades en el mismo chasis, una controladora RAID de hardware es la mejor herramienta. Proporcionará muchos conectores SATA para sus unidades, redundancia a través de RAID-5 o preferiblemente RAID-6, y mayo proporcionar un mejor rendimiento también.

El rendimiento del software RAID a menudo es mejor que el hardware RAID en los puntos de referencia, sin embargo, el servicio de archivos y el software RAID son intensivos en CPU y compiten por sus procesadores mientras trabajan. Mi experiencia muestra que, a menos que use sistemas de cuatro núcleos dobles, el hardware RAID configurado correctamente vencerá al software RAID sin más.

Buenos controladores de hardware con buen soporte de linux:

  • Areca
  • 3Ware
  • La nueva serie de Adaptec (las antiguas son slooooow)
  • LSI MegaRAID

5
2018-06-24 20:15



voy a repasar las tarjetas de 3ware, son perversas especialmente la 9650se y la 9690se, utilizaron ambos tipos de tarjetas con hasta 16 unidades en la 9650se, no es un problema real y un buen producto estable.


RAID NO es como LVM. Puede usar RAID para crear particiones de tolerancia a fallos, pero LVM se utiliza para facilitar la partición de discos y la edición del sistema de archivos. Puede usar RAID a través de LVM o ZFS (ZFS puede trabajar tanto con RAID como con LVM). En mi opinión, ZFS funciona mejor que LVM, pero:

  • Solo en Solaris 10/11 / OpenSOlaris, no puede usarlo desde Linux
  • ZFS es un sistema de archivos y administración de discos, LVM permite utilizar cualquier sistema de archivos que necesite

En Ubuntu, prefiero usar RAID5 MD con LVM.


4
2018-05-27 18:23



ZFS está disponible en FreeBSD 7.x y Nexenta. - jharley


Eche un vistazo a lo que Nexenta y OpenSolaris están ofreciendo y creo que estará muy satisfecho con lo que puede obtener por nada. Se rumorea que los próximos lanzamientos de OpenFiler también usarán el puerto ZFS de FreeBSD (sin embargo, están bastante atrasados ​​desde la perspectiva de la característica).

Dicho esto, trato de evitar hacer RAID5, RAID6 o RAID50 en el software y prefiero usar controladores de hardware para descargar todo el trabajo XOR. El software RAID1 y RAID10 en Linux funciona bastante bien, y desde allí coloco LVM para permitir una mayor flexibilidad en lo que se hace con los bloques que tengo después de la redundancia. RAID + LVM + XFS es mi configuración de Linux favorita, pero yo tomaría ZFS sobre ella cualquier día.


4
2018-05-27 18:45



Tradicionalmente, el hardware RAID no ha funcionado tan bien como el software RAID; por lo general, tiene una ventaja solo cuando hay varias escrituras que el controlador dedicado puede duplicar (es decir, no tiene que pasar por el bus PCI), es decir, RAID 1. Hay otras preocupaciones con hardware RAID, por ejemplo, la calidad del firmware y la incapacidad de actualizarse (fácilmente). Finalmente, agrega otro punto de falla. Por estas razones, tiendo a evitar el hardware RAID. Dicho esto, por estas mismas razones, ¡no he jugado con las nuevas opciones de hardware RAID! :) - Brian M. Hunt


RAID vs LVM no es realmente una buena comparación, realizan roles separados y con frecuencia se usan juntos. RAID se usa para la redundancia de la unidad, LVM se puede usar para dividir su dispositivo RAID en volúmenes lógicos, se usa para cambiar el tamaño y para tomar instantáneas.


2
2018-05-27 18:09





Corrí el servidor de archivos para una empresa / situación muy similar. Básicamente, un departamento de gráficos para 3 personas con 30 TB de almacenamiento y el presupuesto reducido de una pequeña empresa. Nuestros proyectos típicos iban desde 0.5TB a 6TB. Y el servidor de archivos estaba sirviendo a una granja de renderizado de tamaño considerable que realmente podía golpearla.

En mi configuración, ejecuté un servidor 3U que ejecuta Linux con matrices RAID6 de hardware externo conectadas a él. Gestioné los volúmenes físicos y lógicos con LVM y ejecuté el sistema de archivos XFS. Lo que haría sería crear un volumen lógico para cada proyecto y luego expandirlo a medida que el proyecto creciera. Cuando se terminó el proyecto, pude archivar el trabajo en cinta y eliminar el volumen lógico. Esto devolvería ese espacio al grupo de volúmenes, donde se reasignaría al siguiente proyecto (s).

Esta fue una forma muy limpia de utilizar nuestro almacenamiento, pero hay dos inconvenientes en este enfoque. Terminará teniendo que administrar en tamaño micro los tamaños de los volúmenes lógicos, tratando de equilibrar la cantidad de espacio asignado a un volumen lógico, de modo que tuviera suficiente espacio para hacer su trabajo pero no asignarlo en exceso y terminar desperdiciando espacio. Nuestra granja de renderizado era capaz de generar muchos TB de datos al día y, si no le prestabas mucha atención, te quedarías sin espacio a toda prisa. Eventualmente, instalé algunos scripts que monitoreaban las tendencias en el espacio disponible en los volúmenes lógicos y los haría crecer automáticamente. Incluso con eso en su lugar con 80 o más volúmenes lógicos, había una gran cantidad de espacio no utilizado atado en todos los volúmenes lógicos. Ya he sugerido el segundo problema ... LVM no hace realmente aprovisionamiento fino y XFS solo le permite hacer crecer un sistema de archivos. Por lo tanto, la asignación excesiva de espacio a un volumen lógico puede sumar una gran cantidad de espacio inutilizable.

Esto fue todo configurado hace aproximadamente 5 años y si lo estuviera configurando hoy, usaría OpenSolaris y ZFS. La razón principal es que el enfoque de almacenamiento agrupado de ZFS significa menos administración de volumen. Aún puede separar cada proyecto en su propio sistema de archivos pero sin tener que microgestionar los tamaños de los volúmenes individuales. ZFS tiene algunas otras características muy buenas que lo convierten en una mejor opción, pero hay otras preguntas sobre Serverfault que se relacionan con eso.

En mi opinión, ZFS simplemente es la mejor solución gratuita disponible en la actualidad.


2
2018-06-24 20:40





Use la utilidad "mdadm" para crear una matriz RAID-5 a partir de sus unidades.

Esto proporciona la redundancia que necesita, por lo que si una unidad se apaga, puede reemplazarla sin pérdida de datos y también le ofrece el uso de 3 de las 4 unidades.

También te recomiendo que crees un volumen LVM encima del RAID, para que puedas particionar el espacio según sea necesario.


1
2018-05-27 18:09





Es posible que desee echar un vistazo a AFS. Esto le dará una cierta medida de la disponibilidad (puede acceder a estos archivos tanto dentro como fuera de su red) y la redundancia (los archivos se pueden replicar). Para un flujo de trabajo donde abra un archivo, trabaje en él durante algún tiempo y luego guárdelo, esto sería mejor (desde el punto de vista de la red) que NFS, al menos NFS más antiguo.


1
2018-05-27 22:11