Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:linux:zfs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
it-wiki:linux:zfs [2021/03/18 10:13] – [Snapshot kann nicht gesendet werden] markoit-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/TiB-Storage. For example, if you have a pool with 8 TiB of available storage space then you should use 10 GiB of memory for the ARC.</note>
 ---- ----
  
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>
 <code bash> <code bash>
 vim  /etc/modprobe.d/zfs.conf vim  /etc/modprobe.d/zfs.conf
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
 </code> </code>
  
 +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
 +</code>
 ===== 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 635: Zeile 643:
  
 Auf jeden sollte auch eine Überwachung der [[https://pve.proxmox.com/wiki/Disk_Health_Email_Alerts|Smart-Werte]] konfiguriert werden. Auf jeden sollte auch eine Überwachung der [[https://pve.proxmox.com/wiki/Disk_Health_Email_Alerts|Smart-Werte]] konfiguriert werden.
 +
 +==== 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=/mnt rpool/ROOT/pve-1
 +zfs mount rpool/ROOT/pve-1
 +</code>
 +
 +Wir führen unsere Änderungen durch, und hängen aus und switchen zurück.
 +<code bash>
 +zfs umount rpool/ROOT/pve-1
 +zfs set mountpoint=/ rpool/ROOT/pve-1
 +</code>
 +
 +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/testnfs -o sharenfs="rw=@hostname1.local,rw=@192.168.1.3,no_root_squash,no_subtree_check,async"
 +</code>
 +
 +Für IPV6 können als Source nur mehr FQDN verwendet werden.
 +
 +Bei einem bestehenden Dataset:
 +<code bash>
 +zfs set sharenfs="rw=@hostname1.local,rw=@192.168.1.3,no_root_squash,no_subtree_check,async" testpool/testnfs
 +</code>
 +
 +Für eine einfache Freigabe:
 +<code bash>
 +zfs set sharenfs=on testpool/testnfs
 +</code>
 +
 +Um eine Freigabe zu beenden:
 +<code bash>
 +zfs set sharenfs=off testpool/testnfs
 +</code>
 +
 +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 /etc/dfs/sharetab
 +</code>
 +<code bash>
 +zfs get sharenfs # kann auch mit weiteren Optionen kombiniert werden
 +</code>
 +
 +Von einem anderen Host:
 +<code bash>
 +showmount  -e hostname.local
 +</code>
 +
 +===== 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:auto-snapshot=false v-machines/swap
 +</code>
 +\\
 +\\
 +\\
 + --- //[[marko.oldenburg@cooltux.net|Marko Oldenburg]] 2023/02/11 08:23//
it-wiki/linux/zfs.1616062387.txt.gz · Zuletzt geändert: 2021/03/18 10:13 von marko