GlusterFS 驱动

GlusterFS 驱动使用 GlusterFS,一个开源的分布式文件系统,作为存储后端,为共享文件系统客户端提供文件共享。

注意

此驱动程序已在 18.0.0 版本中弃用。

支持的共享文件系统和操作

该驱动程序支持 NFS 共享。

支持以下操作

  • 创建共享。

  • 删除共享。

  • 允许共享访问。

    请注意以下限制

    • 仅支持 IP 访问类型

    • 仅支持读写访问。

  • 拒绝共享访问。

需求

  • 在存储后端安装 glusterfs-server 包,版本 >= 3.5.x。

  • 如果使用 NFS-Ganesha 作为 GlusterFS 后端的 NFS 服务器,请安装 NFS-Ganesha,版本 >=2.1。

  • 在共享文件系统服务主机上安装 glusterfs 和 glusterfs-fuse 包,版本 >=3.5.x。

  • 建立共享文件系统服务主机与存储后端之间的网络连接。

共享文件系统服务驱动程序配置设置

共享文件系统服务的配置文件 manila.conf 中的以下参数需要设置

share_driver = manila.share.drivers.glusterfs.GlusterfsShareDriver

如果后端 GlusterFS 服务器运行在共享文件系统服务主机上

glusterfs_target = <glustervolserver>:/<glustervolid>

如果后端 GlusterFS 服务器运行在远程

glusterfs_target = <username>@<glustervolserver>:/<glustervolid>

已知限制

  • 该驱动程序不支持网络分段的多租户模型,而是通过一个扁平网络工作,租户共享一个网络。

  • 如果 NFS Ganesha 是 GlusterFS 后端使用的 NFS 服务器,则可以通过 NFSv3 和 v4 协议访问共享。但是,如果 GlusterFS 后端使用 Gluster NFS,则只能通过 NFSv3 协议访问共享。

  • 所有共享文件系统服务共享,它们映射到 GlusterFS 卷中的子目录,当前都在 GlusterFS 存储池的单个 GlusterFS 卷中创建。

  • 该驱动程序不为共享提供只读访问级别。

驱动程序选项

下表包含特定于共享驱动程序的配置选项。

GlusterFS 共享驱动程序配置选项的描述

配置选项 = 默认值

描述

[DEFAULT]

glusterfs_ganesha_server_ip = None

(字符串) 远程 Ganesha 服务器节点的 IP 地址。

glusterfs_ganesha_server_password = None

(字符串) 远程 Ganesha 服务器节点的登录密码。如果配置了 ‘glusterfs_path_to_private_key’,则不需要此项。

glusterfs_ganesha_server_username = root

(字符串) 远程 Ganesha 服务器节点的用户名。

glusterfs_mount_point_base = $state_path/mnt

(字符串) 包含 Gluster 卷挂载点的基本目录。

glusterfs_nfs_server_type = Gluster

(字符串) 调解访问 Gluster 卷的 NFS 服务器的类型(Gluster 或 Ganesha)。

glusterfs_path_to_private_key = None

(字符串) Manila 主机的 SSH 私钥文件的路径。

glusterfs_server_password = None

(字符串) 远程 GlusterFS 服务器节点的登录密码。如果配置了 ‘glusterfs_path_to_private_key’,则不需要此项。

glusterfs_servers =

(列表) 可用于创建共享的 GlusterFS 服务器列表。每个 GlusterFS 服务器应采用 [remoteuser@]<volserver> 的形式,并且假定它们属于不同的 Gluster 集群。

glusterfs_share_layout = None

(字符串) 指定 GlusterFS 共享布局,即关联备份 GlusterFS 资源到共享的方法。

glusterfs_target = None

(字符串) 指定要在 Manila 主机上挂载的 GlusterFS 卷。它采用 [remoteuser@]<volserver>:<volid> 的形式。

glusterfs_volume_pattern = None

(字符串) 用于过滤 GlusterFS 卷以进行共享创建的正则表达式模板。正则表达式模板可以选择性地(即,在 GlusterFS 后端支持的情况下)包含 #{size} 参数,该参数匹配一个整数(数字序列),在这种情况下,该值应解释为卷的大小,以 GB 为单位。示例:“manila-share-volume-d+$”、“manila-share-volume-#{size}G-d+$”;相应的匹配卷名称为:“manila-share-volume-12”、“manila-share-volume-3G-13”。在后一个示例中,匹配“#{size}”的数字,即 3,表示卷的大小为 3G。