Estoy buscando una solución para duplicar o replicar un directorio (o un sistema de archivos) en algunos servidores Linux. La solución ideal sería una, que permita el acceso de lectura y escritura a todos los servidores. También quiero que sea resistente, si uno de los servidores se cae, el resto debería funcionar sin perder ningún dato.
He estado buscando algunas soluciones:
- DRBD : replicaciones a nivel de bloque, parece un poco exagerado;
- lsyncd : parece muy simple, pero tengo dudas sobre el rendimiento;
- GlusterFS : parece que sería una buena combinación, aún no he descubierto cómo funciona exactamente el modo de replicación. ¿Tendrá las características que requiero?
Cualquier otra sugerencia es bienvenida.
Respuestas:
La primera pregunta que haría es si desea replicar esto en dos servidores o más de dos servidores. Para dos servidores iría con DRDB, para tres o más iría con gluster.
Si la latencia de E / S no es una preocupación crítica, iría con gluster. Es bastante fácil de configurar y claramente puede hacer lo que necesita. Todo lo que necesita hacer es crear un servidor Gluster que sirva los archivos en los tres cuadros y luego también hacer que cada cuadro actúe como un cliente Gluster que monta los archivos.
DRDB va a ser complicado trabajar en un modo maestro <-> maestro con 3 o más servidores. Tiene que configurar una configuración basada en anillo y no la recomendaría. Sin embargo, para dos servidores DRDB es fantástico. Master <-> El modo Master no es complicado de configurar y no tiene que aprender nada del sistema de archivos.
lsycd es ideal para una configuración maestro / esclavo, pero no parece querer eso.
Ceph todavía es bastante nuevo, la última vez que lo verifiqué ni siquiera tenía soporte para fsck. Prefiero basar mi infraestructura en algo más estable.
Lustre es un producto fantástico para implementaciones a gran escala, pero necesita configurar latidos y failover para el servidor mds o tendrá un único punto de falla. Dado el número limitado de servidores de los que habla, sospecho que es excesivo en este caso.
fuente
¿Qué tal Ceph o Lustre ?
fuente
Debería buscar en OpenAFS : es un sistema de archivos distribuido principalmente que permite que existan múltiples copias de datos distribuidas en el clúster y todos pueden leer / escribir en el FS al mismo tiempo.
También tiene un montón de otras características útiles (buena autenticación, cifrado en el cable, almacenamiento en caché local integrado en clientes, cliente nativo de Windows, portátil en muchas versiones de Unix, etc.)
Sin embargo, es un poco pesado levantarlo.
fuente
NFS también podría funcionar bien, dependiendo de sus necesidades.
fuente
Hacer que esto funcione con DRBD va a ser realmente difícil: el problema no es que n8whnp parezca pensar un problema con respecto a la replicación multidireccional (solo haces todas las franjas de nodos en un conjunto espejo), sino que es de control de concurrencia d necesitaría ejecutar un sistema de archivos en clúster encima de la duplicación en la parte superior de DRBD.
lsyncd es aún peor ya que no hay una solución práctica para el control de concurrencia.
Recomiendo una solución de tipo AFS (AFS, OpenAFS) como una solución madura, estable y abierta. Me mantendría libre de brillo desde que Oracle lo cerró. No estoy demasiado familiarizado con los glusterfs, pero como se basa en un almacenamiento distribuido en lugar de replicado, le recomiendo que analice detenidamente cómo se comportará en la operación de cerebro dividido (AFS OTOH está diseñado para funcionar en modo desconectado).
fuente