User Tools

Site Tools


proxmox_tuning

Die Optimierung von ZFS und die damit verbundenen Risiken:

1. Synchronisationsschreibvorgänge deaktivieren (ENORME Geschwindigkeitssteigerung)

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

2. LZ4-Komprimierung aktivieren (moderate Leistungssteigerung)

zfs set compression=lz4 rpool/data

Risiken: Keine (geringer CPU-Verbrauch)

Warum hilft das? Weniger geschriebene Daten → schnellere Schreib- und Lesevorgänge

3. Deaktivieren Sie atime (geringe Leistungssteigerung)

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

4.xattr=sa (Deutliche Leistungssteigerung für Linux-VMs)

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
  
  
  

5. recordsize=16K (große Leistungssteigerung für VM-Festplatten) {Sie müssen dies auf den entsprechenden Datensatz anwenden}

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/

6. logbias=throughput

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
  

7. zfs set relatime=off rpool/data (geringe Leistungssteigerung)(do not Do for now)

Risiko: Kein Risiko (sicher)

8. Anpassung der ARC-Größe (für 96 GB) (enorme Leistungssteigerung bei Lese- und Schreibvorgängen)

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

9. autotrim=on

proxmox_tuning.txt · Last modified: by misa