The sheepdog datastore driver provides OpenNebula with the possibility of using sheepdog based block-devices for VM images instead of the default file form.
To contribute bug patches or new features, you can use the github Pull Request model. It is assumed that code and documentation are contributed under the Apache License 2.0.
More info:
- How to Contribute
- Support: OpenNebula user mailing list
- Development: OpenNebula developers mailing list
- Issues Tracking: Github issues (https://github.com/OpenNebula/addon-sheepdog/issues)
- Leader: Fabian Zimmermann ([email protected])
This add-on is compatible with OpenNebula 4.12
Password-less ssh access to the sheepdog-nodes.
A working sheepdog cluster is required. (http://sheepdog.github.io/sheepdog/)
There are some limitations:
Libvirt based snapshots (Snapshots-tab in OpenNebula) are not working as expected. A snapshot is created, but you will not be able to use OpenNebula or libvirt snapshot-revert to restore it automatically!
Workaround: Use Storage-Snapshots (Storage-tab in OpenNebula) to create a hot-copy as soon as your VM in suspend-to-disk.
! Create a backup of your system !
- ssh to opennebula management system
cd /usr/src
git clone https://github.com/OpenNebula/addon-sheepdog
bash addon-sheepdog/install.sh
- restart opennebula
- oneadmin have to be able to execute "dog" as root without password
cat >/etc/sudoers.d/opennebula-sheepdog <<EOF
Cmnd_Alias ONE_SHEEPDOG = /usr/sbin/dog
oneadmin ALL=(ALL) NOPASSWD: ONE_SHEEPDOG
EOF
- sheepdog-support in qemu required
qemu-img --help | grep -o sheepdog && echo 'OK' || echo 'MISSING!'
- access your sunstone webgui
- create a new datastore
- select preset "sheepdog"
- click "create"
- select your new datastore
- add attribute
name: BRIDGE_LIST
value: a space seperated list of sheepdog-nodes (used for maint. by one )
- optional attribute
name: SHEEPDOG_HOST
value: a space seperated list of sheepdog-nodes (used as targets by qemu)