Start FAQ Software Linux allgemein ZFS Performance mit SSD erhöhen
ZFS Performance mit SSD erhöhen PDF Drucken E-Mail
Geschrieben von: Administrator   
Samstag, den 19. Januar 2019 um 17:50 Uhr

ZFS Performance mit SSD erhöhen

 

Ich habe hier in meinem Debian-Server in den letzten Monaten immer wieder Performance-Probleme mit dem ZFS.

 

Auf meinem System laufen derzeit 25 virtuelle Maschinen und deren Virtual-Disks liegen alls auf dem ZFS-Dateisystem.

 

Ich habe eine Weg gefunden nachträglich einen Schreib-Lese Cache in den Zpool zu integrieren.

 

Zuerst habe ich mir eine Enterprise SSD besorgt die für den Dauerbetrieb gemacht ist (24/7)
z.B. Samsung PRO SSD

 

Man kann die SSD einfach in den bestehenden ZFS Pool integrieren.
Zuvor muss man allerdings einige Schritte ausführen.

 

Zuerst auf der SSD mit parted eine neu GPT-Partition erstellen.

Dann zwei Partitionen anlegen (eine für Cache und eine fürs Log)

Bei einer 256 GB Partition habe ich 2x 120 GB genommen.

 

parted /dev/sde
create gpt Partition

create 120G 
Toggle "FreeBSD zfs" (Nr 36)

Dies macht man für beide Partitionen.

Wenn die Partitionen angelegt sind ist es wichtig auch ein Dateisystem darauf zu erzeugen,
sonst schreibt das ZFS auf die "RAW-Partition"

Die macht man mit dem Befehl

zpool create -f log1  /dev/sde1
zpool create -f cache1  /dev/sde2

 

Hiermit legt man zwei neue ZFSPools an mit dem namen log1 und cache1.
Dies ist nötig damit das System die Festplatte mit dem ZFS beschreibt (wie formatieren)

 

Danach muss man die beiden Pools wieder auflösen.

zpool destroy log1
zpool destroy cache1

 

Nun kann man die beiden Partitionen dem bestehenden ZFS-Pool hinzufügen.

zpool add zfspool log /dev/sde1
zpool add zfspool cache /dev/sde2

Diese Schritte wiederholt man mit der zweiten SSD (sofern vorhanden)

zpool create -f cache mirror /dev/sdd1 /dev/sde1
zpool create -f log mirror /dev/sdd2 /dev/sde2

Damit hat man zwei gespiegelte Partitionen angelegt die man dann einbinden kann.

 

Mit dem Befehl zpool status kann man sehen das das Cache und Log Dateisystem eingehängt wurde.

NAME                      STATE     READ WRITE CKSUM
zfspool                   ONLINE       0     0     0
raidz1-0                ONLINE       0     0     0
zfs-80e6dfxxxxxxxxxxx  ONLINE       0     0     0
zfs-12f97xxxxxxxxxxxx  ONLINE       0     0     0
zfs-4567fxxxxxxxxxxxx  ONLINE       0     0     0
zfs-34abfxxxxxxxxxxxx  ONLINE       0     0     0
zfs-a0be4xxxxxxxxxxx  ONLINE       0     0     0
zfs-4522xxxxxxxxxxxx  ONLINE       0     0     0
logs
sde2                    ONLINE       0     0     0
cache
sde3                    ONLINE       0     0     0

 

ACHTUNG ! Wegen der Ausfallsicherheit sollte man eigentlich 2 SSDs einbauen die gespiegelt werden.
ACHTUNG ! Wenn der Cache ausfällt (die SSD versagt) wird das Raid degraded und ist nicht mehr sicher.
ACHTUNG ! Wenn die Log-Platte ausfallen sollte gehen eventuell Daten verloren, die noch nicht auf das Raidz geschrieben wurden !

 

Ich habe als zusätzliche Sicherheit noch stündliche Snapshots auf dem ZFS laufen, damit man im Fehlerfall das Dateisystem wieder reparieren kann.
Zusätzlich habe ich ein nächtliches Backup laufen das ALLE Daten aus dem System auf eine 10TB Backup Platte sichert.

Als zweite Backupstufe wird dann noch die Sicherung auf ein externes NAS Laufwerk geschrieben.

 

Im Server habe ich nur noch ein SATA-Anschluss frei daher muss eine SSD reichen.

 

ACHTUNG dies ist aufgrund der Konfiguration mit nur einer SSD Festplatte eine gefährliche Konfiguration und es droht Datenverlust wenn man kein Backup hat.

 

Ich übernehme Keinerlei Haftung für diese Anleitung.

 

Viel Spass noch

 

Euer Admin

 

 

 

 

Zuletzt aktualisiert am Dienstag, den 12. Februar 2019 um 23:13 Uhr
 

Powered by hardwarecrash Valid XHTML and CSS.