MapRFS native driver¶
MapR-FS native driver is a plug-in based on the Shared File Systems service and provides high-throughput access to the data on MapR-FS distributed file system, which is designed to hold very large amounts of data.
A Shared File Systems service share in this driver is a volume in MapR-FS. Instances talk directly to the MapR-FS storage backend via the (mapr-posix) client. To mount a MapR-FS volume, the MapR POSIX client is required. Access to each share is allowed by user and group based access type, which is aligned with MapR-FS ACEs to support access control for multiple users and groups. If user name and group name are the same, the group access type will be used by default.
For more details, see MapR documentation.
Network configuration¶
The storage backend and Shared File Systems service hosts should be in a flat network. Otherwise, the L3 connectivity between them should exist.
Requirements¶
Install MapR core packages, version >= 5.2.x, on the storage backend.
To enable snapshots, the MapR cluster should have at least M5 license.
Establish network connection between the Shared File Systems service hosts and storage backend.
Obtain a ticket for user who will be used to access MapR-FS.
Back end configuration (manila.conf)¶
Add MapR-FS protocol to enabled_share_protocols:
enabled_share_protocols = MAPRFS
Create a section for MapR-FS backend. Example:
[maprfs]
driver_handles_share_servers = False
share_driver =
manila.share.drivers.maprfs.maprfs_native.MapRFSNativeShareDriver
maprfs_clinode_ip = example
maprfs_ssh_name = mapr
maprfs_ssh_pw = mapr
share_backend_name = maprfs
Set driver-handles-share-servers to False as the driver does not
manage the lifecycle of share-servers.
Add driver backend to enabled_share_backends:
enabled_share_backends = maprfs
Driver options¶
All configuration options for this driver are documented in the Configuration Reference.
Known restrictions¶
This driver does not handle user authentication, no tickets or users are created by this driver. This means that when ‘access_allow’ or ‘update_access’ is calling, this will have no effect without providing tickets to users.