GlusterFS is a user space distributed filesystem capable of aggregating
various storage servers into one and present it as a large storage pool to
the clients. It is a meta filesystem, hence it needs an underlying filesystem
to export (similar to NFS). As of now GlusterFS does not have any support
to export block devices to the client.
GlusterFS can be a good backend for storing KVM disk images. Efforts are
currently going on to make QEMU - GlusterFS communication more efficient by
removing overheads like FUSE layer in between.
VM images can be served to QEMU either as a file or as a block device. Using
block devices to serve VM images gives performance improvements, since it
avoids some file system bottlenecks in the host kernel. However, using block
devices to store VM images has it's own challenges, like needing one block
device per VM and/or requireing a SAN controller to servce block devices.
We are adding GlusterFS feature to export block devices as regular files
to the client for following reasons:
* VM images appear as files, thus allowing simple filesystem commands like
tar and cp to manipulate the images and in turn the logical volumes.
* It becomes easlier to support features like snapshots and linked clones
with logical volumes (block devices).
In this presentation we will talk about the design of Block Device
translator for GlusterFS, challenges faced in this approach, current
progress of development and future work required.
Hall: Hall 3 
Track: High Performance