X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=README;h=fda0dd76b045ec7e52417b80aad412f4ced01031;hb=2a23537ff819524de4c1a9445de5812becff969d;hp=5765b930965a6b759c381f725e629df456566e6c;hpb=c2088f86938412377e0c5cc900982221381094a0;p=ganeti-extstorage-zfs diff --git a/README b/README index 5765b93..fda0dd7 100644 --- a/README +++ b/README @@ -1,31 +1,68 @@ -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 sage 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. +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 + +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: + +# ls t/gnt-* +t/gnt-backup-export.sh t/gnt-instance-modify.sh + -Now ssh into ganeti master node and do following: +DRBD disk replication -1. enable new disk template +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. - gnt-cluster modify --enabled-disk-templates plain,drbd,ext \ - --ipolicy-disk-templates plain,drbd,ext -2. create log directory +KNOWN BUGS for extstorage - mkdir /var/log/ganeti/extstorage +- gnt-backup export doesn't work because extstorage snapshoot hook are not available +- gnt-instance move works from somewhere to zfs, but not from zfs to somewhere -3. try instance creation with something similar to - 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 +KNOWN BUGS for using -t plain on top of zfs +- cron/daily-block-snapshot snapshots are not correctly renamed +- bin/adopt will create new zvol using send/receive to break dependency on origin + (otherwise, deleting of origin file system will also delete new adopted instance)