PhpZfsSyncer
Table of Contents
1. Repository auf den "main"-Server herunterladen
Ist der Server, der die Daten zur Verfügung stellt
mkdir -p ~/projects && cd ~/projects
git clone git@bitbucket.org:locr/phpzfssyncer.git PhpZfsSyncer
cd PhpZfsSyncer
2. root SSH-Keys auf dem "main" und "replica"-Server einrichten
2.2. Erstellen des Keys für den root-user
sudo ssh-keygen -t ed25519
# Datei nicht überschreiben, wenn schon vorhanden!
2.3. Gegenseitig bekanntmachen
-
Inhalt der Datei ("main"-Server):
/root/.ssh/id_ed25519.pub
an die Datei ("replica"-Server):/root/.ssh/authorized_keys
anhängen. -
Inhalt der Datei ("main"-Server):
/serverconnect/.ssh/id_ed25519.pub
an die Datei ("replica"-Server):/root/.ssh/authorized_keys
anhängen. -
einmalig Verbindung herstellen ("main" → "replica"):
sudo ssh root@<replica-subdomain>.locr.com
-
Inhalt der Datei ("replica"-Server):
/root/.ssh/id_ed25519.pub
an die Datei ("main"-Server):/root/.ssh/authorized_keys
anhängen. -
einmalig Verbindung herstellen ("replica" → "main"):
sudo ssh root@<main-subdomain>.locr.com
3. sudoers
-Datei auf dem replica server anpassen (VIM-Editor)
sudo visudo -f /etc/sudoers.d/zfs
-
Folgende Zeile hinzufügen:
serverconnect ALL=(ALL) NOPASSWD: /usr/sbin/zfs
4. Konfigurationsdatei einrichten
cp settings.sample.xml ~/zfs-syncer-settings.xml
-
~/zfs-syncer-settings.xml
Datei anpassen
5. Zfs-Sync auf dem main starten
cd ~/projects/PhpZfsSyncer
# Zum auflisten aller Verfügbaren jobs:
sudo ./zfs_syncer.php --settings-file="/home/serverconnect/zfs-syncer-settings.xml" --list-jobs
# Achtung: Bei jobs, wo die Daten in einer Datenbank (MySQL, PostgreSQL) liegen, muss vor dem Syncen der entsprechende Dienst (mysql, postgresql) gestoppt werden!
# Aufruf sollte mit screen Befehl erfolgen
screen -S copy
# Um nur einen Job (Bsp.: Valhalla) durchzuführen:
sudo ./zfs_syncer.php --settings-file="/home/serverconnect//zfs-syncer-settings.xml" --only-job=Valhalla
# Wenn Kopieren nicht startet, Befehl zweites Mal ausführen!