Dell EMC PowerMax 插件¶
Dell EMC 共享文件系统服务驱动程序框架 (EMCShareDriver) 利用 Dell EMC 存储产品为 OpenStack 提供共享文件系统。Dell EMC 驱动程序是一个基于插件的驱动程序,旨在利用不同的插件来管理不同的 Dell EMC 存储产品。
PowerMax 插件用于管理 PowerMax,以提供共享文件系统。本文档中,使用 PowerMax 插件的 Dell EMC 驱动程序框架被称为 PowerMax 驱动程序。
该驱动程序通过 XMLAPI 和文件命令行在 PowerMax eNAS 上执行操作。每个后端管理 PowerMax 的一个数据搬运器 (Data Mover)。需要配置多个共享文件系统服务后端来管理多个数据搬运器。
需求¶
PowerMax eNAS OE for File 版本 8.1 或更高版本
PowerMax Unified 或 File only
应在 PowerMax 上激活以下许可证,用于 File
CIFS
NFS
SnapSure(用于快照)
ReplicationV2(用于从快照创建共享)
PowerMax 上的预配置¶
配置存储池
嵌入式 NAS 中的存储池与 PowerMax 上的存储组之间存在一一对应关系。通过 Unisphere for PowerMax UI 而不是 eNAS UI 配置用于文件存储的最佳方式。转到 ,并在 下单击
注意
创建新的存储组时,您可以分配服务级别,例如 Diamond,并禁用默认启用的压缩/去重。
要在 eNAS UI 中获取新创建的存储池,请转到 ,并在 下单击
或者在命令行上
$ nas_diskmark -mark -all -discovery y -monitor y
新的存储池现在应该出现在 eNAS UI 中
确保您拥有适当的许可证
$ nas_license -l key status value site_key online xx xx xx xx nfs online cifs online snapsure online replicatorV2 online filelevelretention online
在数据搬运器上启用 CIFS 服务。
确保在 PowerMax 驱动程序将要管理的 Data Mover 上启用了 CIFS 服务。
要启动 CIFS 服务,请使用以下命令
$ server_setup <movername> -Protocol cifs -option start [=<n>] # movername = name of the Data Mover # n = number of threads for CIFS users
注意
如果数据搬运器上有 1 GB 内存,则默认值为 96 个线程。但是,如果内存超过 1 GB,则默认线程数为 256。
要检查 CIFS 服务状态,请使用以下命令
$ server_cifs <movername> | head # movername = name of the Data Mover
命令输出将显示启动的 CIFS 线程数。
数据搬运器上的 NTP 设置。
PowerMax 驱动程序仅支持与关联了 Active Directory 安全服务的共享网络一起创建 CIFS 共享。
创建 CIFS 共享需要数据搬运器上的时间与 Active Directory 域同步,以便 CIFS 服务器可以加入域。否则,使用此安全服务创建共享时域加入将失败。有一个限制,即使对于不同的租户和不同的共享网络,所用域的时间也应同步。时间差异应小于 5 分钟。
注意
如果存在时钟偏差,您可能会看到以下错误“本地机器和远程机器未同步。Kerberos 协议要求参与者在同一 5 分钟内同步”。要修复此错误,您必须确保 eNas 控制器主机和域控制器的時間在 5 分钟之内。您必须是 root 用户才能更改 eNas 控制站的日期。还要检查您的时区是否一致。
我们建议将 NTP 服务器设置为数据搬运器和安全服务中使用的域中的相同公共 NTP 服务器,以确保时间在各处同步。
使用以下命令检查数据搬运器上的日期和时间
$ server_date <movername> # movername = name of the Data Mover
使用以下命令设置数据搬运器上的 NTP 服务器
$ server_date <movername> timesvc start ntp <host> [<host> ...] # movername = name of the Data Mover # host = IP address of the time server host
注意
主机必须运行 NTP 协议。仅允许 4 个主机条目。
配置数据搬运器上的用户映射。
在使用 PowerMax 驱动程序创建 CIFS 共享之前,您必须选择将 Windows SID 映射到 UID 和 GID 的方法。DELL EMC 建议在单协议(CIFS)环境中,默认在 PowerMax eNAS 上启用意图映射器 (usermapper)。
要检查用户映射器状态,请使用以下命令语法
$ server_usermapper <movername> # movername = name of the Data Mover
如果用户映射器未启动,请使用以下命令启动用户映射器
$ server_usermapper <movername> -enable # movername = name of the Data Mover
对于多协议环境,请参阅 EMC 支持站点 上的配置 PowerMax eNAS 用户映射,以获取更多信息。
配置网络连接。
找到具有访问共享网络权限的数据搬运器上的网络设备(NIC 上的物理端口)。
要检查 eNAS UI 上的设备列表,请转到 。
或者在命令行上
$ server_sysconfig server_2 -pci server_2 : PCI DEVICES: On Board: VendorID=0x1120 DeviceID=0x1B00 Controller 0: scsi-0 IRQ: 32 0: scsi-16 IRQ: 33 0: scsi-32 IRQ: 34 0: scsi-48 IRQ: 35 Broadcom 10 Gigabit Ethernet Controller 0: fxg-3-0 IRQ: 36 speed=10000 duplex=full txflowctl=disable rxflowctl=disable Link: Up 0: fxg-3-1 IRQ: 38 speed=10000 duplex=full txflowctl=disable rxflowctl=disable Link: Down
后端配置¶
注意
以下已弃用的标签将在 T 版本中删除
emc_nas_server_container
emc_nas_pool_names
emc_interface_ports
需要在 /etc/manila/manila.conf 文件中配置以下参数,用于 PowerMax 驱动程序
emc_share_backend = powermax
emc_nas_server = <IP address>
emc_nas_password = <password>
emc_nas_login = <user>
driver_handles_share_servers = True
powermax_server_container = <Data Mover name>
powermax_share_data_pools = <Comma separated pool names>
share_driver = manila.share.drivers.dell_emc.driver.EMCShareDriver
powermax_ethernet_ports = <Comma separated ports list>
emc_ssl_cert_verify = True
emc_ssl_cert_path = <path to cert>
share_backend_name = <Backend>
- emc_share_backend
插件名称。将其设置为 PowerMax 驱动程序的
powermax。其他值为powerscale、vnx和unity。
- emc_nas_server
要管理的 PowerMax 系统的控制站 IP 地址。
- emc_nas_password 和 emc_nas_login
用于向 PowerMax 系统提供凭据的字段。仅支持 PowerMax File 的本地用户。
- driver_handles_share_servers
PowerMax 仅支持 True,其中共享驱动程序处理共享服务器的配置和管理。
- powermax_server_container
用于服务共享的数据搬运器名称。
- powermax_share_data_pools
逗号分隔的列表,指定此后端要使用的池的名称。如果系统上的所有存储池都可以使用,则不要设置此选项。支持通配符。
示例:pool_1, pool_*, *
- powermax_ethernet_ports (可选)
逗号分隔的列表,指定可以用于共享服务器接口的数据搬运器的端口(设备)。如果数据搬运器上的所有端口都可以使用,则不要设置此选项。支持通配符。
示例:fxg-9-0, fxg-_*, *
- emc_ssl_cert_verify (可选)
默认情况下为 True,设置为 False 不建议
- emc_ssl_cert_path (可选)
如果 emc_ssl_cert_verify 为 True(推荐配置),则必须设置此路径。有关更多详细信息,请参阅
SSL Support部分。
- share_backend_name
给定驱动程序实现的后端名称。
需要重新启动 manila-share 服务才能使配置更改生效。
SSL 支持¶
在 eNas 控制站上运行以下命令,以显示活动 CS 的 CA 证书。
$ /nas/sbin/nas_ca_certificate -display
警告
如果发生故障转移,此证书将与辅助 CS 不同,因此必须使用不同的证书。
复制内容并在您的 manila 主机上创建一个带有 .pem 扩展名的文件。
-----BEGIN CERTIFICATE----- the cert contents are here -----END CERTIFICATE-----
通过运行以下命令并检查输出以验证证书
$ openssl x509 -in test.pem -text -noout
Certificate: Data: Version: 3 (0x2) Serial Number: xxxxxx Signature Algorithm: sha1WithRSAEncryption Issuer: O=VNX Certificate Authority, CN=xxx Validity Not Before: Feb 27 16:02:41 2019 GMT Not After : Mar 4 16:02:41 2024 GMT Subject: O=VNX Certificate Authority, CN=xxxxxx Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: xxxxxx Exponent: xxxxxx X509v3 extensions: X509v3 Subject Key Identifier: xxxxxx X509v3 Authority Key Identifier: keyid:xxxxx DirName:/O=VNX Certificate Authority/CN=xxxxxx serial:xxxxx X509v3 Basic Constraints: CA:TRUE X509v3 Subject Alternative Name: DNS:xxxxxx, DNS:xxxxxx.localdomain, DNS:xxxxxxx, DNS:xxxxx Signature Algorithm: sha1WithRSAEncryption xxxxxx
由于需要 capath 而不是 cafile,因此将文件复制到新的目录或现有目录(其中存在其他 .pem 文件)。
在目录上运行以下命令
$ c_rehash $PATH_TO_CERTS
使用 .pem 存在的目录更新 manila.conf。
emc_ssl_cert_path = /path_to_certs/
重新启动 manila 服务。
快照支持¶
默认情况下禁用快照支持,因此为了允许共享类型的快照,必须将 snapshot_support 额外规范设置为 True。默认情况下也禁用从快照创建共享,因此如果需要此功能,则必须将 create_share_from_snapshot_support 也设置为 True。
对于新的共享类型
$ manila type-create --snapshot_support True \
--create_share_from_snapshot_support True \
${share_type_name} True
对于现有的共享类型
$ manila type-key ${share_type_name} \
set snapshot_support=True
$ manila type-key ${share_type_name} \
set create_share_from_snapshot_support=True
从 snapshot_support=True 的共享创建快照
$ manila snapshot-create ${source_share_name} --name ${target_snapshot_name}
从 create_share_from_snapshot_support=True 的快照创建目标共享
$ manila create cifs 3 --name ${target_share_name} \
--share-network ${share_network} \
--share-type ${share_type_name} \
--metadata source=snapshot \
--snapshot-id ${snapshot_id}
IPv6 支持¶
PowerMax Manila 驱动程序的 IPv6 支持是在 Rocky 版本中引入的。该功能分为两部分
驱动程序能够管理 Neutron IPv6 网络中的共享或快照。
驱动程序可以使用其 IPv6 地址连接 PowerMax 管理界面。
IPv6 支持的预配置¶
需要在 /etc/manila/manila.conf 文件中配置以下参数,用于 PowerMax 驱动程序
network_plugin_ipv6_enabled = True
如果您想使用 IPv6 地址连接到 eNAS 控制器,请在 /etc/manila/manila.conf 中指定地址
emc_nas_server = <IPv6 address>
限制¶
PowerMax 驱动程序具有以下限制
仅支持
driver_handles_share_servers等于 True。仅支持 NFS 的 IP 访问类型。
仅支持 CIFS 的用户访问类型。
仅支持 FLAT 网络和 VLAN 网络。
VLAN 网络支持有限。用于创建共享网络的不同 VLAN 中的 neutron 子网不能具有重叠的地址空间。否则,PowerMax 可能无法与 VLAN 中的主机通信。要为不同的 VLAN 创建具有相同子网地址的共享,请使用不同的数据搬运器。
Active Directory 安全服务是唯一支持的安全服务类型,并且需要创建 CIFS 共享。
每个共享网络只能配置一个安全服务。
即使对于不同的租户,
active_directory安全服务的域名也应唯一。数据搬运器和安全服务中使用的 Active Directory 域上的时间应同步(时间差异应小于 10 分钟)。我们建议在数据搬运器和 Active Directory 域上使用相同的 NTP 服务器。
在 eNAS 上,快照存储在 SavVols 中。eNAS 系统允许创建和扩展 SavVol 使用的空间,直到系统中所有 SavVol 使用的空间总和超过系统可用总空间的默认 20%。如果达到 20% 的阈值,eNAS 将生成警报。继续创建快照将导致旧快照失效(并且快照数据将被放弃)。存储管理员可以手动更改限制百分比值,具体取决于存储需求。我们建议管理员配置 SavVol 使用情况的通知。有关更多信息,请参阅 EMC 支持站点 上的使用 eNAS SnapSure 文档。
eNAS 对虚拟数据搬运器、文件系统、共享和检查点的总数有限制。虚拟数据搬运器 (VDM) 由 eNAS 驱动程序在 eNAS 上创建,作为共享文件系统服务共享服务器。同样,文件系统由 VDM 创建、挂载并通过 CIFS 或 NFS 协议导出,作为共享文件系统服务共享。eNAS 检查点作为共享文件系统服务快照。有关限制和相应配置配额,请参阅 EMC 支持站点 上的 NAS 支持矩阵文档。
其他说明¶
eNAS
nas_quotas不应与 OpenStack manila 配额混淆。前者编辑挂载文件系统的配额,并显示文件系统级别(按用户、组或树)或配额树级别(按用户或组)的配额和磁盘使用情况的列表。nas_quotas还打开和关闭配额,并清除文件系统、配额树或数据搬运器的配额记录。有关更多信息,请参阅 EMC 支持站点 上的 PowerMax eNAS CLI 参考指南。$ manila quota-show --tenant <project_id> --user <user_id> +-----------------------+-------+ | Property | Value | +-----------------------+-------+ | share_groups | 50 | | gigabytes | 1000 | | snapshot_gigabytes | 1000 | | share_group_snapshots | 50 | | snapshots | 50 | | shares | 50 | | share_networks | 10 | +-----------------------+-------+
驱动程序选项¶
此驱动程序特定的配置选项
配置选项 = 默认值 |
描述 |
|---|---|
[DEFAULT] |
|
|
(List) 用逗号分隔的端口列表,可用于共享服务器接口。列表成员可以使用类 Unix 风格的 glob 表达式。 |
|
(字符串) 托管 NAS 服务器的数据搬运器。 |
|
(List) 用逗号分隔的池列表,可用于持久化共享数据。 |