NFS Automatic Failover oder Load-Balanced oder Clustering?

11

Ich benutze NFS (und es ist das einzige, das ich in Netzwerkdateien gut kenne) seit ein paar Jahren. Kann aber immer noch nicht herausfinden ..

  • Wie mache ich NFSServer in Clustered Design (oder Load-Balanced?)
  • Oder zumindest auf MORE-THEN-ONE Server und auf "Automatic Failover".

Das Hauptziel ist es, meinen einzelnen laufenden NFS-Server NICHT als Single-Point-of-Failure zuzulassen.


Da ich nicht weiß, wie ich es richtig machen soll, habe ich bisher selbst erfunden:

  1. NFS auf 2 Servern.
  2. RSYNC vom 1. (angenommenen Master) Server zu einem anderen 2. Server.
  3. Geben Sie auf Anwendungsservern (Web usw.) ein ein Shell Script, um den fehlerfreien Status des NSF-Master-Server-Mount- Punkts zu überprüfen. Und dann, wenn nötig, automatisch die Bereitstellung aufheben (verlassen) und dann ab der zweiten automatisch einhängen.
  4. Die Hauptfunktion, die ich in meinem automatischen Shell-Skript verwendet habe, ist nfsstat -m.., um den Zustand des Einhängepunkts zu überprüfen.

(Ich benutze Redhat )

Aber trotzdem denke ich immer noch NICHT, dass es der sichere und Standardweg ist.

夏 期 劇場
quelle

Antworten:

8

Dieses Tutorial mit dem Titel: Hochverfügbarer NFS-Cluster: Corosync & Pacemaker einrichten zeigt, wie ein NFS aktiv / aktiv mit NFS, Corosync & Pacemaker eingerichtet wird. Alternativ können Sie diesem Handbuch mit dem Titel folgen: Hochverfügbarer NFS-Speicher mit DRBD und Schrittmacher, in dem das Einrichten eines Aktiv / Aktiv mit DRDB und Schrittmacher dargestellt wird.

Sie sollten sich wahrscheinlich auch diese anderen Links ansehen, um sich mit den verschiedenen Technologien und Terminologien vertraut zu machen.

Diese ServerFault-Fragen und Antworten sollten sich auch als hilfreiches Linux-Cluster-Dateisystem erweisen .

Zusätzliche Referenzen

slm
quelle
@AndrewSavinykh - Dieser Link zeigt Aktiv / Passiv an, das Sie geteilt haben, wenn Sie danach suchen.
slm
4

Dies ist nur eine der vielen Möglichkeiten, wie NFS nervt.

Es gibt keine Möglichkeit, dies nur mit NFS bis Version 3 zu tun. Sie müssen die Funktionalität manuell hinzufügen.

Dies bedeutet wahrscheinlich:

  • Datenreplikation oder ein gemeinsam genutzter Speicher
  • IP-Übernahme
  • Eine Art Herzschlagüberwachung
  • Clusterverwaltung

Es gibt Pakete, um all dies zu tun, aber Sie müssen sie für Ihre Organisation integrieren.

Das Linux HA-Projekt wurde vor vielen Jahren eingerichtet, um einige dieser Dinge zu implementieren. http://www.linux-ha.org/

Sie sollten das meiste, was sie getan haben, bereits in der von Ihnen verwendeten gängigen Distribution finden.

Bemerkenswert ... Die mit Abstand größte Fehlerursache eines Systems ist ein Verwaltungsfehler, und HA-Cluster sind per Definition ein komplexes System und anfälliger für Verwaltungsfehler.

Über NFS v4 hinaus beginnt NFS v4 mit der Implementierung einiger Skalierbarkeits-, Sicherheits- und Verfügbarkeitsfunktionen, die AFS seit 20 Jahren bietet. Es ist noch keineswegs vollständig oder weit verbreitet oder sogar vollständig mit verschiedenen Clients und Servern kompatibel, sondern Wenn Sie NFS verwenden, beginnen Sie mit Version 4 und überprüfen Sie, was bereits auf Ihrer Plattform implementiert wurde.

Colin
quelle
AFS war erstaunlich und wird größtenteils vergessen ... +1 für seine lobende Erwähnung
glallen
2

Soweit ich weiß, können Sie NFS nicht als Aktiv-Aktiv-Cluster haben. Für Active-Passive gibt es bestimmte Tools, mit denen Sie dies erreichen können. Ich bin mit Solaris OS und Solaris Cluster besser vertraut, die Ihnen die Möglichkeit bieten, abhängig von Ihrem Ziel eine hochverfügbare NFS-Freigabe / Freigaben zu erstellen.

Eine Sache, die Sie benötigen, ist ein gemeinsam genutzter Speicher, der bei Bedarf von Server A auf Server B und umgekehrt verschoben werden kann. Idealerweise iSCSI- oder SAN-Speicher. Und eine IP, die der NFS-Freigabe zugeordnet ist.

Der Cluster wird so funktionieren. Bei einem Ausfall von Server A aktiviert Server B die IP-Verknüpfung mit dem NFS-Server und übernimmt den Besitz der freigegebenen Festplatte, stellt sie bereit und startet den NFS-Server. Gleiches gilt für den Fall, dass Server B ausfällt und Server A aktiv ist.

Wenn Sie dies manuell tun möchten, müssen Sie als grundlegende Schritte Skripte und Skripte überwachen, um die Dienste automatisch zu aktivieren und zu deaktivieren.

Schauen Sie hier nach Redhat

BitsOfNix
quelle
Ich habe einen Aktiv / Aktiv-NFS-Cluster mit einem Load Balancer, CentOS, DRBD, GFS2 und Pacemaker eingerichtet. Siehe meine Antwort für weitere Informationen.
Doublesharp
2

Ich habe ein redundantes Paar von NFS-Dateiservern in einer "dual primären" Aktiv / Aktiv-Konfiguration mit einem Load Balancer, CentOS, NFS, DRBD (Replikation), GFS2 (Clustered File System) und Pacemaker (Cluster Management) eingerichtet.

Hier ist eine Anleitung für diese Implementierung bei RackSpace, die jedoch in jeder anderen Umgebung ähnlich ist.

So richten Sie Dual Primary DRBD unter CentOS 6: GFS2 & Pacemaker ein .

Doublesharp
quelle
2

Das Red Hat RHSS / RHGS-Produkt (Red Hat Storage / Gluster Server) macht dies perfekt, indem es einen FUSE-basierten GlusterFS-Client verwendet, um NFS-Verbindungen zu einem laufenden Back-End-Server zu übertragen, während der Back-End-Spiegelspeicher mehrerer Serverknoten beibehalten wird. alles transparent für den Kunden. Dies ist eine sehr raffinierte Lösung, die für Sie funktioniert. Sie können die EPEL / Extra RPM-Lösung entweder installieren oder bei Red Hat kaufen. Auf der Clientseite verwenden Sie einfach FUSE / glusterfs oder NFS als Mount-Typ in fstab. Keine Probleme mit unordentlichem Quarum / Fechten.

Joe
quelle
Ich stimme zu, funktioniert gut und die Konfiguration ist einfach
Elbarna
1

Dies ist eine sehr schöne und einfache Anleitung, die sich bewährt hat und gut funktioniert.

https://www.howtoforge.com/high_availability_nfs_drbd_heartbeat

Persönlich bevorzuge ich lvs, weil ha mit Lastausgleich kombiniert wird, aber ich habe es mit nfs + gfs2 + drbd versucht und funktioniert wirklich schlecht. Vielleicht brauche ich etwas, aber ich kann keine über lvs + nfs ha finden

Elbarna
quelle
Aber wie gehe ich, Virtual IPwie dort erwähnt, über die Server? (Ich weiß nicht)
期 劇場
Ich richte einen lvs-Server ein, um ein virtualip zu erstellen, brauchst du lvs, und wenn du willst, gibt es eine nette Weboberfläche namens pirahna gui, um virtualip zu erstellen. Lies dieses PDF zum Beispiel guug.de/lokal/hamburg/talks/Linux -Terminal-Cluster-UNIHH.pdf
Elbarna
Ich versuche jetzt, lvs einzurichten, virtualip ... ist nahezu unmöglich, wenn nfs von einer Fernbedienung gemountet wird und ein Server ausfällt, nfs sogar auf dem letzten Server und im entfernten Client blockiert ist.
Elbarna
Auf keinen Fall ist ein Aktiv / Aktiv-Cluster mit nfs
elbarna
Aber zum Glück können wir pnfs haben
elbarna