[Gluster-users] glusterfs via libgfapi as local block device?
Dan Lambright
dlambrig at redhat.com
Sat Mar 29 13:23:53 UTC 2014
Dave,
The Linux target driver has a back-end module to gluster using libgfapi. You can use iSCSI in this way to connect to gluster.
http://stgt.sourceforge.net/
Below I paste the README.glfs file.
Feel free to email me if you have any questions about it.
----
The 'glfs' backing-store driver provides block access to a file within the
gluster distributed file system (www.gluster.org). The file represents a
LUN visible to the initiator (the file may be a regular file in gluster's
underlying XFS filesystem, or a gluster "block device"). This configuration
gives gluster support for any access method supported by the target driver,
such as iSCSI.
The backing-store driver uses the interfaces to gluster in libgfapi.so.
This file is part of the glusterfs-api package which can be downloaded from
www.gluster.org.
To build the glfs backing store driver, set the GLFS_BS environment
variable (export GLFS_BD=1) before running Make.
When a LUN on a target is created with backing store of type glfs (--bstype
glfs), a handle to gluster is created. The handle is destroyed when the
target is closed. The handle represents a particular volume on a gluster
server and a particular file representing the LUN.
To set the gluster volume and file, --backing-store takes the form:
volume at hostname:filename
For example, if the volume name was vol1 , and the host gprfs010, and file
name was "disk1", you would set --backing-store to:
--backing-store="vol1 at gprfs010:disk1"
For each CDB, the driver issues an appropriate gluster api call against the
handle. For example, WRITE_16 becomes glfs_pwrite(), SYNCHRONIZE_CACHE
becomes glfs_fdatasync() and UNMAP becomes glfs_discard().
Each call is synchronous, meaning the thread will wait for a response from
gluster before returning to the caller. The libgfapi interfaces support
asynchronous calls, and an asynchronous version of the driver has been
tested. For more information on the asynchronous version please contact
dlambrig at redhat.com.
If the backing store driver was not used, the linux target driver could
still write data to gluster by loopback mounting the gluster file system.
The backing-store would be a file within the file system. Gluster uses FUSE
to forward I/O from the kernel to it's user space daemon. The overhead
incured by FUSE and the kernel is removed when the backing store driver and
libgfapi package is used.
The libgfapi interfaces supports logs. You can use the --bsopts option to
set the logfile and loglevel.
--bsops="logfile=glfs.log;loglevel=3"
----- Original Message -----
From: "Dave Christianson" <davidchristianson3 at gmail.com>
To: gluster-users at gluster.org
Sent: Saturday, March 29, 2014 9:11:25 AM
Subject: [Gluster-users] glusterfs via libgfapi as local block device?
I see many posts regarding using libgfapi for qemu guest voluimes, but how about as a mounted volume at the OS level? Is there a way to mount a glusterfs share as a local block device in Linux, bypassing the FUSE? Instead of doing a mount -t glusterfs server:/volume, which appears as type fuse.glusterfs, can libgfapi be used to allow direct access and eliminate the fuse overhead? Do i need to set this up as iSCSI target in order for this to work?
Thanks,
Dave
_______________________________________________
Gluster-users mailing list
Gluster-users at gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-users
More information about the Gluster-users
mailing list