motivation example: drbd+zfs and gnt-backup
[ganeti-extstorage-zfs] / README
1 Ganeti extstorage provider for local zfs volumes
2
3 http://docs.ganeti.org/ganeti/master/html/man-ganeti-extstorage-interface.html
4
5 It also encludes LVM emulation which enable zfs to work as plain disk type.
6
7 This allows sage of drbd where one (or both) sides are on zfs, and supports
8 gnt-backup export and import.
9
10 INSTALLATION
11
12 On node which will host zfs storage pool
13
14   cd /usr/share/ganeti/extstorage/
15   git clone https://github.com/ffzg/ganeti-extstorage-zfs zfs
16   cd zfs
17   vi defaults.sh
18
19 Run install scripts:
20
21 # ls install/
22 1-enable-ext-template.sh  2-create-log-directory.sh  3-lvm-wrappers.sh
23
24 Cron helper can be install under /etc/cron.daily
25
26 # ls cron/
27 daily-block-snapshot  purge-log
28
29 Overview commands are available (try running them to see output):
30
31 # ls bin/
32 adopt  backup  ill  instance  list  node
33
34 backup and instance are wrappers for running gnt-* commands
35 with same name on master node
36
37 Create test instances:
38
39 # ls t/*.sh
40 t/drbd.sh  t/plain.sh  t/zfs.sh
41
42 Review that instaces have been created:
43
44 # ./bin/ill t-
45
46 Test ganeti commands after reading them:
47
48 # ls t/gnt-*
49 t/gnt-backup-export.sh  t/gnt-instance-modify.sh
50
51
52 DRBD disk replication
53
54 Ganeti's extstorage provider doesn't support drbd target. But, lvm emulation scripts are sufficiant enough
55 to create -t drbd instance or convert plain (created on zfs thanks to wrappers ;-) to drbd.
56
57
58 KNOWN BUGS for extstorage
59
60 - gnt-backup export doesn't work because extstorage snapshoot hook are not available
61 - gnt-instance move works from somewhere to zfs, but not from zfs to somewhere
62
63
64 KNOWN BUGS for using -t plain on top of zfs
65
66 - cron/daily-block-snapshot snapshots are not correctly renamed
67 - bin/adopt will create new zvol using send/receive to break dependency on origin
68   (otherwise, deleting of origin file system will also delete new adopted instance)