zsync ist ein Werkzeug zur effizienten Synchronisation von ZFS-Dateisystemen über das Netzwerk. Es ermöglicht die Erstellung und Übertragung von Snapshots zwischen Quell- und Zielsystemen, um Daten konsistent und sicher zu replizieren.
Hauptmerkmale von zsync:
- Pull-Funktionalität: Daten können von einem entfernten Quellsystem zu einem lokalen Zielsystem gezogen werden, was besonders nützlich für Backups ist.
- Snapshot-Verwaltung: Automatisierte Erstellung und Verwaltung von Snapshots zur Sicherstellung der Datenkonsistenz.
- SSH-Unterstützung: Verbindungen zu entfernten Systemen werden sicher über SSH hergestellt, wobei für ZFS-Befehle
sudo
verwendet wird. - Inkrementelle Übertragungen: Nach der ersten vollständigen Übertragung werden nur noch Änderungen übertragen, was Bandbreite spart und die Effizienz erhöht.
Installation und -Konfiguration
Installation von zsync auf dem Zielserver
echo "deb [signed-by=/usr/share/keyrings/bashclub-archive-keyring.gpg] https://apt.bashclub.org/release bookworm main" > /etc/apt/sources.list.d/bashclub.listwget -O- https://apt.bashclub.org/gpg/bashclub.pub | gpg --dearmor > /usr/share/keyrings/bashclub-archive-keyring.gpgapt updateapt install bashclub-zsync
ssh konfigurieren
Dazu hinterlegt man auf dem Quell-Server (wo die Snapshots herkommen) beim Benutzer root den öffnetlichen ssh-Schlüssel des Benutzers root vom Ziel-Server (wo die Snapshots vom Quell-Server gespeichert werden sollen) in der authorized_keys-Datei.
Konfiguration auf dem Zielserver
Zuerst erstellen wir eine Konfigurationsdatei für das Script. Standardmäßig wird die Datei
/etc/bashclub/zsync.conf
verwendet. Eine zsync.conf.example sollte vorhanden sein.
cd /etc/bashclubcp zsync.conf.example zsync.conf
Wie in der Dokumentation zu zsync beschrieben muss jetzt die zsync.conf angepasst werden (mit vi, nano, etc.)