¿Conmutación por falla automática de NFS o carga equilibrada o agrupamiento?

11

He estado usando NFS (y es el único que conozco bien en Network Files) durante algunos años. Pero todavía no puede averiguarlo ..

  • ¿Cómo hacer NFSservidores en diseño agrupado (o de carga equilibrada)?
  • O al menos para que se implemente en el servidor MORE-THEN-ONE y para "Failover automático".

El objetivo principal es NO DEJAR que mi único servidor NFS en ejecución tenga un solo punto de falla.


Como no sé cómo hacerlo correctamente, hasta ahora lo he inventado por mi cuenta es:

  1. NFS en 2 servidores.
  2. RSYNC del primer servidor (maestro supuesto) a otro segundo servidor.
  3. Desde los servidores de aplicaciones (web, etc.), Shell Scriptmarque para comprobar el estado correcto del punto de montaje del servidor NSF-Master. Y luego, si es necesario, desmonte automáticamente de él (saliendo) y luego monte automáticamente desde el segundo.
  4. La función principal que utilicé en mi Shell Script automático es nfsstat -m... verificar el estado del punto de montaje.

(Estoy usando Redhat )

Pero de todos modos, todavía NO creo que sea la forma segura y estándar.

夏 期 劇場
fuente

Respuestas:

8

Este tutorial, titulado: Clúster NFS de alta disponibilidad: Configurar Corosync & Pacemaker muestra cómo configurar un NFS activo / activo usando NFS, Corosync y Pacemaker. Alternativamente, puede seguir esta guía titulada: Almacenamiento NFS de alta disponibilidad con DRBD y marcapasos que muestra la configuración de un activo / activo usando DRDB y marcapasos.

También es probable que desee echar un vistazo a estos otros enlaces para familiarizarse con las diversas tecnologías y terminologías.

Estas preguntas y respuestas sobre ServerFault también deben ser útiles, linux Clustered Filesystem .

Referencias adicionales

slm
fuente
@AndrewSavinykh: ese enlace muestra activo / pasivo que compartiste si eso es lo que estás buscando.
slm
5

Esta es solo una de las muchas formas en que NFS apesta.

No hay forma de hacer esto solo con NFS hasta la versión 3. Tendrás que agregar la funcionalidad manualmente.

Esto probablemente significa:

  • replicación de datos o algún almacenamiento compartido
  • Adquisición de IP
  • Algún tipo de monitoreo de latidos
  • Gestión de clústeres

Existen paquetes para hacer todo esto, pero tendrá que integrarlos para su organización.

El proyecto Linux HA se creó hace muchos años para implementar algunas de estas cosas. http://www.linux-ha.org/

Debería encontrar la mayoría de lo que han hecho ya empaquetado en cualquier distribución popular que esté utilizando.

Vale la pena señalar ... La principal causa de falla de un sistema (por mucho) es un error administrativo y los clústeres HA son, por definición, un sistema complejo y más propensos a errores de administración.

Más allá de NFS v4, NFS v4 comienza a implementar algunas de las funciones de escalabilidad, seguridad y disponibilidad que AFS ha tenido durante 20 años, de ninguna manera está totalmente o ampliamente implementada, ni siquiera es totalmente compatible con varios clientes y servidores, pero Si está utilizando NFS, comience con v4 y compruebe lo que ya se ha implementado en su plataforma.

Colin
fuente
AFS fue increíble, y está en gran parte olvidado ... +1 por su mención de honor
glallen
2

No puedo tener NFS como clúster activo-activo hasta donde yo sé. Ahora, para Active-Passive hay ciertas herramientas que lo ayudan a lograr esto. Estoy más familiarizado con Solaris OS y Solaris Cluster que le brindan la posibilidad de crear un recurso compartido NFS de alta disponibilidad según su objetivo.

Una cosa que necesitará es un almacenamiento compartido que se pueda mover del Servidor A al Servidor B y viceversa en caso de necesidad. Idealmente, almacenamiento iSCSI o SAN. Y una IP asociada con el recurso compartido NFS.

El clúster funcionará así. En caso de falla del Servidor A, el Servidor B habilitará la IP asociada con el servidor NFS y tomará posesión del disco compartido, lo montará e iniciará el servidor NFS. Lo mismo ocurre en caso de que el Servidor B falle y el Servidor A esté activo.

Si desea hacer esto manualmente, entonces, como pasos básicos que necesitará, monitorear los scripts y los scripts para habilitar y deshabilitar los servicios automáticamente.

Echa un vistazo aquí para Redhat

BitsOfNix
fuente
Configuré un clúster NFS activo / activo usando un equilibrador de carga, CentOS, DRBD, GFS2 y Pacemaker. Vea mi respuesta para más información.
doublesharp
2

Configuré un par redundante de servidores de archivos NFS en una configuración activa / activa "dual primaria" usando un equilibrador de carga, CentOS, NFS, DRBD (replicación), GFS2 (sistema de archivos en clúster) y Pacemaker (gestión de clúster).

Aquí hay una guía para esta implementación en RackSpace, pero sería similar en cualquier otro entorno.

Cómo configurar Dual DRBD primario en CentOS 6: GFS2 y Pacemaker .

doble filo
fuente
2

El producto Red Hat RHSS / RHGS (Red Hat Storage / Gluster Server) hace esto perfectamente, utilizando un cliente GlusterFS basado en FUSE para proxy conexiones NFS a un servidor back-end en ejecución, mientras mantiene el almacenamiento reflejado back-end de múltiples nodos de servidor, Todo transparente para el lado del cliente. Esta es una solución muy ingeniosa que funcionará para usted. Puede instalar la solución EPEL / Extra RPM o comprarla en Red Hat. Del lado del cliente, simplemente usa FUSE / glusterfs o NFS como tipo de montaje en fstab. No hay problemas de quarum / esgrima desordenados.

Joe
fuente
Estoy de acuerdo, funciona bien y la configuración es simple
elbarna
1

Este es un procedimiento muy agradable y simple, probado y funciona bien.

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

Personalmente prefiero lvs porque combino ha con equilibrio de carga, pero lo he intentado con nfs + gfs2 + drbd y funciona muy mal. Tal vez necesito algo de cómo hacerlo, pero no puedo encontrar ninguno sobre lvs + nfs ha

elbarna
fuente
Pero, ¿cómo lo Virtual IPmencioné allí, sobre los servidores? (No sé)
夏 期 劇場
Estoy configurado atm un servidor lvs, para crear un virtualip necesitas lvs, y si quieres hay una bonita interfaz web llamada pirahna gui para crear virtualip. Lee
elbarna
Estoy tratando ahora de configurar lvs, virtualip ... es casi imposible, cuando nfs está montado desde un control remoto, y un servidor está inactivo, nfs está bloqueado incluso en el último servidor y en el cliente remoto.
elbarna
De ninguna manera, es imposible clúster activo / activo con nfs
elbarna
Pero afortunadamente podemos tener pnfs
elbarna