Hitachi NAS (HNAS) 驱动¶
HNAS 驱动为 OpenStack 提供 NFS 共享文件系统。
需求¶
Hitachi NAS 平台型号 3080、3090、4040、4060、4080 和 4100。
HNAS/SMU 软件版本为 12.2 或更高版本。
HNAS 配置和管理实用程序,用于创建存储池(span)和 EVS。
GUI (SMU)。
SSC CLI。
驱动程序选项¶
此表包含特定于共享驱动程序的配置选项。
配置选项 = 默认值 |
描述 |
|---|---|
[DEFAULT] |
|
|
(字符串) 指定用于在 Admin 网络中挂载共享的 IP。 |
|
(布尔值) 默认情况下,当共享有客户端连接时,不允许获取 CIFS 快照,因为无法保证所有文件的时点一致性副本。启用此选项可能会导致 CIFS 共享上的不一致快照。 |
|
(字符串) 集群管理节点的 IP。仅在 HNAS 多节点集群中使用。 |
|
(字符串) 用于驱动程序助手的 Python 类。 |
|
(整数) 指定此后端分配给哪个 EVS。 |
|
(字符串) 指定用于挂载共享的 IP。 |
|
(字符串) 指定用于创建共享的文件系统名称。 |
|
(字符串) HNAS 管理接口 IP,用于 Manila 控制器和 HNAS 之间的通信。 |
|
(字符串) HNAS 用户密码。仅在未提供私钥时才需要。 |
|
(字符串) 用于连接到 HNAS 的 RSA/DSA 私钥值。仅在未提供密码时才需要。 |
|
(整数) 在放弃之前等待 HNAS 停滞作业的时间(以秒为单位)。 |
|
(字符串) HNAS 用户名 Base64 字符串,用于执行创建文件系统和网络接口等任务。 |
[hnas1] |
|
|
(字符串) 给定驱动程序实现的后端名称。 |
|
(字符串) 用于创建共享的驱动程序。 |
OpenStack 部署上的预配置¶
安装带有 manila 的 OpenStack 环境。请参阅 OpenStack 安装指南。
配置 OpenStack 网络,使其能够到达 HNAS 管理接口和 HNAS EVS 数据接口。
注意
在 HNAS 驱动程序使用的驱动程序模式下(DHSS =
False),驱动程序不处理网络配置,由管理员配置它。配置 manila-share 节点网络的网络,以便通过管理网络到达 HNAS 管理接口。
配置 Compute 和 Networking 节点的网络,以便通过数据网络到达 HNAS EVS 数据接口。
网络架构示例
编辑
/etc/neutron/plugins/ml2/ml2_conf.ini文件,并在各自的标签中更新以下设置。如果您使用 linuxbridge,请在 linuxbridge 部分更新桥接映射
重要提示
必须通过管理网络从共享文件系统节点访问 HNAS 管理接口,同时通过数据网络(例如通过 Neutron flat 网络)从 OpenStack Cloud 访问所选的 EVS 数据接口。
[ml2] type_drivers = flat,vlan,vxlan,gre mechanism_drivers = openvswitch [ml2_type_flat] flat_networks = physnet1,physnet2 [ml2_type_vlan] network_vlan_ranges = physnet1:1000:1500,physnet2:2000:2500 [ovs] bridge_mappings = physnet1:br-ex,physnet2:br-eth1
如果 Compute 节点上存在,您可能需要在另一个文件中重复上述最后一行,它位于:
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini。如果 neutron 代理使用 openvswitch,则在网络节点上运行
# ifconfig eth1 0 # ovs-vsctl add-br br-eth1 # ovs-vsctl add-port br-eth1 eth1 # ifconfig eth1 up
重新启动所有 neutron 进程。
在 OpenStack 中创建数据 HNAS 网络
列出可用的项目
$ openstack project list
为给定的项目 (DEMO) 创建网络,提供项目名称、网络的名称、虚拟网络实现的物理网络的名称以及物理机制的类型
$ openstack network create --project DEMO \ --provider-network-type flat \ --provider-physical-network physnet2 hnas_network
可选:列出可用的网络
$ openstack network list
为同一个项目 (DEMO) 创建子网,该子网的网关 IP、子网的名称、之前创建的网络名称以及子网的 CIDR
$ openstack subnet create --project DEMO --gateway GATEWAY \ --subnet-range SUBNET_CIDR --network NETWORK HNAS_SUBNET
可选:列出可用的子网
$ openstack subnet list
将子网接口添加到路由器,提供路由器名称和之前创建的子网名称
$ openstack router add subnet SUBNET ROUTER
HNAS 上的预配置¶
在 HNAS 上创建文件系统。请参阅 Hitachi HNAS 参考。
重要提示
确保文件系统未创建为复制目标。有关更多信息,请参阅官方 HNAS 管理指南。
准备 HNAS EVS 网络。
在 HNAS 中创建到项目网络的路由
$ console-context --evs <EVS_ID_IN_USE> route-net-add \ --gateway <FLAT_NETWORK_GATEWAY> <TENANT_PRIVATE_NETWORK>
重要提示
确保已启用多租户,并为每个 EVS 配置路由。
$ console-context --evs 3 route-net-add --gateway 192.168.1.1 \ 10.0.0.0/24
配置 CIFS 安全性。
在使用 HNAS 驱动程序的 CIFS 共享之前,请确保在后端配置安全服务。有关详细信息,请参阅 Hitachi HNAS 参考。
后端配置¶
配置 HNAS 驱动程序。
根据您的环境配置 HNAS 驱动程序。以下示例显示了一个最小的 HNAS 驱动程序配置
[DEFAULT] enabled_share_backends = hnas1 enabled_share_protocols = NFS,CIFS [hnas1] share_backend_name = HNAS1 share_driver = manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver driver_handles_share_servers = False hitachi_hnas_ip = 172.24.44.15 hitachi_hnas_user = supervisor hitachi_hnas_password = supervisor hitachi_hnas_evs_id = 1 hitachi_hnas_evs_ip = 10.0.1.20 hitachi_hnas_file_system_name = FS-Manila hitachi_hnas_cifs_snapshot_while_mounted = True
注意
参数
hds_hnas_cifs_snapshot_while_mounted允许在挂载 CIFS 共享时获取快照。默认情况下,此参数设置为False,这可以防止在共享挂载或使用时获取快照。
可选。HNAS 多后端配置。
使用逗号分隔的后端名称更新
enabled_share_backends标志。根据以下示例为每个后端添加一个部分
[DEFAULT] enabled_share_backends = hnas1,hnas2 enabled_share_protocols = NFS,CIFS [hnas1] share_backend_name = HNAS1 share_driver = manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver driver_handles_share_servers = False hitachi_hnas_ip = 172.24.44.15 hitachi_hnas_user = supervisor hitachi_hnas_password = supervisor hitachi_hnas_evs_id = 1 hitachi_hnas_evs_ip = 10.0.1.20 hitachi_hnas_file_system_name = FS-Manila1 hitachi_hnas_cifs_snapshot_while_mounted = True [hnas2] share_backend_name = HNAS2 share_driver = manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver driver_handles_share_servers = False hitachi_hnas_ip = 172.24.44.15 hitachi_hnas_user = supervisor hitachi_hnas_password = supervisor hitachi_hnas_evs_id = 1 hitachi_hnas_evs_ip = 10.0.1.20 hitachi_hnas_file_system_name = FS-Manila2 hitachi_hnas_cifs_snapshot_while_mounted = True
禁用 HNAS 共享类型配置的 DHSS
注意
共享文件系统要求共享类型包含
driver_handles_share_servers额外规范。这可确保共享将在支持请求的driver_handles_share_servers功能的后端上创建。$ manila type-create hitachi False
可选:添加用于启用 HNAS 支持的功能的额外规范
这些命令将启用 HNAS 中支持的各种快照相关功能。
$ manila type-key hitachi set snapshot_support=True $ manila type-key hitachi set mount_snapshot_support=True $ manila type-key hitachi set revert_to_snapshot_support=True $ manila type-key hitachi set create_share_from_snapshot_support=True
要指定在多个后端设置的情况下将由共享创建的 HNAS 后端,请为每个共享类型添加一个额外的规范以匹配特定的后端。因此,可以指定共享文件系统服务在创建共享时将使用哪个后端。
$ manila type-key hitachi set share_backend_name=hnas1 $ manila type-key hitachi2 set share_backend_name=hnas2
重新启动所有共享文件系统服务 (
manila-share、manila-scheduler和manila-api)。
管理和取消管理快照¶
共享文件系统服务还具有管理共享快照的能力。只要快照目录位于 /snapshots/share_ID 中,就可以管理现有的 HNAS 快照。通过共享文件系统服务创建的新快照也根据此特定的文件夹结构创建。
要**管理**快照,请使用
$ manila snapshot-manage [--name <name>] [--description <description>]
[--driver_options [<key=value> [<key=value> ...]]]
<share> <provider_location>
其中
参数 |
描述 |
|---|---|
|
要管理的共享的 ID 或名称。可以使用 |
|
后端上的快照位置,例如 |
|
驱动程序相关的配置,例如 |
注意
对于 NFS 和 CIFS 共享,强制性的 provider_location 参数使用相同的语法。这仅适用于快照管理。
注意
对于 HNAS 驱动程序,--driver_options 参数 size 是**必需的**。管理员需要事先知道要管理的快照的大小。
注意
如果共享类型中的 mount_snapshot_support=True 额外规范已设置,则 HNAS 驱动程序在管理快照时会自动创建导出(如果尚不存在)。
要**取消管理**快照,请使用
$ manila snapshot-unmanage <snapshot>
其中
参数 |
描述 |
|---|---|
|
快照的名称或 ID。 |
其他说明¶
HNAS 对 EVS、文件系统、虚拟卷和并发 SSC 连接的数量有一些限制。请查阅您的系统手册规范。
共享和快照是稀疏配置的。仅向共享文件系统报告 HNAS 中实际使用的空间。此外,快照最初不会占用 HNAS 中的任何空间,它仅存储共享和快照之间的差异,因此当共享数据发生更改时才会增长。
管理员应管理项目的配额 (manila quota-update) 以控制后端的用法。
在还原到快照操作后,需要重新挂载共享。