ZFS als VMware Datastorage
Seit längerem wollte ich einmal OpenSolaris ausprobieren und mich mit dem Dateisystem ZFS beschäftigen. Die interessanten Vorteile für mich sind:
- 128 BIT Speicherverwaltung (quasi unlimitierter Platz)
- automatische Deduplizierung und Komprimierung
- Software RAID Verwaltung (zpool)
Nachdem ich nun auf einer Testmaschine OpenSolaris SNV_134 heruntergeladen und installiert habe, war ich zuerst über die Einfachheit des Systems erstaunt. Also die normalen Vorgänge (ZFS Volume erstellen) gehen sehr einfach und logisch von der Hand. Einzig die Einstellungen danach müssen erstmal getätigt werden (z.B. Komprimierung und Deduplizierung).
Erstellen eines ZPools:
zpool create $POOLNAME $RAIDTYP $PLATTE(N)
Nun muss im Pool ein Verzeichnis erstellt werden:
zfs create $POOLNAME/$VERZEICHNISNAME
Dedup + Komprimierung einschalten:
zfs set dedup=on $POOLNAME
zfs set compression=on $POOLNAME
Verzeichnis per NFS Freigeben:
zfs set sharenfs=rw,root=$HOSTS $POOLNAME/$VERZEICHNISNAME $NFSFREIGABENAME
und schon hat man einen NFS Speicher für ESX. Bitte beachtet das die Performance bei einer Echtzeit Dedup/Komprimierung ein Flaschenhals ist. Daher sollte es nur für Ablage Zwecke (in meinem Fall Backup) genutzt werden.
Die Resultate sind auch nicht schlecht (für einen Test mit 43 GB in 4 VMDKs aufgeteilt). Eine kleine Tabelle der Größen
VMFS ZFS
5 GB 2,8 GB
5 GB 1,3 GB
17 GB 11 GB
16 GB 9,8 GB
Nicht schlecht für einen ersten Test.
Links:
http://www.vmachine.de/cms/index.php/de/nfs-server-fuer-esx
http://www.ngud.de/2009/11/installation-opensolaris-als-backupserver-esxi4-host/
http://docs.sun.com/app/docs/doc/820-2313/gamnd?a=view
http://blog.laspina.ca/ubiquitous/running-zfs-over-nfs-as-a-vmware-store