ZFS unter Linux (ZoL) und Echtzeitreplikation

8

Ich möchte verstehen, was die beste Lösung für die Echtzeitreplikation zwischen zwei ZFS unter Linux (ZoL) -Boxen ist, die über eine 10-GbE-Verbindung verbunden sind. Ziel ist es, sie für virtuelle Maschinen zu verwenden. Es wird jeweils nur eine Box die virtuellen Maschinen und das ZFS-Dateisystem selbst ausführen. Schnappschuss muss auf der ersten (aktiven) Box möglich sein. Ich habe vor, SATA-Festplatten für Unternehmen und Nearline zu verwenden, sodass SAS-Festplatten mit zwei Ports nicht in Frage kommen.

Ich dachte über folgende Möglichkeiten nach:

  • Verwenden Sie iSCSI, um die Remote-Festplatten zu exportieren und einen Spiegel zwischen den ZFS-Festplatten der lokalen Box und den Remote-iSCSI-Festplatten zu erstellen. Der größere Reiz dieser Lösung liegt in ihrer Einfachheit, da sie die ZFS-eigene Spiegelung verwendet. Auf der anderen Seite wird ZFS den lokalen Festplatten keine Priorität vor den Remote-Festplatten einräumen, was zu Leistungseinbußen führen kann (in einem 10-GbE-Netzwerk vermutlich kaum relevant). Darüber hinaus ist es ein Grund zur Besorgnis, wie sich ZFS im Falle eines Netzwerkverbindungsverlusts zwischen den beiden Boxen verhält. Wird das Array erneut synchronisiert, wenn der Remote-Computer verfügbar wird, oder ist ein manueller Eingriff erforderlich?
  • Verwenden Sie DRBD, um zwei ZVOLS zu synchronisieren und ZFS auf das DRBD-Gerät zu legen . Mit anderen Worten, ich spreche von einer gestapelten ZVOL + DRBD + ZFS-Lösung. Dies scheint mir der bevorzugte Ansatz zu sein, da DRBD 8.4 sehr stabil und bewährt ist. Hier spielen jedoch viele E / A-Ebenen eine Rolle, und die Leistung kann darunter leiden.
  • Verwenden Sie oben einfach ZFS + GlusterFS . Aus ZFS-Sicht ist dies die einfachere / bessere Lösung, da der gesamte Replikationsverkehr an GlusterFS delegiert wird. Fanden Sie GlusterFS stabil genug?

Was ist Ihrer Meinung nach der bessere Ansatz? Vielen Dank.

Shodanshok
quelle
Sind Sie sicher, dass Sie eine Echtzeitreplikation benötigen? Welches Problem löst es? Für den von Ihnen erwähnten Anwendungsfall verwende ich entweder ein gemeinsam genutztes SAS-Setup mit zwei Knoten oder eine asynchrone Replikation in Intervallen von 15 oder 30 Sekunden.
ewwhite
Ziel ist ein perfekt synchronisierter Backup- / Standby-Computer. Sicherlich kann ich sehr häufig (dh alle 60 Sekunden) Snapshots verwenden und senden / empfangen, und es wird sehr vernünftig sein, aber die Echtzeitreplikation wird noch besser sein (und ich habe bereits einige solcher Installationen mit DRBD + LVM anstelle von ZFS). . Um SATA-Festplatten der Enterprise- / Nearline-Klasse zu verwenden, würde ich mich lieber nicht auf Dual-Port-SAS-Festplatten verlassen (obwohl dies eine gute Lösung für sich ist). Ich werde diese Informationen im Hauptbeitrag hinzufügen.
Shodanshok

Antworten:

5

Ich empfehle ein gemeinsames SAS-Setup mit zwei Knoten oder eine kontinuierliche asynchrone Replikation in Intervallen von 15 oder 30 Sekunden. Letzteres ist gut für die Kontinuität, während letzteres eine Möglichkeit bietet, eine geografische Trennung zu erreichen. Sie können zusammen verwendet werden.

Wenn Sie jedoch experimentieren möchten, können Sie Infiniband SRP oder 100 GbE RDMA verwenden, um einen ZFS-Spiegel zwischen Ihren beiden Knoten zu erstellen.

Beispielsweise haben Knoten1 und Knoten2 jeweils eine lokale Festplatte (nehmen Hardware-RAID an) und präsentieren diesen lokalen Speicher über SRP. Ein Knoten hat jeweils die Kontrolle über den zpool, und dieser Pool besteht aus den lokalen Festplatten von Knoten1 und der Remote-Festplatte von Knoten2.

Ihre Spiegelung ist synchron, da es sich um einen ZFS-Spiegel handelt. Failover und Konsistenz werden durch normales Resilvering-Verhalten behandelt. Der Import / Besitz / Export von Zpool wird von Pacemaker und den Standard-Cluster-Dienstprogrammen übernommen ...

Oder Sie können eine kommerzielle Lösung verwenden , die dasselbe tut. Sehen:

http://www.zeta.systems/blog/2016/10/11/High-Availability-Storage-On-Dell-PowerEdge-&-HP-ProLiant/

ewwhite
quelle
Sehr interessant, danke. Haben Sie etwas Ähnliches in der Produktion? Können Sie die Verwaltbarkeit / Zuverlässigkeit kommentieren? Vielen Dank.
Shodanshok
Ich empfehle Shared Storage-Gehäuse oder Replikation. Ich denke nicht, dass die synchrone Spiegelung jedes Problem löst, daher ist es nicht meine Präferenz. Sie können mit den Mitarbeitern von Zeta Systems sprechen, die die Lösung entwickelt haben.
ewwhite
"Letzteres ist gut für ..., während letzteres ...". Ich nehme an, Sie wollten in einem dieser Fälle "früher" sagen?
Kenny Rasschaert
@ KennyRasschaert Wahrscheinlich.
ewwhite