fix snapshot detection
[ganeti-extstorage-zfs] / README
diff --git a/README b/README
index 5a74d98..b0ba03a 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,89 @@
 Ganet extstorage provider for local zfs volumes
 
+http://docs.ganeti.org/ganeti/master/html/man-ganeti-extstorage-interface.html
+
 INSTALLATION
 
-cd /usr/share/ganeti/extstorage/
-git clone https://github.com/ffzg/ganeti-extstorage-zfs zfs
+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  -
+
+
+DRBD disk replication
+
+Ganti's extstorage provider doesn't support drbd target. But, lvm emulation scripts are sufficiant enough
+to create -t drdb instance or convert plain (created on zfs thanks to wrappers ;-) to drdb.
+
+
+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