Moin zusammen,
da der ZFS Pool für meine Nextcloud sich langsam füllt, möchte ich die Daten auf einen neuen umziehen und würde gerne einmal gegenprüfen lassen, ob das so klappen würde, oder ich einen Denkfehler habe. Ich bin für Verbesserungsvorschläge, sachliche Kritik und Anregungen offen!
Mein Setup:
Debian 13 + OpenZFS
5 x 1 TB SATA-SSD raidz1 (entspricht raid5), Name: nextcloud, mount: /srv/nextcloud
3 x 4 TB SATA-SSD raidz1 (entspricht raid5), Name: nextcloud_data, mount: /srv/nextcloud_data
Datenmenge: ca. 3,2 TB
Aktueller Plan
Ist jetzt doch länger geworden, als ich gedacht hatte... Danke schon mal an alle, die bis hierhin gelesen haben!
Mfg Kae
da der ZFS Pool für meine Nextcloud sich langsam füllt, möchte ich die Daten auf einen neuen umziehen und würde gerne einmal gegenprüfen lassen, ob das so klappen würde, oder ich einen Denkfehler habe. Ich bin für Verbesserungsvorschläge, sachliche Kritik und Anregungen offen!
Mein Setup:
Debian 13 + OpenZFS
5 x 1 TB SATA-SSD raidz1 (entspricht raid5), Name: nextcloud, mount: /srv/nextcloud
3 x 4 TB SATA-SSD raidz1 (entspricht raid5), Name: nextcloud_data, mount: /srv/nextcloud_data
Datenmenge: ca. 3,2 TB
Aktueller Plan
- Einbau der neuen SSDs (Ausfall von ca. 30 Minuten)
- Neuen zfs-volume erstellen
Bash:zpool create -O encryption=aes-256-gcm -O keylocation=<file:///path/to/key> nextcloud_data raidz1 /dev/disk/by-uuid/UUID1 /dev/disk/by-uuid/UUID2 /dev/disk/by-uuid/UUID3
- Erstmigration der Daten im laufenden Betrieb (Hierbei kann es, je nach sonstiger Last auf dem Server, zu etwas längeren Antwortzeiten bei der Nutzung kommen)
Durch die Begrenzung mit '--bwlimit=45000' sollte sichergestellt sein, dass die Auswirkungen auf den Betrieb minimal sind.Bash:rsync -AavxP --bwlimit=45000 /srv/nextcloud/ /srv/nextcloud_data/ - Wenn der Lauf durch ist (ca. 18-22 Stunden) fast das gleiche nochmal:
Hierdurch werden die Änderungen, die es seit Start des ersten Durchlaufs gegeben hat nach synchronisiert (idR 5-10 GB).Bash:rsync -AavxP --bwlimit=45000 --delete-after /srv/nextcloud/ /srv/nextcloud_data/
Durch Verwendung von '--delete-after' wird sichergestellt, dass keine Daten bestehen bleiben, deren Quelle inzwischen gelöscht wurde. - Nextcloud stoppen
- Ein letzter Datensync um wirklich alles auf den gleichen Stand zu bringen (Dieses mal mit voller Geschwindigkeit):
Bash:rsync -AavxP --delete-after /srv/nextcloud/ /srv/nextcloud_data/ - Einige ZFS Befehle:
Bash:zfs umount -r nextcloud //unmount vom aktuellen nextcloud volume zfs export nextcloud //Kann nicht schaden... zfs set mountpoint=none nextcloud //Den Mountpoint soll gleich das neue Volume bekommen, daher hier entfernen, damit es keine Konflikte gibt zfs umount -r nextcloud_data //Vorbereiten zum Umhängen zfs set mountpoint=/srv/nextcloud nextcloud_data //Damit es für die Nextcloud Instanz keine Änderungen gibt zfs load-key -L <file:///path/to/key> nextcloud_data //Zumindest früher wurde bei einem umount auch der Key mit entladen, daher muss der wieder geladen werden zfs mount nextcloud_data //Mounten des neuen Volumes im alten Pfad - Prüfen ob die Daten lesbar sind und wenn ja, Nextcloud wieder Starten
- Logs beobachten, ob es zu Fehlern kommt
- Wenn alles gut ging, kann der alte ZFS Pool gelöscht werden und die SSDs ausgebaut werden. (Ausfall von ca. 20 Minuten, kann auch später erfolgen)
Ist jetzt doch länger geworden, als ich gedacht hatte... Danke schon mal an alle, die bis hierhin gelesen haben!
Mfg Kae