Ganet extstorage provider for local zfs volumes http://docs.ganeti.org/ganeti/master/html/man-ganeti-extstorage-interface.html INSTALLATION On node which has zfs storage pool cd /usr/share/ganeti/extstorage/ git clone https://github.com/ffzg/ganeti-extstorage-zfs zfs cd zfs vi defaults.sh You need to specify zfs filesystem under which block devices will be created. Now ssh into ganeti master node and do following: 1. enable new disk template gnt-cluster modify --enabled-disk-templates plain,drbd,ext \ --ipolicy-disk-templates plain,drbd,ext 2. create log directory mkdir /var/log/ganeti/extstorage 3. try instance creation with something similar to gnt-instance add -t ext --disk=0:size=10G,provider=zfs \ --net 0:mode=bridged,link=br1001 \ --net 1:mode=bridged,link=br0060 \ --net 2:mode=bridged,link=br0080 \ --no-name-check --no-ip-check \ -o debootstrap+default \ -B maxmem=1G -n arh-hw zfs 4. install helper scripts for daily block snapshots ln -sf /usr/share/ganeti/extstorage/zfs/bin/daily-block-snapshot /etc/cron.daily/ 5. install lvm wrapper scripts to report zfs volumes as lv find /usr/share/ganeti/extstorage/zfs/sbin/ -type f | xargs -i ln -v -s -f {} /sbin/ This scripts enable gnt-node commands to work: root@vmh02:/home/dpavlin# gnt-node list arh-hw Node DTotal DFree MTotal MNode MFree Pinst Sinst arh-hw.gnt.ffzg.hr 87.8G 87.2G 7.8G 252M 5.6G 1 0 root@vmh02:/home/dpavlin# gnt-node list-storage arh-hw Node Type Name Size Used Free Allocatable arh-hw.gnt.ffzg.hr lvm-vg arh-hw 190.0G 62.7G 127.3G Y arh-hw.gnt.ffzg.hr lvm-vg ffzgvg 87.8G 610M 87.2G Y HELPER SCRIPTS Helper scripts in bin directory list volumes, show size or snapshots. arh-hw:/usr/share/ganeti/extstorage/zfs# ./bin/list NAME USED AVAIL REFER MOUNTPOINT tmp500g/block 612M 87.2G 30K /tmp500g/block tmp500g/block/af1a90e8-0566-4cbf-bc8c-99fc82b67ce3.ext.disk0 612M 87.2G 610M - arh-hw:/usr/share/ganeti/extstorage/zfs# ./bin/size NAME PROPERTY VALUE SOURCE tmp500g/block/af1a90e8-0566-4cbf-bc8c-99fc82b67ce3.ext.disk0 volsize 11G local arh-hw:/usr/share/ganeti/extstorage/zfs# ./bin/snapshots NAME USED AVAIL REFER MOUNTPOINT tmp500g/block@etckeeper 0 - 30K - tmp500g/block/af1a90e8-0566-4cbf-bc8c-99fc82b67ce3.ext.disk0@2014-06-24 2.64M - 610M - KNOWN BUGS - in current ganeti, gnt-backup export doesn't work because extstorage snapshoot hook is not available - gnt-instance move works from somewhere to zfs, but not from zfs to somewhere