12 votos

Evitar SPOFS con GlusterFS y Windows

Tenemos una GlusterFS clúster utilizamos para nuestra función de procesamiento. Queremos llegar integrada de Windows en ella, pero está teniendo algunos problemas para averiguar cómo evitar el punto único de falla, que es un servidor Samba servir a un GlusterFS volumen.

Nuestro archivo de flujo de como funciona:

GlusterFS Document Flow

  1. Los archivos son leídos por un Linux nodo de procesamiento.
  2. Los archivos se procesan.
  3. Resultados (puede ser pequeño, puede ser bastante grande) se vuelven a escribir en el GlusterFS volumen ya que está hecho.
    • Los resultados pueden ser escritos a una base de datos en lugar de ello, o puede incluir varios archivos de diferentes tamaños.
  4. El nodo de procesamiento recoge otro trabajo fuera de la cola y el IR a 1.

Gluster es grande, ya que proporciona un volumen distribuido, así como la replicación instantánea. La resiliencia ante los desastres es bueno! Nos guste.

Sin embargo, como Windows no tiene un nativo de GlusterFS cliente necesitamos alguna manera para nuestro Windows basado en el procesamiento de los nodos para interactuar con el almacén de archivos en una resistentes similares. El GlusterFS documentación indica que el camino para proporcionar acceso de Windows es configurar un servidor Samba en la cima de una monta GlusterFS volumen. Que llevaría a un archivo de flujo de como esta:

GlusterFS doc-flow via Winders

Que se parece a un solo punto de falla para mí.

Una opción es el clúster de Samba, pero que parece estar basada en inestable código de derecho ahora y por lo tanto fuera de la carrera.

Así que estoy buscando otro método.

Algunos de los principales detalles acerca de los tipos de datos que tire de todo:

  • Originales de tamaños de archivos puede estar en cualquier lugar desde unos pocos KB de decenas de GB.
  • Procesado tamaños de archivos puede estar en cualquier lugar desde unos pocos KB de un GB o dos.
  • Ciertos procesos, tales como la excavación de un archivo comprimido como .zip o .tar puede causar una gran cantidad de además escribe como los archivos que se importan en el archivo de la tienda.
  • Archivo-cuenta puede llegar a los 10 millones.

Esta carga de trabajo no funciona con una "estática workunit" tamaño de la instalación de Hadoop. Del mismo modo, hemos evaluado S3-estilo de objeto en las tiendas, pero se encontró que ellos carecen.

Nuestra aplicación es personalizada escrita en Ruby, y tenemos un entorno Cygwin en Windows nodos. Esto nos puede ayudar.

Una opción que me estoy planteando es un simple servicio HTTP en un clúster de servidores que tienen el GlusterFS volumen montado. Ya que todo lo que estamos haciendo con Gluster es esencialmente GET/PUT operaciones, que parece que se puede transferir fácilmente a un HTTP-archivo basado en el método de transferencia. Poner detrás de un loadbalancer par y los nodos de Windows pueden HTTP PONER a su pequeña blue contenido del corazón.

Lo que no sé es cómo GlusterFS coherencia se mantiene. El HTTP-proxy capa presenta suficiente de latencia entre el momento en que el nodo de procesamiento de informes que se hace con la escritura y cuando es realmente visible en el GlusterFS volumen, que me preocupa más tarde etapas de procesamiento de intentar recoger el archivo no se encuentra. Estoy bastante seguro de que el uso de la direct-io-mode=enable monte-opción va a ayudar, pero no estoy seguro de si eso es suficiente. ¿Qué más debo hacer para mejorar la coherencia?

O debo estar buscando otro método totalmente?


Como Tom se señala más abajo, NFS es otra opción. Así que me hizo una prueba. Desde el mencionado tienen los archivos proporcionados por el cliente de los nombres que tenemos que mantener, y puede venir en cualquier idioma, debemos preservar el archivo de nombres. Así que construí un directorio con estos archivos:

NFS directory with good names, on the server

Cuando me monte es de un Server 2008 R2 con el Cliente NFS instalado, me sale el listado de un directorio como este:

NFS directory with bad names, on the client

Claramente, Unicode no se conservan. Así que NFS no va a funcionar para mí.

7voto

Pablo Venturino Puntos 1660

Me gusta GlusterFS. En realidad, adoro GlusterFS. Como usted puede darle un poco de ancho de banda dedicado todo está bien.

Una de las mejores cosas acerca de GlusterFS la está utilizando con NFS. Una de las cosas sorprendentes que he estado trabajando últimamente es NFS en Windows 7 y 2k8R2.

Esto es lo que yo haría.

  1. 2 GlusterFS servidores que pueden exportación de NFS.
  2. Establecer un latido vínculo entre ellos.
  3. Implementar algo como el Latido del corazón/Marcapasos tal vez?
  4. Configurar una dirección IP virtual (VIP) entre su Gluster Nodos.
  5. Conecte el Windows boxen de las unidades de red que utiliza la dirección IP de la VIP.
  6. Prueba todo lo que puedas imaginar.

La agrupación de Samba sonidos de miedo, e incluso si lo haces que, Samba todavía carece de la capacidad para comportarse de forma fiable en algunas redes de windows (todos los que NT4 dominio de compatibilidad, que parece que nunca será capaz de conseguir más allá de que).

Yo creo que debido a que cada gluster del nodo distribuido,replica el modo, a continuación, que teóricamente debería ser capaz de conectarse a cualquiera , y permitir que preocuparse acerca de cómo mover los datos. Como resultado, el heartbeatd debe ser la cosa que hace la redirección y el control que uno que está hablando.

Como para su

  • Archivo-cuenta puede llegar a los 10 millones.

Le sugiero que investigue el uso XFS como sistema de archivos subyacente, como es bastante buena, con grandes sistemas de ficheros, y apoyado en virtud de GlusterFS

1voto

Saxa Puntos 11

Tal vez usted puede pensar en la solución de HA... el uso de un servidor LDAP para la autenticación (puede ser replicado como muchos servidores LDAP que desea) y colocar una IP para escuchar a los servicios SMB.

Esta dirección IP se flotando en el servidor principal. Cuando esto se Latido del corazón puede iniciar los servicios en segundo servidor.

Estos servidores tienen un punto de montaje para glusterfs y, a continuación, todos los datos estarán allí.

Se trata de una posible solución y es muy fácil de manejar...

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: