共享网络¶
共享网络对于允许最终用户实现硬多租户至关重要。当由隔离网络支持时,共享文件系统服务可以为用户的共享保证硬网络路径隔离。用户可以被允许将他们的项目网络指定为共享网络。当在共享创建期间提供共享网络时,共享驱动程序会在共享网络上设置虚拟共享服务器(NAS 服务器),并使用此 NAS 服务器导出共享。共享服务器本身对用户而言是抽象的。您必须确保存储系统可以将它配置的共享服务器连接到用户可以用作其共享网络的网络。
注意
并非所有共享文件系统存储后端都支持共享网络。只有在使用具有规范 driver_handles_share_servers=True 的共享类型时,才能使用共享网络。要查看哪些存储后端支持此规范,请参阅 Manila 共享功能支持映射。
如何创建共享网络¶
要列出项目中的网络,请运行
$ openstack network list
+--------------+---------+--------------------+
| ID | Name | Subnets |
+--------------+---------+--------------------+
| bee7411d-... | public | 884a6564-0f11-... |
| | | e6da81fa-5d5f-... |
| 5ed5a854-... | private | 74dcfb5a-b4d7-... |
| | | cc297be2-5213-... |
+--------------+---------+--------------------+
共享网络存储共享服务器可以使用的网络信息,这些共享服务器托管共享。您可以将一个共享与单个共享网络关联。在使用请求硬多租户的共享类型(即具有 extra-spec ‘driver_handles_share_servers=True’)创建共享时,必须始终指定共享网络。
有关共享网络的受支持插件的更多信息,请参阅 网络插件。
共享网络具有以下属性
用于分配网络的无类别域间路由 (CIDR) 表示法中的 IP 块。
网络的 IP 版本。
网络类型,可以是 vlan、vxlan、gre 或 flat。
如果网络使用分段,则为分段标识符。例如,VLAN、VXLAN 和 GRE 网络使用分段。
要使用私有网络和子网创建共享网络,请运行
$ manila share-network-create --neutron-net-id 5ed5a854-21dc-4ed3-870a-117b7064eb21 \
--neutron-subnet-id 74dcfb5a-b4d7-4855-86f5-a669729428dc --name my_share_net \
--description "My first share network" --availability-zone manila-zone-0
+-------------------+--------------------------------------+
| Property | Value |
+-------------------+--------------------------------------+
| name | my_share_net |
| segmentation_id | None |
| created_at | 2015-09-24T12:06:32.602174 |
| neutron_subnet_id | 74dcfb5a-b4d7-4855-86f5-a669729428dc |
| updated_at | None |
| network_type | None |
| neutron_net_id | 5ed5a854-21dc-4ed3-870a-117b7064eb21 |
| ip_version | None |
| cidr | None |
| project_id | 20787a7ba11946adad976463b57d8a2f |
| id | 5c3cbabb-f4da-465f-bc7f-fadbe047b85a |
| description | My first share network |
+-------------------+--------------------------------------+
segmentation_id、cidr、ip_version 和 network_type 共享网络属性会自动设置为网络提供程序确定的值。
注意
只有在 API 版本 >= 2.51 时,才能指定参数 availability_zone。从版本 2.51 开始,共享网络能够在不同可用区中的多个子网中扩展。网络参数 neutron_net_id、neutron_subnet_id、segmentation_id、cidr、ip_version、network_type、gateway 和 mtu 已移动到共享网络子网,不再与共享网络相关。如果您在创建共享网络时未指定可用区,则共享文件系统服务会将创建的子网视为默认子网。默认子网预计可以从云中的所有可用区访问。
注意
从 API 版本 2.63 开始,共享网络将具有两个额外的字段:status 和 security_service_update_support。前者指示共享网络的当前状态,后者告知在已部署后,所有共享网络资源是否可以持有更新或添加安全服务。
要检查网络列表,请运行
$ manila share-network-list
+--------------------------------------+--------------+
| id | name |
+--------------------------------------+--------------+
| 5c3cbabb-f4da-465f-bc7f-fadbe047b85a | my_share_net |
+--------------------------------------+--------------+
如果您使用 driver_handles_share_servers = True(带有共享服务器)配置了通用驱动程序,并且已经在共享文件系统服务中执行了之前的操作,您可以在 neutron 的网络列表中看到 manila_service_network。此网络由通用驱动程序为内部使用而创建。
$ openstack network list
+--------------+------------------------+--------------------+
| ID | Name | Subnets |
+--------------+------------------------+--------------------+
| 3b5a629a-e...| manila_service_network | 4f366100-50... |
| bee7411d-... | public | 884a6564-0f11-... |
| | | e6da81fa-5d5f-... |
| 5ed5a854-... | private | 74dcfb5a-b4d7-... |
| | | cc297be2-5213-... |
+--------------+------------------------+--------------------+
您还可以查看有关共享网络的详细信息,包括 network_type 和 segmentation_id 字段
$ openstack network show manila_service_network
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | nova |
| created_at | 2016-12-13T09:31:30Z |
| description | |
| id | 3b5a629a-e7a1-46a3-afb2-ab666fb884bc |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| mtu | 1450 |
| name | manila_service_network |
| port_security_enabled | True |
| project_id | f6ac448a469b45e888050cf837b6e628 |
| provider:network_type | vxlan |
| provider:physical_network | None |
| provider:segmentation_id | 73 |
| revision_number | 7 |
| router:external | Internal |
| shared | False |
| status | ACTIVE |
| subnets | 682e3329-60b0-440f-8749-83ef53dd8544 |
| tags | [] |
| updated_at | 2016-12-13T09:31:36Z |
+---------------------------+--------------------------------------+
您还可以从共享网络添加和删除安全服务。有关详细信息,请参阅 安全服务。
如何重置共享网络的状态(自 API 版本 2.63 起)¶
要重置给定共享网络的状态,请运行
$ manila share-network-reset-state manila_service_network --state active
共享网络子网(自 API 版本 2.51 起)¶
共享网络子网是一种存储来自 OpenStack Networking 服务的网络数据的实体。共享网络可以在不同可用区中的多个共享网络子网中扩展。
如何创建共享网络子网¶
当您创建共享网络时,会自动创建一个主共享网络子网。共享网络子网存储共享服务器可以使用的网络信息,这些共享服务器托管共享。如果未将共享网络子网分配给特定的可用区,则认为它在所有可用区都可用。这样的子网被称为 default 子网。共享网络只能有一个默认子网。但是,拥有默认子网不是必需的。一个共享只能与一个共享网络关联。要列出项目中的共享网络,请运行
$ manila share-network-list
+--------------------------------------+-----------------------+
| id | name |
+--------------------------------------+-----------------------+
| 483a9787-5116-48b2-bd89-473022fad060 | sharenetwork1 |
| bcb9c650-a501-410d-a418-97f28b8ab61a | sharenetwork2 |
+--------------------------------------+-----------------------+
您可以将任意数量的共享网络子网附加到共享网络。但是,在给定共享网络的一个可用区中,只允许一个共享网络子网。
要在特定的共享网络中创建共享网络子网,请运行
$ manila share-network-subnet-create sharenetwork1 \
--availability-zone manila-zone-0 \
--neutron-net-id 5ed5a854-21dc-4ed3-870a-117b7064eb21 \
--neutron-subnet-id 74dcfb5a-b4d7-4855-86f5-a669729428dc
+--------------------+--------------------------------------+
| Property | Value |
+--------------------+--------------------------------------+
| id | 20f3cd2c-0faa-4b4b-a00a-4f188eb1cf38 |
| availability_zone | manila-zone-0 |
| share_network_id | 483a9787-5116-48b2-bd89-473022fad060 |
| share_network_name | sharenetwork1 |
| created_at | 2019-12-03T00:37:30.000000 |
| segmentation_id | None |
| neutron_subnet_id | 74dcfb5a-b4d7-4855-86f5-a669729428dc |
| updated_at | None |
| neutron_net_id | 5ed5a854-21dc-4ed3-870a-117b7064eb21 |
| ip_version | None |
| cidr | None |
| network_type | None |
| mtu | None |
| gateway | None |
+--------------------+--------------------------------------+
要列出给定共享网络的所有共享网络子网,您需要显示共享网络,然后将显示所有子网,如下所示
$ manila share-network-show sharenetwork1
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | 483a9787-5116-48b2-bd89-473022fad060 |
| name | sharenetwork1 |
| project_id | 58ff89e14f9245d7843b8cf290525b5b |
| created_at | 2019-12-03T00:16:39.000000 |
| updated_at | 2019-12-03T00:31:58.000000 |
| description | None |
| share_network_subnets | [{'id': '20f3cd2c-0faa-4b4b-a00a-4f188eb1cf38', 'availability_zone': 'manila-zone-0', 'created_at': '2019-12-03T00:37:30.000000', 'updated_at': None, 'segmentation_id': None, 'neutron_net_id': '5ed5a854-21dc-4ed3-870a-117b7064eb21', 'neutron_subnet_id': '74dcfb5a-b4d7-4855-86f5-a669729428dc', 'ip_version': None, 'cidr': None, 'network_type': None, 'mtu': None, 'gateway': None}, {'id': '8b532c15-3ac7-4ea1-b1bc-732614a82313', 'availability_zone': None, 'created_at': '2019-12-03T00:16:39.000000', 'updated_at': None, 'segmentation_id': None, 'neutron_net_id': None, 'neutron_subnet_id': None, 'ip_version': None, 'cidr': None, 'network_type': None, 'mtu': None, 'gateway': None}] |
+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
要显示特定的共享网络子网,请运行
$ manila share-network-subnet-show sharenetwork1 20f3cd2c-0faa-4b4b-a00a-4f188eb1cf38
+--------------------+--------------------------------------+
| Property | Value |
+--------------------+--------------------------------------+
| id | 20f3cd2c-0faa-4b4b-a00a-4f188eb1cf38 |
| availability_zone | manila-zone-0 |
| share_network_id | 483a9787-5116-48b2-bd89-473022fad060 |
| share_network_name | sharenetwork1 |
| created_at | 2019-12-03T00:37:30.000000 |
| segmentation_id | None |
| neutron_subnet_id | 74dcfb5a-b4d7-4855-86f5-a669729428dc |
| updated_at | None |
| neutron_net_id | 5ed5a854-21dc-4ed3-870a-117b7064eb21 |
| ip_version | None |
| cidr | None |
| network_type | None |
| mtu | None |
| gateway | None |
+--------------------+--------------------------------------+
要删除共享网络子网,请运行
$ manila share-network-subnet-delete sharenetwork1 20f3cd2c-0faa-4b4b-a00a-4f188eb1cf38
如果您想删除共享网络子网,请确保没有其他资源正在使用该子网,否则共享文件系统服务将拒绝该操作。