One of the known methods to access glusterfs is via fuse module. However, it has some overhead or performance issues because of the number of context switches which need to be performed to complete one i/o transaction.
To overcome this limitation, a new method called ‘libgfapi’ is introduced. libgfapi support is available from GlusterFS-3.4 release.
libgfapi is a userspace library for accessing data in glusterfs. libgfapi library perform IO on gluster volumes directly without FUSE mount. It is a filesystem like api and runs/sits in application process context. libgfapi eliminates the fuse and the kernel vfs layer from the glusterfs volume access. The speed and latency have improved with libgfapi access.
Actually, libgfapi support was introduced initially in oVirt 4.1.5. It allows QEMU to access VM virtual disk on GlusterFS domain directly, giving approximately 2 times better performance in comparison to "usual" access via FUSE.
Enabling is pretty easy:
Now let's check whether LibgfApi is enabled or not. Start any of VMs, log in to corresponding oVirt node and find your VM in ps:
If you see in
drive option of the output something starting from
file=gluster://, then it means yoi did everything correct and LibgfApi is enabled for now.