Hitachi NAS Platform 文件服务驱动程序,用于 OpenStack

概述

Hitachi NAS Platform 文件服务驱动程序为 OpenStack 提供 NFS 共享文件系统。

需求

  • Hitachi NAS Platform 型号 3080、3090、4040、4060、4080 和 4100。

  • HNAS/SMU 软件版本为 12.2 或更高版本。

  • HNAS 配置和管理实用程序,用于创建存储池(span)和 EVS。

    • GUI (SMU)。

    • SSC CLI。

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

该驱动程序支持CIFS和NFS共享。

支持以下操作

  • 创建共享。

  • 删除共享。

  • 允许共享访问。

  • 拒绝共享访问。

  • 创建快照。

  • 删除快照。

  • 从快照创建共享。

  • 扩展共享。

  • 缩小共享。

  • 管理共享。

  • 取消管理共享。

准备和部署

注意

如果计划使用共享迁移,manila-share 节点仅需要 HNAS EVS 数据接口。

重要提示

必须能够从共享文件系统节点通过管理网络访问 HNAS 管理接口,同时选定的 EVS 数据接口能够从 OpenStack 云访问,例如通过 Neutron flat 网络。

Kolla 部署上的配置

/etc/kolla/globals.yml 中启用共享文件系统服务和 HNAS 驱动程序

enable_manila: "yes"
enable_manila_backend_hnas: "yes"

配置 OpenStack 网络,使其能够访问 HNAS 管理接口和 HNAS EVS 数据接口。

要配置两个物理网络 physnet1 和 physnet2,分别关联端口 eth1 和 eth2

/etc/kolla/globals.yml 中设置

neutron_bridge_name: "br-ex,br-ex2"
neutron_external_interface: "eth1,eth2"

注意

eth1 用于 Neutron 外部接口,eth2 用于 HNAS EVS 数据接口。

HNAS 后端配置

/etc/kolla/globals.yml 中取消注释并设置

hnas_ip: "172.24.44.15"
hnas_user: "supervisor"
hnas_password: "supervisor"
hnas_evs_id: "1"
hnas_evs_ip: "10.0.1.20"
hnas_file_system_name: "FS-Manila"

HNAS 上的配置

在 Kolla OpenStack 中创建数据 HNAS 网络

列出可用的租户

$ openstack project list

为给定的租户(服务)创建一个网络,提供租户 ID、网络的名称、虚拟网络所实现的物理网络的名称以及虚拟网络所实现的物理机制的类型

$ neutron net-create --tenant-id <SERVICE_ID> hnas_network \
  --provider:physical_network=physnet2 --provider:network_type=flat

可选 - 列出可用的网络

$ neutron net-list

为同一个租户(服务)创建一个子网,提供此子网的网关 IP、子网的名称、之前创建的网络 ID 以及子网的 CIDR

$ neutron subnet-create --tenant-id <SERVICE_ID> --gateway <GATEWAY> \
  --name hnas_subnet <NETWORK_ID> <SUBNET_CIDR>

可选 - 列出可用的子网

$ neutron subnet-list

将子网接口添加到路由器,提供路由器 ID 和之前创建的子网 ID

$ neutron router-interface-add <ROUTER_ID> <SUBNET_ID>

在 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

创建共享

在运行 manila-share 服务之前创建默认共享类型

$ manila type-create default_share_hitachi False

+--------------------------------------+-----------------------+------------+------------+--------------------------------------+-------------------------+
| ID                                   | Name                  | visibility | is_default | required_extra_specs                 | optional_extra_specs    |
+--------------------------------------+-----------------------+------------+------------+--------------------------------------+-------------------------+
| 3e54c8a2-1e50-455e-89a0-96bb52876c35 | default_share_hitachi | public     | -          | driver_handles_share_servers : False | snapshot_support : True |
+--------------------------------------+-----------------------+------------+------------+--------------------------------------+-------------------------+

使用 HNAS 后端创建 NFS 共享

$ manila create NFS 1 \
  --name mysharehnas \
  --description "My Manila share" \
  --share-type default_share_hitachi

验证操作

$ manila list

+--------------------------------------+----------------+------+-------------+-----------+-----------+-----------------------+-------------------------+-------------------+
| ID                                   | Name           | Size | Share Proto | Status    | Is Public | Share Type Name       | Host                    | Availability Zone |
+--------------------------------------+----------------+------+-------------+-----------+-----------+-----------------------+-------------------------+-------------------+
| 721c0a6d-eea6-41af-8c10-72cd98985203 | mysharehnas    | 1    | NFS         | available | False     | default_share_hitachi | control@hnas1#HNAS1     | nova              |
+--------------------------------------+----------------+------+-------------+-----------+-----------+-----------------------+-------------------------+-------------------+
$ manila show mysharehnas

+-----------------------------+-----------------------------------------------------------------+
| Property                    | Value                                                           |
+-----------------------------+-----------------------------------------------------------------+
| status                      | available                                                       |
| share_type_name             | default_share_hitachi                                           |
| description                 | My Manila share                                                 |
| availability_zone           | nova                                                            |
| share_network_id            | None                                                            |
| export_locations            |                                                                 |
|                             | path = 172.24.53.1:/shares/45ed6670-688b-4cf0-bfe7-34956648fb84 |
|                             | preferred = False                                               |
|                             | is_admin_only = False                                           |
|                             | id = e81e716f-f1bd-47b2-8a56-2c2f9e33a98e                       |
|                             | share_instance_id = 45ed6670-688b-4cf0-bfe7-34956648fb84        |
| share_server_id             | None                                                            |
| host                        | control@hnas1#HNAS1                                             |
| access_rules_status         | active                                                          |
| snapshot_id                 | None                                                            |
| is_public                   | False                                                           |
| task_state                  | None                                                            |
| snapshot_support            | True                                                            |
| id                          | 721c0a6d-eea6-41af-8c10-72cd98985203                            |
| size                        | 1                                                               |
| user_id                     | ba7f6d543713488786b4b8cb093e7873                                |
| name                        | mysharehnas                                                     |
| share_type                  | 3e54c8a2-1e50-455e-89a0-96bb52876c35                            |
| has_replicas                | False                                                           |
| replication_type            | None                                                            |
| created_at                  | 2016-10-14T14:50:47.000000                                      |
| share_proto                 | NFS                                                             |
| consistency_group_id        | None                                                            |
| source_cgsnapshot_member_id | None                                                            |
| project_id                  | c3810d8bcc3346d0bdc8100b09abbbf1                                |
| metadata                    | {}                                                              |
+-----------------------------+-----------------------------------------------------------------+

配置多个后端

管理员可以配置 Manila 的一个实例,以从一个或多个后端配置共享。每个后端利用 Manila 驱动程序 API 的特定供应商实现的一个实例。

后端名称声明为配置选项 share_backend_name,位于包含该后端相关配置选项的特定配置段中。

因此,在多个后端部署的情况下,在部署之前更改默认共享后端是必要的。

修改文件 /etc/kolla/config/manila.conf 并添加内容

[DEFAULT]
enabled_share_backends = generic,hnas1,hnas2

修改文件 /etc/kolla/config/manila-share.conf 并添加内容

[generic]
share_driver = manila.share.drivers.generic.GenericShareDriver
interface_driver = manila.network.linux.interface.OVSInterfaceDriver
driver_handles_share_servers = True
service_instance_password = manila
service_instance_user = manila
service_image_name = manila-service-image
share_backend_name = GENERIC

[hnas1]
share_backend_name = HNAS1
share_driver = manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver
driver_handles_share_servers = False
hitachi_hnas_ip = <hnas_ip>
hitachi_hnas_user = <user>
hitachi_hnas_password = <password>
hitachi_hnas_evs_id = <evs_id>
hitachi_hnas_evs_ip = <evs_ip>
hitachi_hnas_file_system_name = FS-Manila1

[hnas2]
share_backend_name = HNAS2
share_driver = manila.share.drivers.hitachi.hnas.driver.HitachiHNASDriver
driver_handles_share_servers = False
hitachi_hnas_ip = <hnas_ip>
hitachi_hnas_user = <user>
hitachi_hnas_password = <password>
hitachi_hnas_evs_id = <evs_id>
hitachi_hnas_evs_ip = <evs_ip>
hitachi_hnas_file_system_name = FS-Manila2

有关如何管理共享的更多信息,请参阅 管理共享

有关 HNAS 驱动程序如何工作的更多信息,请参阅 Hitachi NAS Platform 文件服务驱动程序,用于 OpenStack