zfs set sync=disabled rpool/data
Risiken: Die letzten 5–10 Sekunden der Schreibvorgänge gehen bei einem Stromausfall verloren (kann durch den Einsatz einer USV gemildert werden
Was kann verloren gehen
• Metadaten des VM-Dateisystems • Datenbanktransaktionen • Kürzlich geschriebene Dateien • Journal-Einträge
Was bewirkt das?:: Beseitigt langsame Synchronisierungsschreibvorgänge; Schreibvorgänge erfolgen zunächst im RAM
zfs set compression=lz4 rpool/data
Risiken: Keine (geringer CPU-Verbrauch)
Warum hilft das? Weniger geschriebene Daten → schnellere Schreib- und Lesevorgänge
zfs set atime=off rpool/data
Risiken: Einige ältere Anwendungen benötigen Zugriffszeiten
Beispiele:
• Alte Backup-Tools • Einige Mailserver
Was sich verbessert
• Beseitigt unnötige Metadaten-Schreibvorgänge • Schnelleres Lesen • Geringere Latenz
zfs set xattr=sa rpool/data
zfs set primarycache=all rpool/data
zfs set redundant_metadata=most rpool
Risiken: Wenn Sie den Datensatz auf ein sehr altes ZFS-System (vor 2013) verschieben, wird das SA-Format möglicherweise nicht erkannt.
Was es verbessert
• Schnellerer Zugriff auf Metadaten • Bessere Leistung für Linux-VMs • Geringerer Overhead
Schlechtes Beispiel☹ –> zfs set recordsize=16K rpool
zfs set recordsize=16K rpool/data/vm-100-disk-0
Wende 16K nur auf VM-Festplatten an😊 –> rpool/data/vm-XXX-disk-0
Risiken: Wenn Sie 16K auf den falschen Datensatz anwenden, kann dies die Leistung beeinträchtigen.
Was sich verbessert
• Leistung der VM-Festplatten • Zufällige E/A • Datenbank-Workloads
Ich habe mich ein wenig informiert und Folgendes über recordsize=16K herausgefunden: „zfs list“ in Proxmox die Datensatzgröße anzeigt und dass „recordsize=16K“ nur für VMs gilt
VM-Festplatten =16K
ISO-Images =128K
Backups = 128 KB–1 MB
Vorlagen = 128K
Übergeordneten Datensatz zurücksetzen
zfs set recordsize=128K rpool/data
Dann: 16K NUR auf VM-Festplatten anwenden
Aber zuerst auflisten:
zfs list
Sie sehen:
rpool/data/vm-100-disk-0
rpool/data/vm-101-disk-0
Wenden Sie 16K an:
zfs set recordsize=16K rpool/data/vm-100-disk-0
zfs set recordsize=16K rpool/data/vm-101-disk-0
Wenn Sie Datenbanken in einer VM ausführen:
zfs set recordsize=8K rpool/data/vm-200-disk-0
https://knowledgebase.45drives.com/kb/kb450207-how-to-add-cache-drives-l2arc-to-zfs-pool/
zfs set logbias=throughput rpool/data
Risiken: Wenn Sie Datenbanken betreiben, die auf Synchronisierungsschreibvorgänge mit geringer Latenz angewiesen sind, kann dies die Beständigkeit beeinträchtigen.
Für VMs ist dies unbedenklich.
Was verbessert wird
• Sequentielle Schreibgeschwindigkeit • Festplattendurchsatz der VM
Risiko: Kein Risiko (sicher)
nano /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=103079215104
update-initramfs -u
Neustart
ARC-Größe Bytes Wert
64 GB 68719476736
80 GB 85899345920
96 GB 103079215104
100 GB 107374182400
Überprüfen:
cat /proc/spl/kstat/zfs/arcstats | grep c_max
Risiken: Bei zu hoher Einstellung → RAM-Mangel
Wenn Sie ARC auf 100 % des Arbeitsspeichers einstellen, wird das System:
• den Kernel aushungern • Proxmox mit zu wenig RAM versorgen • VMs mit Speicher aushungern • Swapping starten • unter Last einfrieren
✔ Was es verbessert
• Riesiger Lese-Cache • Schnellere Schreibvorgänge (Coalescing) • Geringere Latenz • Bessere VM-Leistung
Stellen Sie den Cache auf „none“ ein, da ZFS über einen eigenen Cache verfügt und dieser mit Proxmox doppelt vorhanden wäre Speichercontroller auf „SCSI VIRTIO“ (schneller) Option „autotrim discard“ in der GUI
zpool set autotrim=on rpool
Risiken: Keine
Weitere Informationen unter
https://www.youtube.com/watch?v=6Kw901oqxI8 https://forum.proxmox.com/threads/blocksize-recordsize-thin-provision-options.155553/
Anpassung der Datensatzgröße: https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Workload%20Tuning.html#recordsize Eigenschaften des Datensatzes (Datensatzgröße):https://openzfs.github.io/openzfs-docs/man/7/zfsprops.7.html#recordsize Proxmox ZFS-Speicheroptimierung:https://pve.proxmox.com/wiki/ZFS_on_Linux