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.