From: Eric Blake iscsi, logical, scsi
(all since 0.4.1), mpath
(since 0.7.1), rbd
- (since 0.9.13), or sheepdog
- (since 0.10.0). This corresponds to the
+ (since 0.9.13), sheepdog
+ (since 0.10.0),
+ or gluster (since
+ 1.2.0). This corresponds to the
storage backend drivers listed further along in this document.
dirdir). May
+ type dir), or optionally to select a subdirectory
+ within a pool that resembles a filesystem (pool
+ type gluster). May
only occur once. Contains a single attribute path
which is the fully qualified path to the backing directory.
Since 0.4.1hostnetfs, iscsi,
- rbd, sheepdog). Will be
+ rbd, sheepdog, gluster). Will be
used in combination with a directory
or device element. Contains an attribute name
which is the hostname or IP address of the server. May optionally
@@ -160,7 +164,8 @@
namelogical, rbd,
- sheepdog). Contains a string identifier.
+ sheepdog, gluster). Contains a
+ string identifier.
Since 0.4.5formatglusterfs - use the glusterfs FUSE file system.
For now, the dir specified as the source can only
be a gluster volume name, as gluster does not provide a way to
- directly mount subdirectories within a volume.
+ directly mount subdirectories within a volume. (To bypass the
+ file system completely, see
+ the gluster pool.)
cifs - use the SMB (samba) or CIFS file system
@@ -652,5 +657,89 @@
The Sheepdog pool does not use the volume format type element.
+
+ This provides a pool based on native Gluster access. Gluster is
+ a distributed file system that can be exposed to the user via
+ FUSE, NFS or SMB (see the netfs
+ pool for that usage); but for minimal overhead, the ideal access
+ is via native access (only possible for QEMU/KVM compiled with
+ libgfapi support).
+
+ The cluster and storage volume must already be running, and it
+ is recommended that the volume be configured with gluster
+ volume set $volname storage.owner-uid=$uid
+ and gluster volume set $volname
+ storage.owner-gid=$gid for the uid and gid that qemu will
+ be run as. It may also be necessary to
+ set rpc-auth-allow-insecure on for the glusterd
+ service, as well as gluster set $volname
+ server.allow-insecure on, to allow access to the gluster
+ volume.
+
+ Since 1.2.0
+
A gluster volume corresponds to a libvirt storage pool. If a
+ gluster volume could be mounted as mount -t glusterfs
+ localhost:/volname /some/path, then the following example
+ will describe the same pool without having to create a local
+ mount point. Remember that with gluster, the mount point can be
+ through any machine in the cluster, and gluster will
+ automatically pick the ideal transport to the actual bricks
+ backing the gluster volume, even if on a different host than the
+ one named in the host designation.
+ The <name> element is always the volume name
+ (no slash). The pool source also supports an
+ optional <dir> element with
+ a path attribute that lists the absolute name of a
+ subdirectory relative to the gluster volume to use instead of
+ the top-level directory of the volume.
+ <pool type="gluster"> + <name>myglusterpool</name> + <source> + <name>volname</name> + <host name='localhost'/> + <dir path='/'/> + </source> + </pool>+ +
Libvirt storage volumes associated with a gluster pool
+ correspond to the files that can be found when mounting the
+ gluster volume. The name is the path relative to
+ the effective mount specified for the pool; and
+ the key is a path including the gluster volume
+ name and any subdirectory specified by the pool.
+ <volume> + <name>myfile</name> + <key>volname/myfile</key> + <source> + </source> + <capacity unit='bytes'>53687091200</capacity> + <allocation unit='bytes'>53687091200</allocation> + </volume>+ +
Files within a gluster volume can be attached to Qemu guests. + Information about attaching a Gluster image to a + guest can be found + at the format domain + page.
+ ++ The Gluster pool does not use the pool format type element. +
+ +
+ The valid volume types are the same as for the directory
+ pool type.
+