ZFS Optimierung und Todsünden
ZFS Funktionen für SSDs
-
zpool get autotrim <poolname>
: Auslesen ob „autotrim“ eingeschaltet ist -
zpool trim <poolname>
: Pool manuell trimmen -
zpool status -t <poolname>
: Auslesen TRIM status -
zpool set autotrim=on <poolname>
: generell trimmen (autotrim einschalten, wenn manuelles trimmen erfolgreich)
-
zfs add rpool cache nvmn0e1
: füge nvmn0e1 als cache Device in rpool
ZFS mit Spindeln
-
Je mehr Spindeln desto schneller
-
Gespiegelte Disks ggf. auf mehrere SAS Lanes verteilen (dmesg beobachten)
-
SAS ist schneller als SATA!
-
Maximaler Speed ist oft durch alte HBA limitiert (6/12G)
-
G ist Gigabit, also 6/8 = 750MB/sek max
-
Todsünden
HW RAID Controller nutzen und mehrere LUNs als Raid VDEVs nutzen
Datenverust, kein Smart, keine Metriken
-
Single VDEV Raid z. B. auf Hardware Raid oder iSCSI/FC SANBei Beschädigung kann keine weitere Disk die Redundanz, bzw. die Konsistenz bestätigen. Wenn ein VDEV zu viele Fehler liefert, lehnt ZFS es für einen weiteren Import dauerhaft ab!!! Eventuell zpool import -fFX poolname probieren, destruktiv für Rollback auf letzten guten Zustand, sehr riskant
- Deduplizierung aktivierenkann nicht mehr ausgeschaltet werden, ggf. in neueren ZFS Versionen optimiert
-
ZFS_ARC zu klein / zu großschlechte Leistung, bei Cache und LOG mehr ARC notwendig
- Pool über 80% FüllstandLeistungseinschränkung bis Stillstand bei ca 96%
-
Snapshot Bereinigung / Management aus dem Blick verlierenführt ggf. unbeobachtet zu vollem Raid
- Snapshots auf Backupsvöllig kontraproduktiv, führt zu sehr vollem Raid
-
Anfügesnapshot durch schlechtes Management verlierenReplikation benötigt neuen Platz und Zeit
-
Druckbetankungdafür ist ZFS nicht gemacht, was mehr kann, braucht auch mehr Leistung
-
PVE auf selbem RAID wie Systeme (OS auf Datenpool)Last auf VMs führt im Härtefall bis zum Kernelcrash
- Kein ECC RAMDatenbeschädigung die nicht in jedem Fall durch Scrub und Resilver behoben werden kann (selten)
-
Proxmox Datastore auf ZFS Dataset Directory setzenProxmox erstellt eventuell beim Booten den Ordner selbst und ZFS kann dann nicht mounten, Rollback setzt alle virtuellen Disks im Dataset zurück
- Platzangaben vertrauenRecordsizes, Volblocksizes, Compressions, Special Devices und Co. machen eine Vorhersage fast unmöglich und rechtfertigen Thin Provisioning
-
zpool upgrade zu früh oder zu spätpool upgrade erweitert features die ggf. beim aktuellen Proxmox ISO noch nicht verfügbar, jedoch im Upgrade verfügbar sind. Im Recoveryfall kann man nur readonly mounten!
-
Festplatte ersetzen bei Proxmox ZFS Boot Systemenzpool replace sollte nur nach Übernahme der Partitionstabelle einer funktionierenden Disk auf die dritte Partition ausgeführt werden, zusätzlich mit proxmox-boot-tool init/format auf die zweite Partition.
- iSCSI LUNs mit Proxmoxnicht empfehlenswert, bestenfalls mit dem Free-/TrueNAS Plugin. Wie lange das supportet ist weiss keiner.
-
Import Proxmox Pool in Recovery UmgebungAchtung Eigentümer des Pools ändert sich, daher zpool import -fa benutzen, beim nächsten boot wieder zpool import -fa und exit, /etc/pve ist in Recoveryumgebung nicht vorhande, da aus FUSE generiert
- Billige USB Adapter und GehäuseManche Adapter haben alle die gleiche Kennung, daher ggf. Raid erstellen und importieren über zpool import /dev/disk/by-path oder by-partuuid
Raid ohne dryrun erweitern
'zpool add -n rpool mirror sdc3 sdd3' wäre korrekt, wobei es tödlich wäre hier das wort mirror zu vergessen-
Konsumer SSDs für Cache und LOG
Waren im Dauerbetrieb schon nach weniger als zwei Jahren am Limit, währen Enterprise SSDs nach 9 Jahren erst bei 30% waren. Getestet mit Samsung Consumer und Intel Enterprise VMs nicht trimmen
Discard in VMs gibt mit SSD Emulation freie Blöcke an ZFS zurück, ansonsten sehr viel Platz verschenkt!
rpool/8k 1.49G 15.2T 81.4K -
scsi-201000000000000005cd2e475ae4b5651-part3 ONLINE 0 0 0
scsi-201000000000000005cd2e4f1bd4e5651-part3 ONLINE 0 0 0
scsi-201000000000000005cd2e4ef8f4b5651-part3 ONLINE 0 0 0
scsi-201000000000000005cd2e4889d4b5651-part3 ONLINE 0 0 0