Hitachi NAS 平台文件服务 OpenStack 驱动¶
驱动版本 3.0¶
Hitachi NAS 平台存储要求¶
此 Hitachi NAS 平台文件服务 OpenStack 驱动程序支持 Hitachi NAS 平台 (HNAS) 型号 3080、3090、4040、4060、4080 和 4100,以及 NAS OS 12.2 或更高版本。在配置驱动程序之前,请确保 HNAS 至少具有
1 个存储池(span)已配置。
1 个 EVS 已配置。
1 个文件系统在此 EVS 中,创建时未使用复制目标选项,并且应处于已挂载状态。建议禁用自动扩展,因为调度器在创建共享时会使用文件系统报告的当前可用空间。
1 个具有“supervisor”权限级别的管理用户已配置。
Hitachi NAS 管理界面应可从 manila-share 节点访问。
此外,如果驱动程序将创建 CIFS 共享,则必须先在 HNAS 中配置 LDAP 服务器或域,以提供用户和组。
支持的操作¶
以下操作在此版本的 Hitachi NAS 平台文件服务 OpenStack 驱动程序中受支持
创建和删除 CIFS 和 NFS 共享;
扩展和缩小共享;
管理共享规则(允许/拒绝访问);
允许和拒绝共享访问;
IP访问类型支持NFS共享;User访问类型支持CIFS共享;NFS 和 CIFS 共享都支持
RW和RO访问级别;
管理和取消管理共享;
创建和删除快照;
从快照创建共享。
驱动程序配置¶
本文档包含 Hitachi NAS 平台文件服务 OpenStack 驱动程序的安装和用户指南。虽然提到了共享文件系统服务操作和 HNAS 命令,但两者都不在此文档的范围内。请参阅各自的指南以获取详细信息。
在配置驱动程序之前,请确保运行 manila-share 服务的节点可以访问 HNAS 管理端口,并且计算和网络节点可以访问数据端口(EVS IP 或聚合)。
驱动程序配置可以总结为以下步骤
在
manila.conf中配置 HNAS 参数;准备网络,确保所有 OpenStack-HNAS 连接(如上所述);
配置/创建共享类型;
重新启动服务;
配置 OpenStack 网络。
步骤 1 - HNAS 参数配置¶
需要在 /etc/manila/manila.conf 的 [DEFAULT] 部分中配置以下参数
选项 |
描述 |
|---|---|
enabled_share_backends |
用于指定后端的章节名称。例如:enabled_share_backends = hnas1 |
enabled_share_protocols |
指定允许用于共享创建的协议列表。此驱动程序版本支持 NFS 和/或 CIFS。 |
需要在 /etc/manila/manila.conf 的 [backend] 部分中配置以下参数
选项 |
描述 |
|---|---|
share_backend_name |
后端的名称。 |
share_driver |
Python 模块路径。对于此驱动程序 必须是:manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver |
driver_handles_share_servers |
驱动程序工作模式。对于此驱动程序 必须是:False。 |
hitachi_hnas_ip |
用于 manila-share 节点与 HNAS 通信的 HNAS 管理界面 IP。 |
hitachi_hnas_user |
此字段用于向 HNAS 提供用户凭据。提供的管理用户必须具有“supervisor”权限级别。 |
hitachi_hnas_password |
此字段用于向 HNAS 提供密码凭据。必须设置 hitachi_hnas_password 或 hitachi_hnas_ssh_private_key 中的一个。 |
hitachi_hnas_ssh_private_key |
使用 RSA/DSA 私钥路径设置此参数,以允许驱动程序连接到 HNAS。 |
hitachi_hnas_evs_id |
此后端分配到的 EVS 的 ID(可以使用 CLI “evs list” 或 HNAS 界面中的 EVS 管理列出 ID)。 |
hitachi_hnas_evs_ip |
用于挂载共享的 EVS IP(可以使用 CLI “evs list” 或 HNAS 界面中的 EVS 管理列出)。 |
hitachi_hnas_file_system_name |
位于指定 EVS 中的 HNAS 中的文件系统名称。 |
hitachi_hnas_cluster_admin_ip0* |
如果 HNAS 处于多农场(一个 SMU 管理多个 HNAS)配置中,请将此参数设置为集群管理节点的 IP。 |
hitachi_hnas_stalled_job_timeout* |
tree-clone-job 命令用于创建快照和从快照创建共享。此参数设置等待作业完成的超时时间(秒)。默认值为 30 秒。 |
hitachi_hnas_driver_helper* |
驱动程序助手模块的 Python 路径。对于此驱动程序,应使用(默认值):manila.share.drivers.hitachi.hnas.ssh.HNASSSHBackend |
hitachi_hnas_allow_cifs_snapshot_while_mounted* |
默认情况下,当共享具有连接的客户端时,不允许获取 CIFS 快照,因为无法保证所有文件的即时副本。可以将此参数设置为 True 以允许在共享具有连接的客户端时获取快照。 警告:将此参数设置为 True 可能会导致 CIFS 共享上的不一致快照。默认值为 False。 |
* 非必需参数。
以下是有效 HNAS 驱动程序配置的示例
[DEFAULT]``
...
enabled_share_backends = hitachi1
enabled_share_protocols = CIFS,NFS
...
[hitachi1]
share_backend_name = HITACHI1
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
步骤 2 - 准备网络¶
在 Hitachi NAS 平台文件服务 OpenStack 驱动程序使用的驱动程序模式中,driver_handles_share_servers (DHSS) 为 False,驱动程序不处理网络配置,而是由管理员配置。必须能够从 manila-share 节点通过管理网络访问 HNAS 管理界面,同时通过数据接口(EVS IP 或聚合)从 OpenStack Cloud 访问所选 EVS 数据接口,例如通过 neutron flat 网络。以下是示例配置的逐步说明
下图表示描述的场景
在 网络节点 上运行
$ sudo ifconfig eth1 0
$ sudo ovs-vsctl add-br br-eth1
$ sudo ovs-vsctl add-port br-eth1 eth1
$ sudo ifconfig eth1 up
编辑 /etc/neutron/plugins/ml2/ml2_conf.ini(默认目录),将以下设置更改为各自标签中的如下内容
[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
如果计算节点中存在,您可能需要在计算节点中的另一个文件中重复上述最后一行,该文件位于:/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini。
为租户网络配置 HNAS 路由。请确保已启用多租户,并为每个 EVS 配置路由。使用 HNAS 控制台中的“route-net-add”命令,其中 network 参数应为租户的专用网络,而 gateway 参数应为 flat 网络网关,并且“console-context –evs”参数应为正在使用的 EVS 的 ID,如下例所示
$ console-context --evs 3 route-net-add --gateway 192.168.1.1 10.0.0.0/24
步骤 4 - 重新启动服务¶
重新启动所有共享文件系统服务(manila-share、manila-scheduler 和 manila-api)和 neutron 服务(neutron-*)。此步骤特定于您的环境。如果您正在使用 devstack,则必须登录到屏幕 (screen -r),停止该过程 (Ctrl^C),然后再次运行它。如果您正在使用 RHEL 等发行版,则可以使用 systemd 命令(例如 systemctl restart manila-api)来重新启动服务。
步骤 5 - 配置 OpenStack 网络¶
在 Neutron Controller 中,必须创建网络、子网并将此子网接口添加到路由器
为给定的租户(demo)创建网络,提供 DEMO_ID(可以使用 keystone tenant-list 获取),网络的名称以及虚拟网络实现的物理网络的名称以及虚拟网络实现的物理机制的类型
$ neutron net-create --tenant-id <DEMO_ID> hnas_network
--provider:physical_network=physnet2 --provider:network_type=flat
为同一租户(demo)创建子网,提供 DEMO_ID(可以使用 keystone tenant-list 获取),此子网的网关 IP、子网的名称、之前步骤中创建的网络 ID(可以使用 neutron net-list 获取)以及子网的 CIDR
$ neutron subnet-create --tenant-id <DEMO_ID> --gateway <GATEWAY>
--name hnas_subnet <NETWORK_ID> <SUBNET_CIDR>
最后,将子网接口添加到路由器,提供路由器 ID 和之前步骤中创建的子网 ID(可以使用 neutron subnet-list 获取)
$ neutron router-interface-add <ROUTER_ID> <SUBNET_ID>
附加说明¶
HNAS 对 EVS、文件系统、虚拟卷和并发 SSC 连接的数量有一些限制。请查看您的系统的手册规范。
共享和快照采用稀疏配置。它仅向 manila 报告 HNAS 中实际使用的空间。此外,快照最初不会占用 HNAS 中的任何空间,它仅存储共享和快照之间的差异,因此当共享数据发生更改时,它才会增长。
管理员应管理租户的配额(manila quota-update)以控制后端的用法。
默认情况下,当共享已挂载时,禁用 CIFS 快照,因为它使用 tree-clone 创建快照,并且不能保证当源目录树发生更改时所有文件的即时副本。此外,将权限更改为 只读 不会影响已挂载的共享。因此,如果您的源目录在拍摄快照时可以保持静态,请启用它。当前,它仅影响 CIFS 协议。有关更多信息,请使用 man tree-clone 查看 HNAS 中的 tree-clone 功能。