Estoy construyendo una aplicación que necesita para distribuir un estándar de archivo de servidor en un par de sitios a través de una WAN. Básicamente, cada sitio tiene que escribir un montón de varios archivos de tamaño variable (algunos en el 100 MB, pero la mayoría de las pequeñas), y la aplicación está escrita tal que las colisiones no son un problema. Me gustaría tener un sistema que cumpla con los siguientes requisitos:
- Cada sitio puede almacenar los archivos en un "espacio de nombres". Es decir, todos los archivos que se muestran en el mismo sistema de archivos.
- Cada sitio de no enviar datos a través de la WAN a menos que sea necesario. I. e., no sería el almacenamiento local en cada lado de la WAN que sería "fusionan" en la misma lógica del sistema de ficheros.
- Linux & Free ($$$) es un Plus
Básicamente, algo así como una central de recurso compartido de NFS cumpliría la mayoría de los requisitos, sin embargo no permitiría que los escritos localmente los datos locales. Todos los datos de forma remota lados de la WAN sería copiar localmente todo el tiempo.
He mirado en el Lustre, y se han ejecutado algunas de las más exitosas pruebas con ella, sin embargo, parece que para distribuir archivos de forma bastante uniforme a través del almacenamiento distribuido. Yo he cavado a través de la documentación y no he encontrado nada que automáticamente se "prefiere" almacenamiento local de más de almacenamiento remoto. Incluso algo que se fue con la menor latencia de almacenamiento estaría bien. Iba a trabajar la mayoría del tiempo, el cual se reunirá este de la aplicación de los requisitos.
Algunas respuestas a preguntas frecuentes a continuación:
- Los nodos de servidor: 2 o 3 para comenzar. Cada servidor podría tener decenas de lecturas simultáneas/escritura de los clientes que se conecten.
- WAN Topología de malla completa y fiable. (gran empresa, el costo no es tan limitante como la burocracia)
- Conmutación por error de cliente: yo en realidad no había pensado en tener los clientes de conmutación por error (sobre todo porque nuestro actual appliction no hacer esto en un solo sitio). Supuse que practicle respuesta es que los servidores en cada distribuidos geográficamente sitio se espera que los puntos únicos de fallos para los clientes que están sirviendo. Aunque, si usted está pensando acerca de algo específico aquí, creo que sería muy pertinente para la discusión.
- Roll-mi-propia: he pensado en rsync/unison, sin embargo se necesita un poco de fantasía en la lógica de la "dinámica" parte de este trabajo a la perfección. I. e., el archivo parece ser local, pero solo se recuperan en la demanda.
- MS-DFS: ciertamente parece ser algo que debo mirar en. Mi principal problema sería potencialmente no estaba seguro acerca de la configuración del servidor NFS/fiabilidad/rendimiento en Windows, ya que muchos de los clientes que se conectan son los clientes NFS.