added lvextend needed for gnt-instance grow-disk
[ganeti-extstorage-zfs] / README
diff --git a/README b/README
index f55a775..d55d00a 100644 (file)
--- a/README
+++ b/README
@@ -1,33 +1,77 @@
-Ganet extstorage provider for local zfs volumes
+Ganeti extstorage provider for local zfs volumes
 
 http://docs.ganeti.org/ganeti/master/html/man-ganeti-extstorage-interface.html
 
+It also encludes LVM emulation which enable zfs to work as plain disk type.
+
+This allows usage of drbd where one (or both) sides are on zfs, and supports
+gnt-backup export and import.
+
+
 INSTALLATION
 
-On node which has zfs storage pool
+On node which will host 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.
+Alternative to editing defaults.sh is to create etc/`hostname -s` file
+with minimal configuration which just specify pool name (in this case
+again hostname -s) and filesystem where new volumes will be created:
+
+  echo EXTP_ZFS=`hostname -s`/ffzgvg > etc/`hostname -s`.sh  
+
+Run install scripts:
+
+# ls install/
+1-enable-ext-template.sh  2-create-log-directory.sh  3-lvm-wrappers.sh
+
+
+Cron helper can be install under /etc/cron.daily
+
+# ls cron/
+daily-block-snapshot  purge-log
+
+
+Overview commands are available (try running them to see output):
+
+# ls bin/
+adopt  backup  ill  instance  list  node
+
+backup and instance are wrappers for running gnt-* commands
+with same name on master node
+
+adopt will create new zvol using send/receive to break dependency on origin
+(otherwise, removal of origin zvol will also remove new adopted disk
+
+
+Create test instances:
+
+# ls t/*.sh
+t/drbd.sh  t/plain.sh  t/zfs.sh
+
+Review that instaces have been created:
+
+# ./bin/ill t-
+
+Test ganeti commands after reading them:
 
-Now ssh into ganeti master node and do following:
+# ls t/gnt-*
+t/gnt-backup-export.sh  t/gnt-instance-modify.sh
 
-1. enable new disk template
 
-  gnt-cluster modify --enabled-disk-templates plain,drbd,ext \
-       --ipolicy-disk-templates plain,drbd,ext
+DRBD disk replication
 
-2. create log directory
+Ganeti's extstorage provider doesn't support drbd target.  But, lvm emulation
+scripts are sufficiant enough to create -t drbd instance or convert plain
+(created on zfs thanks to wrappers ;-) to drbd.
 
-  mkdir /var/log/ganeti/extstorage
 
-3. try instance creation with something similar to
+KNOWN BUGS for extstorage
 
-  gnt-instance add -t ext --disk=0:size=10G,provider=zfs \
-       --disk=1:size=20G,provider=zfs \
-       -n arh-hw --no-name-check --no-ip-check \
-       -o debootstrap+default -B maxmem=512M zfs-ext-test
+- gnt-backup export doesn't work because snapshoot hooks are not available
+- gnt-instance move works from somewhere to zfs, but not from zfs to somewhere