通用共享配置方法¶
共享文件系统服务可以配置为使用计算虚拟机和块存储服务卷。共享文件系统服务中有两个模块处理它们
service_instance模块在计算中创建虚拟机,并使用预定义的镜像,该镜像名为service image。该模块可用于任何驱动程序,以便配置服务虚拟机,从而能够为租户隔离共享资源。generic模块与块存储服务卷以及由service_instance模块创建的虚拟机一起工作,然后基于附加到虚拟机的卷创建共享文件系统。
网络配置¶
每个驱动程序都可以以自己的方式处理网络,请参阅:https://wiki.openstack.org/wiki/manila/Networking。
可以使用 service_instance 模块选择两种可能的配置来配置共享:
服务虚拟机具有一个网络接口,该接口连接到连接到公共路由器的网络。为了成功创建共享,用户网络也应连接到公共路由器。
服务虚拟机有两个网络接口,第一个连接到服务网络,第二个直接连接到用户的网络。
服务镜像要求¶
基于 Linux 的发行版
NFS 服务器
Samba 服务器 >= 3.2.0,可以通过存储在注册表中的数据进行配置
SSH 服务器
配置为 DHCP 的两个网络接口(参见网络方法)
用于共享操作的
exportfs和net conf库将使用以下文件,如果它们的路径不同,则需要至少为它们创建符号链接
/etc/exports:包含 NFS 导出的永久文件。/var/lib/nfs/etab:exportfs使用的包含 NFS 导出的临时文件。/etc/fstab:包含挂载文件系统的永久文件。/etc/mtab:mount使用的包含挂载文件系统的临时文件。
支持的共享文件系统和操作¶
该驱动程序支持CIFS和NFS共享。
支持以下操作
创建共享。
删除共享。
允许共享访问。
请注意以下限制
仅支持 IP 访问类型用于 NFS 和 CIFS。
拒绝共享访问。
创建快照。
删除快照。
从快照创建共享。
扩展共享。
缩小共享。
已知限制¶
Nova 的一种配置仅允许每个服务器 26 个共享。此限制来自用于连接块设备的虚拟 PCI 接口的最大数量。在此配置中,有两个虚拟 PCI 接口用于服务器需求,其余 26 个用于连接用作共享的块设备。
使用 Windows 实例¶
虽然通用驱动程序仅支持 Linux 实例,但如果需要 Windows 实例,可以使用 Windows SMB 驱动程序。
有关更多详细信息,请查看以下页面:Windows SMB 驱动程序。
驱动程序选项¶
下表包含特定于此驱动程序的配置选项。
配置选项 = 默认值 |
描述 |
|---|---|
[DEFAULT] |
|
|
(布尔值) 将共享服务器直接连接到共享网络。仅与 Neutron 配合使用,并且如果 driver_handles_share_servers=True。 |
|
(字符串) 用于卷的 LVM 卷组。此卷组必须由云管理员独立于 manila 操作创建。 |
|
(布尔值) Manila 中的共享驱动程序有两种可能的处理方法。第一种是共享驱动程序能够处理共享服务器,第二种是不能。驱动程序可以支持这两种方法中的任何一种或仅支持其中一种。因此,如果共享驱动程序能够处理共享服务器并且是所需模式,则将此选项设置为 True,否则设置为 False。默认设置为 None,以使此选择具有目的性。 |
|
(字符串) 用于确定主机优劣的方程的字符串表示形式。 |
|
(字符串) Vif 驱动程序。仅与 Neutron 配合使用,并且如果 driver_handles_share_servers=True。 |
|
(字符串) 将创建并用于服务实例的密钥对名称。仅在 driver_handles_share_servers=True 时使用。 |
|
(整数) 等待 cinder 卷附加的最大时间。 |
|
(整数) 等待创建服务实例的最大时间(秒)。 |
|
(整数) 等待创建 cinder 卷的最大时间。 |
|
(整数) 等待扩展 cinder 卷的最大时间。 |
|
(字符串) 要使用的 Open vSwitch 网桥的名称。 |
|
(字符串) 主机私钥的路径。 |
|
(字符串) 主机公钥的路径。仅在 driver_handles_share_servers=True 时使用。 |
|
(字典) 此后端的协议访问映射。应是一个字典,由 {‘access_type1’: [‘share_proto1’, ‘share_proto2’], ‘access_type2’: [‘share_proto2’, ‘share_proto3’]} 组成。 |
|
(字符串) Glance 中用于服务实例创建的镜像名称。仅在 driver_handles_share_servers=True 时使用。 |
|
(字符串) 用于服务实例创建的风味 ID。仅在 driver_handles_share_servers=True 时使用。 |
|
(字符串) Nova 中要用于共享导出的服务实例的名称或 ID。仅在禁用共享服务器处理时使用。 |
|
(字符串) 服务实例的名称。仅在 driver_handles_share_servers=True 时使用。 |
|
(字符串) 已弃用:用于在 driver_handles_share_servers=True 时选择 neutron 和 nova 帮助程序之间进行选择。已过时。此选项不再使用,因为不再支持 nova 网络。 |
|
(字符串) 服务实例用户的密码。 |
|
(字符串) 用于服务实例创建的安全组名称。仅在 driver_handles_share_servers=True 时使用。 |
|
(字符串) 服务实例中的 SMB 配置文件路径。 |
|
(字符串) 用于身份验证的服务实例中的用户。 |
|
(字符串) 可以是 Nova 中服务实例用于获取 IP 地址的网络名称,也可以是在那里管理共享的 IP 地址本身。仅在禁用共享服务器处理时使用。 |
|
(字符串) manila 服务网络的 CIDR。仅与 Neutron 配合使用,并且如果 driver_handles_share_servers=True。 |
|
(整数) 此掩码用于将服务网络划分为子网,具有此掩码的子网的 IP 容量直接定义了每个租户子网可以创建的服务 VM 的数量。仅与 Neutron 配合使用,并且如果 driver_handles_share_servers=True。 |
|
(字符串) manila 服务网络的名称。仅与 Neutron 配合使用。仅在 driver_handles_share_servers=True 时使用。 |
|
(列表) 指定共享导出助手列表。 |
|
(字符串) 服务实例中共享将挂载的父路径。 |
|
(字符串) 此后端的共享挂载模板。必须指定带有所有必要参数的执行文件以支持的协议。‘proto’ 模板元素如果包含在命令中,则可能不需要。‘export’ 和 ‘path’ 模板元素是必需的。建议为每个后端分隔不同的命令。 |
|
(字符串) 此后端的共享卸载模板。必须指定带有所有必要参数的执行文件以支持的协议。‘path’ 模板元素是必需的。建议为每个后端分隔不同的命令。 |
|
(字符串) 共享卷的文件系统类型。 |
|
(字符串) 可以是 Nova 中服务实例用于获取 IP 地址的网络名称,也可以是在那里导出共享的 IP 地址本身。仅在禁用共享服务器处理时使用。 |
|
(字符串) 卷名称模板。 |
|
(字符串) 卷快照名称模板。 |
[glance] |
|
|
(字符串) 要使用的 Glance API 版本。 |
|
(字符串) 连接到 glance 的区域名称。 |
|
(字符串) 身份验证 URL |
|
(字符串) 要加载的身份验证类型 |
|
(字符串) 在验证 HTTPS 连接时使用的 PEM 编码的证书颁发机构。 |
|
(String) PEM 编码的客户端证书文件 |
|
(Boolean) 收集每个 API 调用所花费的时间信息。 |
|
(String) 可选的域 ID,用于 v3 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 可选的域名称,用于 v3 API 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 要限定的域 ID |
|
(String) 要限定的域名称 |
|
(Boolean) 验证 HTTPS 连接。 |
|
(String) PEM 编码的客户端证书密钥文件 |
|
(String) 用户的密码。 |
|
(String) 包含项目的域 ID |
|
(String) 包含项目的域名称 |
|
(String) 要限定的项目 ID |
|
(String) 要限定的项目名称 |
|
(Boolean) 将请求记录到多个记录器。 |
|
(String) 系统操作的范围 |
|
(Integer) HTTP 请求的超时值 |
|
(String) 信任 ID |
|
(String) 用户的域 ID |
|
(String) 用户的域名称 |
|
(String) 用户 ID |
|
(String) 用户名 |
[cinder] |
|
|
(Boolean) 允许在不同可用区之间附加实例和卷。 |
|
(Integer) cinderclient 在失败的 HTTP 调用上重试的次数。 |
|
(String) 与 cinder 客户端调用一起使用的端点类型。 |
|
(String) 连接到 cinder 的区域名称。 |
|
(字符串) 身份验证 URL |
|
(字符串) 要加载的身份验证类型 |
|
(字符串) 在验证 HTTPS 连接时使用的 PEM 编码的证书颁发机构。 |
|
(String) PEM 编码的客户端证书文件 |
|
(Boolean) 收集每个 API 调用所花费的时间信息。 |
|
(String) 可选的域 ID,用于 v3 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 可选的域名称,用于 v3 API 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 要限定的域 ID |
|
(String) 要限定的域名称 |
|
(Boolean) 验证 HTTPS 连接。 |
|
(String) PEM 编码的客户端证书密钥文件 |
|
(String) 用户的密码。 |
|
(String) 包含项目的域 ID |
|
(String) 包含项目的域名称 |
|
(String) 要限定的项目 ID |
|
(String) 要限定的项目名称 |
|
(Boolean) 将请求记录到多个记录器。 |
|
(String) 系统操作的范围 |
|
(Integer) HTTP 请求的超时值 |
|
(String) 信任 ID |
|
(String) 用户的域 ID |
|
(String) 用户的域名称 |
|
(String) 用户 ID |
|
(String) 用户名 |
[neutron] |
|
|
(String) 连接到 neutron 的 URL。 |
|
(Integer) 连接到 neutron 的超时值(秒)。 |
|
(String) 以管理员身份连接到 neutron 的身份验证策略。 |
|
(String) 与 neutron 客户端调用一起使用的端点类型。 |
|
(String) 以管理员身份连接到 neutron 的区域名称。 |
|
(字符串) 身份验证 URL |
|
(字符串) 要加载的身份验证类型 |
|
(字符串) 在验证 HTTPS 连接时使用的 PEM 编码的证书颁发机构。 |
|
(String) PEM 编码的客户端证书文件 |
|
(Boolean) 收集每个 API 调用所花费的时间信息。 |
|
(String) 可选的域 ID,用于 v3 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 可选的域名称,用于 v3 API 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 要限定的域 ID |
|
(String) 要限定的域名称 |
|
(Boolean) 验证 HTTPS 连接。 |
|
(String) PEM 编码的客户端证书密钥文件 |
|
(String) 用户的密码。 |
|
(String) 包含项目的域 ID |
|
(String) 包含项目的域名称 |
|
(String) 要限定的项目 ID |
|
(String) 要限定的项目名称 |
|
(Boolean) 将请求记录到多个记录器。 |
|
(String) 系统操作的范围 |
|
(Integer) HTTP 请求的超时值 |
|
(String) 信任 ID |
|
(String) 用户的域 ID |
|
(String) 用户的域名称 |
|
(String) 用户 ID |
|
(String) 用户名 |
[nova] |
|
|
(String) 要使用的 Nova API 版本。 |
|
(String) 与 nova 客户端调用一起使用的端点类型。 |
|
(String) 连接到 nova 的区域名称。 |
|
(字符串) 身份验证 URL |
|
(字符串) 要加载的身份验证类型 |
|
(字符串) 在验证 HTTPS 连接时使用的 PEM 编码的证书颁发机构。 |
|
(String) PEM 编码的客户端证书文件 |
|
(Boolean) 收集每个 API 调用所花费的时间信息。 |
|
(String) 可选的域 ID,用于 v3 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 可选的域名称,用于 v3 API 和 v2 参数。它将用于 v3 中的用户和项目域,并在 v2 身份验证中被忽略。 |
|
(String) 要限定的域 ID |
|
(String) 要限定的域名称 |
|
(Boolean) 验证 HTTPS 连接。 |
|
(String) PEM 编码的客户端证书密钥文件 |
|
(String) 用户的密码。 |
|
(String) 包含项目的域 ID |
|
(String) 包含项目的域名称 |
|
(String) 要限定的项目 ID |
|
(String) 要限定的项目名称 |
|
(Boolean) 将请求记录到多个记录器。 |
|
(String) 系统操作的范围 |
|
(Integer) HTTP 请求的超时值 |
|
(String) 信任 ID |
|
(String) 用户的域 ID |
|
(String) 用户的域名称 |
|
(String) 用户 ID |
|
(String) 用户名 |