Distribución de archivos en una granja de servidores: ¿Hay algo mejor que NFS por allí?
Mi problema es el siguiente: Tengo que distribuir archivos de manera rutinaria a más de 500 servidores los cuales corren Linux / Solaris. Ninguno de ellos es mayor de 10 MB por si sólo, pero tengo muchisimos de ellos y la distribución de los archivos debe ser lo más rapida posible además de tener cierta tolerancia a fallos.
Por ahora estas son mis opciones:
NFS: Más vale diablo por viejo que por diablo
NFS es muy conveniente; Es fácil de compartir información, y sin embargo tiene problemas de desempeño y seguridad. Si usted tiene una aplicación que requiere compartir datos com más de 500 servidores entonces ya seguramente sabe de lo que estoy hablando.
¿Entonces como se puede reemplazar a NFS? Una de las opciones más atractivas es AFS. El problema es que es más complejo de administrar, y esa es una barrera dificil de superar en el mundo corporativo (ojo, muchas compañias grandes lo utilizan).
Rsync: Preparence a escribir scripts
Rsync utiliza un novedoso algoritmo el cual envia por la red solamente diferencias entre el destino y la fuente, lo cual lo hace muy eficiente. Sin embargo si usted quiere utilizarlo para duplicar información entonces seguro se verá escribiendo un shell script para adaptarlo a sus necesidades. Otros inconvenientes: Si usted tiene muchos archivos entre la fuente y el destino entonces deberá esperar un buen tiempo mientras rsync decide que copiar. Otro problema es que es considerado inseguro por muchos administradores de sistemas (los cuales prefieren no lidiar con su configuración adecuada).
Secure Copy / Secure FTP: Scripts y la historia de la tortuga
¿Y que tal scp or sftp? Trabaja bien, es muy seguro pero no es más rápido que rsync. Preparese a echar código si quiere una solución a la medida. Por otro lado rsync y ssh pueden trabajar juntos (opción -rsh=ssh de rsync).
P2P: Suena bien, pero ¿sólo en papel?
Yo en particular no he visto casos de como distribuir archivos en una red corporativa usando P2P. Java en particular tiene su estandar llamado JXTA pero no he visto mucha acción allí. Algunos ejemplos interesantes incluyen el uso de clientes como Azureus los cuales utilizan el protocolo Bittorrent para lograr su cometido.
¿Y entonces, qué hago?
Por ahora estoy utilizando una combinación de NFS, Rsync y scp para copias pequeñas. Sin embargo estoy seguro de que existe una mejor manera de hacer esto.
¿Y ustedes conocen una mejor solución a este problema?
Buscar en otros sitios:
Blogalaxia:afs, nfs, p2p, rsync, scp, sftp
Technorati:afs, nfs, p2p, rsync, scp, sftp
To2blogs:afs, nfs, p2p, rsync, scp, sftp
Del.icio.us:afs, nfs, p2p, rsync, scp, sftp
Sin categoría
Comentarios recientes