Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
server_und_serverdienste:linux_zfs_autosnapshots_auf_zvol_und_datasets_mounten [2023/01/06 23:03] – angelegt loma | server_und_serverdienste:linux_zfs_autosnapshots_auf_zvol_und_datasets_mounten [2023/01/24 12:22] – [ZFS Autosnapshot auf zvol und Datasets mounten] loma | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== ZFS Autosnapshot auf zvol und Datasets mounten ====== | ====== ZFS Autosnapshot auf zvol und Datasets mounten ====== | ||
- | Mit ZFS-Autosnapshot kann man die verschiedenen Abständen von Datasets und Zvol's Snapshots anfertigen lassen. Das verhindert das z.B. Verschlüsselungstrojaner auf Windows größeren Schaden anrichten können. Eben max. das Snapshotalter, | + | Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! LOL \\ |
+ | [[https:// | ||
+ | \\ | ||
+ | Hauseigenes Apt-Repo: [[https:// | ||
+ | \\ | ||
+ | GITLAB Enterprise: [[https:// | ||
+ | \\ | ||
+ | \\ | ||
+ | * Automatische Snapshots von VM's und CT's in definierten Zeiten anfertigen lassen, z.B. alle 10 Minuten | ||
+ | * Rollback einzellner virtuellen Festplatten, | ||
+ | * Direktes recovern von Dateien in VM-Images via '' | ||
+ | * Klonen von bestimmten Snapshotständen um z.B. Tests durchzuführen | ||
+ | * Verschlüsselungstrojaner haben keine Chance | ||
===== Installation und Konfiguration ===== | ===== Installation und Konfiguration ===== | ||
Annahme hier ist ein Proxmox 7.3 System mit Kernel 5.19. Für Installation benutzen wir wie immer " | Annahme hier ist ein Proxmox 7.3 System mit Kernel 5.19. Für Installation benutzen wir wie immer " | ||
apt install zfs-auto-snapshot | apt install zfs-auto-snapshot | ||
- | Nach der Installation ist Autosnapshot bereits für alle Zvol's und Datasets aktiviert. Zeiten für die Snapshots kannst du hier konfigurieren: | + | Nach der Installation ist Autosnapshot bereits für alle Zvol's und Datasets aktiviert. |
+ | |||
+ | Um das ganze manuell unter Kontrolle zu haben musst gleich nach der Installation die Autosnapshotfunktion für alle Pool's deaktivieren. Damit kannst du danach einzelen Disks aktivieren. | ||
+ | |||
+ | zfs set com.sun: | ||
+ | zfs set com.sun: | ||
+ | |||
+ | rpool | ||
+ | rpool/ | ||
+ | rpool/ | ||
+ | rpool/ | ||
+ | |||
+ | Enzellene Disks aktivierst du so: | ||
+ | |||
+ | zfs set com.sun: | ||
+ | |||
+ | Umgekehrt gehts auch mit '' | ||
+ | |||
+ | Welche virtuellen HDD's nun für Autosnapshot aktiviert sind, siehts du mit | ||
+ | zfs get com.sun: | ||
+ | |||
+ | Zeiten für die Snapshots kannst du hier konfigurieren: | ||
< | < | ||
- | / | + | / |
- | / | + | / |
- | / | + | / |
- | / | + | / |
- | / | + | / |
</ | </ | ||
- | Die Files sind selbsterklärend. Viel wichtiger ist die Frage ob ich die Autosnapshots überall haben möchte. Ich mach das genau umgekehrt. Ich deaktiviere global und aktiviere dann einzellne Disks wo ich das für sinnvoll halte. | + | Die Files sind selbsterklärend. |
+ | **Achtung: Snapshot Zeit ist immer UTC damit man bei Zeitumstellungen nicht durcheinander kommt.** | ||
+ | **Achtung2: Du kannst weiterhin Snapshots in Proxmox nutzen. Vor der Nutzung Autosnapshot global deaktivieren, | ||
+ | |||
+ | Autosnapshot deaktivieren: | ||
+ | chmod -x / | ||
+ | |||
+ | Autsnaptshot wieder aktivieren: | ||
+ | chmod +x / | ||
+ | |||
+ | ===== Snapshots mounten (vdev) ===== | ||
+ | Natürlich möchtest du auch wieder Daten aus den Snapshots herausholen. Hierfür muss Snapshots als DEV sichtbar machen. Du kannst das auf ganze Pools oder auf einzellne Disks anwenden. | ||
+ | zfs set snapdev=visible pool/ | ||
+ | |||
+ | Danach kannst du das DEV read only mounten. z.B. | ||
+ | mount -o noload,ro / | ||
+ | mount -o ro / | ||
+ | |||
+ | ==== Direktes Reovery von VDEV's oder einzelnen Dateien ==== | ||
+ | |||
+ | In beiden Fällen muss die virtuelle Maschine herunter gefahren werden um eine Beschädigung des Filesystems zu vermeiden. Um eine virtuelle HDD direkt zurück zu spielen, machst du einfach ein Rollback. | ||
+ | |||
+ | zfs rollback rpool/ | ||
+ | |||
+ | Dabei müssen auch alle neueren Snapshots gelöscht werden. Sollte das nicht gewollt sein, erstelle einen Klon. z.B. | ||
+ | |||
+ | zfs clone rpool/ | ||
+ | |||
+ | Nach dem Rollback kannst deine Maschine wieder starten. Möchtest du nur ein paar Daten aus einem Snapshot herausholen, | ||
+ | |||
+ | mount / | ||
+ | |||
+ | Daten kannst du dann ganze einfach mit z.B. '' | ||
+ | umount / | ||
+ | umount / | ||
+ | |||
+ | === Daten eine laufende VM recovern === | ||
+ | Auch das ist möglich. Dann eben über das Netzwerk. In Linux kannst du hierfür SSH verwenden, in Windows verwendest du Filezilla. Sollten die Proxmoxserver so eingestellt sein das eine Auth nur mittels SSH-Key möglich ist, muss die Passwortauth vor dem Kopiervorgang temporär freigeschalten werden. | ||
+ | |||
+ | <code bash sshd_config> | ||
+ | ... | ||
+ | # To disable tunneled clear text passwords, change to no here! | ||
+ | - PasswordAuthentication no | ||
+ | + PasswordAuthentication yes | ||
+ | # | ||
+ | ... | ||
+ | </ | ||
+ | Danach den SSH-Server neustarten. Nach dem Kopieren sind die Einstellungen wieder zurück zu setzten. Möglicherweise macht das auch Puppet für dich ;-) | ||
+ | ===== Snapshots mounten (datasets) ===== | ||
+ | Bei Datasets ist es einfacher, kann mit z.B. | ||
+ | mount -t zfs rpool/ | ||
+ | eingebunden werden. | ||
+ | |||
+ | Um das ganze automatisch und elegant mit ZFS zu gestalten machten den Ordner '' | ||
+ | < | ||
+ | zfs set snapdir=visible | ||
+ | </ | ||
+ | Danach wird das gewünschte Snapshot automatisch beim Zugriff auf '' |