it-wiki:linux:zfs
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
it-wiki:linux:zfs [2021/03/18 10:11] – [Snapshots inkrementell abspeichern] marko | it-wiki:linux:zfs [2023/11/22 07:42] (aktuell) – [Memorylimit setzen] marko | ||
---|---|---|---|
Zeile 33: | Zeile 33: | ||
===== Memorylimit setzen ===== | ===== Memorylimit setzen ===== | ||
+ | <note tip>As a general rule of thumb, allocate at least 2 GiB Base + 1 GiB/ | ||
---- | ---- | ||
Zeile 45: | Zeile 46: | ||
Wenn man möchte kann man ZFS ein Memorylimit setzten. | Wenn man möchte kann man ZFS ein Memorylimit setzten. | ||
+ | <code bash> | ||
+ | echo "$[10 * 1024*1024*1024]" | ||
+ | </ | ||
<code bash> | <code bash> | ||
vim / | vim / | ||
Zeile 58: | Zeile 62: | ||
Danach noch die initram updaten und rebooten. | Danach noch die initram updaten und rebooten. | ||
<code bash> | <code bash> | ||
- | update-initramfs -u | + | update-initramfs -u -k all |
</ | </ | ||
+ | Wenn man ein EFI system verwendet muss die Kernel-Liste im EFI Bootmenü aktualisiert werden, damit das aktualisierte anfängliche RAM-Dateisystem verwendet wird. | ||
+ | <code bash> | ||
+ | pve-efiboot-tool refresh | ||
+ | </ | ||
===== Anlegen eines neuen Pools im Raid10 und hinzufügen zweier weiteren Festplatten ===== | ===== Anlegen eines neuen Pools im Raid10 und hinzufügen zweier weiteren Festplatten ===== | ||
---- | ---- | ||
Zeile 444: | Zeile 452: | ||
</ | </ | ||
- | So kann sich die Änderungen mit diff ausgeben lassen. | + | So kann man sich die Änderungen mit diff ausgeben lassen. |
<code bash> | <code bash> | ||
zfs diff backup/ | zfs diff backup/ | ||
</ | </ | ||
- | Danach sollten Änderungen angezeigt werden. Wird hier nichts angezeigt, ist der Inhalt ok. Dann aber sein das Features am Ziel aktiviert | + | Danach sollten Änderungen angezeigt werden. Wird hier nichts angezeigt, ist der Inhalt ok. Kann aber sein das Features am Ziel aktiviert |
<code bash> | <code bash> | ||
zfs rollback backup/ | zfs rollback backup/ | ||
Zeile 635: | Zeile 643: | ||
Auf jeden sollte auch eine Überwachung der [[https:// | Auf jeden sollte auch eine Überwachung der [[https:// | ||
+ | |||
+ | ==== Proxmox Rescue ZFS ==== | ||
+ | ---- | ||
+ | |||
+ | Sollte die Maschine, aus was für einen Grund auch immer nicht mehr ins System hoch booten, und auch keine Busybox zur Verfügung stehen, kann man sich mit einem auf USB installierten PVE helfen, oder auch ein anderes ZFS fähiges OS verwenden. Solaris funktioniert nicht, da Solaris eine viel zu alte Version von ZFS verwendet, und somit nicht kompatibel ist. PCBSD wurde nicht getestet, sollte aber auch funktionieren. | ||
+ | |||
+ | Hat man mit seinem PVE Stick gebootet werden sämtliche Zpools automatisch eingebunden und gemounted. Möchte man aber auf dem Rpool Dinge ändern, muss man den Mountpoint anders setzten. Da sich der Rpool ja auf „/“ mounten möchte und das natürlich nicht geht da dieser Slot schon von unserem Sticksystem besetzt ist. Um nun trotzdem auch auf diesen Teil Zugriff zu bekommen ändern wir einfach kurzfristig den Mountpoint. | ||
+ | <code bash> | ||
+ | zfs set mountpoint=/ | ||
+ | zfs mount rpool/ | ||
+ | </ | ||
+ | |||
+ | Wir führen unsere Änderungen durch, und hängen aus und switchen zurück. | ||
+ | <code bash> | ||
+ | zfs umount rpool/ | ||
+ | zfs set mountpoint=/ | ||
+ | </ | ||
+ | |||
+ | Natürlich bevor wir das alles erledigen möge man sich vorher erkundigen ob noch etwaige Zusatzdatasets auf Root zeigen. Diese müssen vorher ausgehängt werden. | ||
+ | |||
+ | ===== sharenfs ===== | ||
+ | ---- | ||
+ | |||
+ | Nutzt man ZFS als Dateisystem ist es klug die „sharenfs“ Funktion von ZFS direkt statt dem System Export zu verwenden. Da hier die zeitliche Abfolge beim Systemstart immer optimal ist. Um eine Freigabe zu erstellen inkl. eines Datasets zu erstellen bedient man sich folgendem Befehl: | ||
+ | <code bash> | ||
+ | zfs create testpool/ | ||
+ | </ | ||
+ | |||
+ | Für IPV6 können als Source nur mehr FQDN verwendet werden. | ||
+ | |||
+ | Bei einem bestehenden Dataset: | ||
+ | <code bash> | ||
+ | zfs set sharenfs=" | ||
+ | </ | ||
+ | |||
+ | Für eine einfache Freigabe: | ||
+ | <code bash> | ||
+ | zfs set sharenfs=on testpool/ | ||
+ | </ | ||
+ | |||
+ | Um eine Freigabe zu beenden: | ||
+ | <code bash> | ||
+ | zfs set sharenfs=off testpool/ | ||
+ | </ | ||
+ | |||
+ | Das Dataset löschen, löscht natürlich auch die Freigabe. Um zu sehen welche Freigaben nun aktiv sind gibt es mehrere Möglichkeiten. Am Host selbst: | ||
+ | <code bash> | ||
+ | cat / | ||
+ | </ | ||
+ | <code bash> | ||
+ | zfs get sharenfs # kann auch mit weiteren Optionen kombiniert werden | ||
+ | </ | ||
+ | |||
+ | Von einem anderen Host: | ||
+ | <code bash> | ||
+ | showmount | ||
+ | </ | ||
+ | |||
+ | ===== Swap ===== | ||
+ | ---- | ||
+ | |||
+ | Swap direkt auf ZFS erstellen. Empfohlen, genug RAM, oder Swap auf einem nicht ZFS-Filesystem. | ||
+ | <code bash> | ||
+ | zfs create -V 8G -b $(getconf PAGESIZE) -o compression=zle -o logbias=throughput -o sync=always -o primarycache=metadata -o secondarycache=none -o com.sun: | ||
+ | </ | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | --- // |
it-wiki/linux/zfs.1616062311.txt.gz · Zuletzt geändert: 2021/03/18 10:11 von marko