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