brigriffin / ganeti-extstorage-zfs

Experimental Ganeti extstorage provider for ZFS volumes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 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

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:

# ls t/gnt-*
t/gnt-backup-export.sh  t/gnt-instance-modify.sh


DRBD disk replication

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.


KNOWN BUGS for extstorage

- 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


NEW FEATURES AND FIXES by hostingnuggets

- logging (currently only command startup for dev and test purposes)
- fixed symbolic links handling of LVM emulation when renaming volumes so that
  the replace-disks and activate-disks commands of gnt-instance are usable
  (passed ganeti burnin test with following parameters: -o debootstrap+default
  --disk-size=1G -p -v inst{1..5})

About

Experimental Ganeti extstorage provider for ZFS volumes


Languages

Language:Shell 100.0%