Starting with GlusterFS 3.4.0 there is a an API which can be used to access files on a GlusterFS volume directly without the FUSE-mount. Qemu supports this starting from version 1.2.0.
GlusterFS
Since we run Qemu as unprivileged user we have to permit access to GlusterFS from an unprivileged port as well as an unprivileged user.
To achieve that, add the following line to the volume management
in /etc/glusterfs/glusterd.vol
on all involved storage nodes and restart glusterd:
option rpc-auth-allow-insecure on
and run the following command on a gluster node:
gluster volume set virtualization server.allow-insecure On
Libvirt
The XML has to be changed only slightly. Following is an example:
<disk type='network' device='disk'> <driver name='qemu' type='qcow2'/> <source protocol='gluster' name='virtualization/vm-templates/5b77d2f6-061f-410c-8ee7-9e61da6f1927/f3d87cf9-f7d8-4224-b908-cc9fc6c8fcd4.qcow2'> <host name='10.1.120.11'/> </source> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk>
What changes:
disk-type
- has to be
network
instead offile
source
- has now a
protocol
and aname
instead of afile
attribute as well as a new subelementhost
, where thename
is the filename without/var/