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.
replication
zfs
zfsonlinux
Shodanshok
quelle
quelle
Antworten:
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/
quelle