Basculement automatique NFS, équilibrage de charge ou mise en cluster?

11

J'utilise NFS (et c'est le seul que je connaisse bien dans Network Files) depuis quelques années. Mais ne peut toujours pas savoir ..

  • Comment créer des NFSserveurs en cluster (ou à charge équilibrée?)
  • Ou au moins à le déployer sur MORE-THEN-ONE Server et à "Automatic Failover".

L'objectif principal est de NE PAS laisser mon serveur NFS en cours d'exécution un point de défaillance unique.


Comme je ne sais pas comment le faire correctement, jusqu'à présent, j'ai inventé par moi-même:

  1. NFS sur 2 serveurs.
  2. RSYNC du 1er serveur (supposé maître) à un autre 2e serveur.
  3. Depuis les serveurs d'applications (Web, etc.), mettez un Shell Scriptpour vérifier l'état de fonctionnement du point de montage du serveur NSF-Master. Et puis si besoin, démontez-le automatiquement (en partant) puis montez automatiquement à partir du 2ème.
  4. La fonction principale que j'ai utilisée dans mon script Shell automatique est nfsstat -m.. de vérifier la santé du point de montage.

(J'utilise Redhat )

Mais de toute façon, je ne pense toujours pas que ce soit le moyen sûr et standard.

夏 期 劇場
la source

Réponses:

8

Ce didacticiel, intitulé: Cluster NFS hautement disponible: configuration de Corosync & Pacemaker, montre comment configurer un NFS actif / actif à l'aide de NFS, Corosync et Pacemaker. Vous pouvez également suivre ce guide intitulé: Stockage NFS hautement disponible avec DRBD et Pacemaker qui montre la configuration d'un actif / actif à l'aide de DRDB & Pacemaker.

Vous voudrez probablement aussi jeter un œil à ces autres liens pour vous familiariser avec les différentes technologies et terminologies.

Ce Q&R ServerFault devrait également s'avérer utile, système de fichiers en cluster Linux .

Références supplémentaires

slm
la source
@AndrewSavinykh - ce lien montre actif / passif que vous avez partagé si c'est ce que vous recherchez.
slm
5

Ce n'est là qu'une des nombreuses façons dont NFS aspire.

Il n'y a aucun moyen de le faire uniquement avec NFS jusqu'à la version 3. Vous devrez ajouter la fonctionnalité manuellement.

Cela signifie probablement:

  • réplication de données ou stockage partagé
  • Prise de contrôle IP
  • Une sorte de surveillance du rythme cardiaque
  • Gestion des clusters

Il existe des packages pour faire tout cela, mais vous devrez les intégrer pour votre organisation.

Le projet Linux HA a été mis en place il y a plusieurs années pour implémenter certaines de ces choses. http://www.linux-ha.org/

Vous devriez trouver la plupart de ce qu'ils ont déjà fait dans la distribution populaire que vous utilisez.

À noter ... La principale cause de défaillance d'un système (de loin) est l'erreur administrative et les clusters HA sont par définition un système complexe et plus sujet aux erreurs d'administration.

OK au-delà de NFS v4, NFS v4 commence à implémenter certaines des fonctionnalités d'évolutivité, de sécurité et de disponibilité qu'AFS possède depuis 20 ans, il n'est en aucun cas entièrement ou largement implémenté ni même entièrement compatible avec divers clients et serveurs, mais si vous utilisez NFS, commencez par la v4 et vérifiez ce qui a déjà été implémenté sur votre plate-forme.

Colin
la source
AFS était incroyable, et est largement oublié ... +1 pour sa mention honorable
glallen
2

Pour autant que je sache, vous ne pouvez pas avoir NFS comme cluster actif-actif. Maintenant, pour Active-Passive, il existe certains outils qui vous aident à y parvenir. Je connais mieux le SE Solaris et le cluster Solaris qui vous offrent la possibilité de créer un ou des partages NFS haute disponibilité en fonction de votre objectif.

Une chose dont vous aurez besoin est un stockage partagé qui peut être déplacé du serveur A vers le serveur B et vice versa en cas de besoin. Idéalement stockage iSCSI ou SAN. Et une IP associée au partage NFS.

Le cluster fonctionnera comme ceci. En cas de défaillance du serveur A, le serveur B activera l’association IP au serveur NFS et s’appropriera le disque partagé, le montera et démarrera le serveur NFS. Il en va de même en cas de défaillance du serveur B et du serveur A.

Si vous le souhaitez manuellement, comme étapes de base, vous aurez besoin de surveiller les scripts et les scripts pour activer et désactiver les services automatiquement.

Jetez un oeil ici pour Redhat

BitsOfNix
la source
J'ai configuré un cluster NFS actif / actif à l'aide d'un équilibreur de charge, CentOS, DRBD, GFS2 et Pacemaker. Voir ma réponse pour plus d'informations.
doubleharp
2

J'ai installé une paire redondante de serveurs de fichiers NFS dans une configuration active / active "double primaire" en utilisant un équilibreur de charge, CentOS, NFS, DRBD (réplication), GFS2 (système de fichiers en cluster) et Pacemaker (gestion de cluster).

Voici un guide pour cette implémentation sur RackSpace, mais il serait similaire dans n'importe quel autre environnement.

Comment configurer Dual Primary DRBD sur CentOS 6: GFS2 & Pacemaker .

doubleharp
la source
2

Le produit Red Hat RHSS / RHGS (Red Hat Storage / Gluster Server) le fait parfaitement, en utilisant un client GlusterFS basé sur FUSE pour proxy les connexions NFS à un serveur principal en cours d'exécution, tout en conservant le stockage en miroir de plusieurs nœuds de serveur principal, tout transparent pour le client. Il s'agit d'une solution très astucieuse qui fonctionnera pour vous. Vous pouvez soit installer la solution EPEL / Extra RPM, soit l'acheter auprès de Red Hat. Côté client, vous utilisez simplement FUSE / glusterfs ou NFS comme type de montage dans fstab. Pas de quarum / d'escrime en désordre, quoi que ce soit.

Joe
la source
Je suis d'accord, fonctionne bien et la configuration est simple
elbarna
1

C'est un mode d'emploi ultra agréable et simple, essayé et fonctionne très bien.

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

Personnellement, je préfère les LV parce que combiner ha avec l'équilibre de charge, mais j'ai essayé avec nfs + gfs2 + drbd et fonctionne vraiment mal. Peut-être que j'en ai besoin, mais je n'en trouve pas sur lvs + nfs ha

elbarna
la source
Mais comment puis-je, Virtual IPcomme mentionné ici, sur les serveurs? (Je ne sais pas)
夏 期 劇場
Je suis configuré sur un serveur lvs, pour créer un virtualip, vous avez besoin de lvs, et si vous voulez il y a une belle interface web appelée pirahna gui pour créer virtualip.Lisez ce pdf par exemple guug.de/lokal/hamburg/talks/Linux -Terminal-Cluster-UNIHH.pdf
elbarna
Je suis en train d'essayer de configurer lvs, virtualip..is presque impossible, lorsque nfs est monté à partir d'une télécommande, et qu'un serveur est en panne, nfs est bloqué même sur le dernier serveur et sur le client distant.
elbarna
Pas possible, est impossible cluster actif / actif avec nfs
elbarna
Mais heureusement, nous pouvons avoir des pnfs
elbarna