Tantas opciones y tan poco tiempo para probarlas todas ... Me pregunto si alguien tiene experiencia con los sistemas de archivos distribuidos para transmisión de video y almacenamiento/codificación.Lustre, Gluster o MogileFS ?? para el almacenamiento, la codificación y la transmisión de video
Tengo una gran cantidad de archivos de video de gran tamaño (50GB a 250GB) que necesito almacenar en alguna parte, ser capaz de codificarlos en mp4 y transmitirlos desde varios servidores de Adobe FMS. La única forma de manejar todo esto es con un sistema de archivos distribuidos, pero ahora la pregunta es ¿cuál?
Mi investigación hasta el momento me dice:
- Lustre: madura solución probada y utilizada por una gran cantidad de grandes empresas, mejor con archivos> 10G es un controlador del núcleo.
- Gluster: nuevo, menos maduro, basado en FUSE que significa fácil de instalar pero quizás más lento debido a la sobrecarga FUSE. Es mejor manejar una gran cantidad de archivos más pequeños ~ 1GB
- MogileFS: parece ser solo para archivos pequeños ~ MB, usa HTTP para acceder? posible unión FUSE en el futuro.
Hasta ahora parece Lustre el ganador pero le gustaría conocer experiencias reales para la aplicación particular que tengo.
También Hadoop, Redhat GFS, Coda y Windows DFS suenan como opciones para que cualquier experiencia sea bienvenida. Si alguien tiene puntos de referencia, por favor comparte.
Después de un poco de experiencia real, esto es lo que he aprendido:
- Lustre:
- Rendimiento: Increíblemente rápido! Puedo afirmar que Lustre puede servir muchas corrientes y que la velocidad de codificación no se ve afectada al acceder a los archivos a través de Lustre.
- Compatibilidad con POXIS: ¡Muy bien !. No es necesario modificar las aplicaciones para usar brillo.
- Replicación, Equilibrio de carga y falla: Muy mal !. Para la carga de replicación equilibrándonos y fallando, debemos confiar en otro software como las direcciones IP virtuales y DRDB.
- Instalación: ¡Lo peor !. Imposible de instalar por meros mortales. Requiere una combinación muy específica de núcleo, parches de brillo y ajustes para que funcione. Y los parches de brillo actuales generalmente funcionan con kernels viejos que son incompatibles con el nuevo hardware/software .
- MogileFS:
- Rendimiento: Bueno para archivos pequeños, pero no se puede utilizar para medianas y grandes archivos. Esto es principalmente debido a la sobrecarga de HTTP ya que todos los archivos son enviados/recibidos a través de solicitudes HTTP que codifican todos los datos en base64 agregando un 33% de sobrecarga a cada archivo.
- La compatibilidad con POXIX no existe. Todas las aplicaciones requieren ser modificadas para usar mogilefs que lo vuelven inútil para la transmisión/codificación ya que la mayoría de los servidores de transmisión y las herramientas de codificación no entienden el protocolo MogileFS.
- Replicación y conmutación por error fuera de la caja y el equilibrio de carga se puede implementar en la aplicación accediendo a más de un rastreador a la vez.
- La instalación es relativamente fácil y los paquetes listos para usar existen en la mayoría de las distribuciones. La única dificultad que encontré fue establecer la base de datos maestro-esclavo para eliminar el punto único de falla.
- Gluster:
- Rendimiento: Muy malo para la transmisión. No puedo alcanzar más de unos pocos Mbps en una red de 10 Gbps . Los clientes y la CPU del servidor se disparan en las grabaciones pesadas. Para la codificación funciona porque la CPU está saturada antes de la red y las E/S.
- POXIS: Casi compatible. Las herramientas que uso pueden acceder a montajes de atenuador como carpetas normales en el disco pero en algunos casos extremos las cosas comienzan a causar problemas. Verifique las listas de correo de gluster y verá que hay muchos problemas.
- Replicación, conmutación por error y equilibrio de carga: ¡lo mejor! si realmente funcionaron Gluster es muy nuevo y tiene muchos errores y problemas de rendimiento.
- La instalación es muy fácil. La línea de comandos de administración es increíble y la configuración replicada, distribuidos y divididos entre varios servidores no pueden ser más fáciles.
Conclusión final:
Por desgracia, la conclusión es "No hay una sola bala de plata".
Actualmente tenemos nuestros archivos multimedia en Gluster3.2 en un volumen replicado para almacenamiento y transcodificación. Siempre que no tenga muchos servidores, evite la replicación geográfica y los volúmenes de banda funcionan bien.
Cuando vamos a transmitir los archivos multimedia los copiamos a un volumen de brillo que se replica en un segundo volumen de brillo a través de DR: DB. El servidor wowza luego lee los archivos multimedia de los volúmenes de brillo.
Y finalmente usamos MogileFS para servir las miniaturas en nuestros servidores de aplicaciones web.
Creo que se llama Lustre ... – Sean
Gluster tiene muchos problemas con la replicación. Tiene errores. La curación por volumen tampoco funciona correctamente. –
esto realmente no es una pregunta de programación y no pertenece realmente aquí. Pero ... recomendaría algún tipo de software de sincronización de archivos como, unison, ifolder o rsync. como los archivos no son tan grandes, podrían sentarse en todos los servidores. Todos los sistemas de archivos en clúster no están tranquilos allí en mi humilde opinión. – mog