diff options
| author | Zuul <zuul@review.opendev.org> | 2025-05-08 22:55:03 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2025-05-08 22:55:03 +0000 |
| commit | f9d337a5819ee83019e59f4415786f26323e3333 (patch) | |
| tree | 673f919f69e91639a016cde513ec266bf9898984 /doc | |
| parent | 28b9c001f156c28ffd42eb8f92e02e8a4f2dd5de (diff) | |
| parent | aed18272694d662757877f4359213259a6871432 (diff) | |
| download | kolla-ansible-f9d337a5819ee83019e59f4415786f26323e3333.tar.gz kolla-ansible-f9d337a5819ee83019e59f4415786f26323e3333.zip | |
Merge "Add Pure Storage FlashBlade as Manila backend"
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/source/reference/storage/index.rst | 1 | ||||
| -rw-r--r-- | doc/source/reference/storage/manila-pure-guide.rst | 286 |
2 files changed, 287 insertions, 0 deletions
diff --git a/doc/source/reference/storage/index.rst b/doc/source/reference/storage/index.rst index d363954a1..42b35f9e3 100644 --- a/doc/source/reference/storage/index.rst +++ b/doc/source/reference/storage/index.rst @@ -15,3 +15,4 @@ supported by kolla. cinder-guide-lightbits manila-guide manila-hnas-guide + manila-pure-guide diff --git a/doc/source/reference/storage/manila-pure-guide.rst b/doc/source/reference/storage/manila-pure-guide.rst new file mode 100644 index 000000000..46c1f2fdf --- /dev/null +++ b/doc/source/reference/storage/manila-pure-guide.rst @@ -0,0 +1,286 @@ +.. _manila-pure-guide: + +========================================================== +Pure Storage FlashBlade File Services Driver for OpenStack +========================================================== + +Overview +~~~~~~~~ +The Pure Storage FlashBlade File Services Driver for OpenStack +provides NFS Shared File Systems to OpenStack. + + +Requirements +------------ +- Pure Storage FlashBlade + +- Purity//FB v2.3.0 or higher + + +Supported shared file systems and operations +-------------------------------------------- +The driver supports NFS shares. + +The following operations are supported: + +- Create a share. + +- Delete a share. + +- Allow share access. + +- Deny share access. + +- Create a snapshot. + +- Delete a snapshot. + +- Revert from snapshot. + +- Extend a share. + +- Shrink a share. + + +Preparation and Deployment +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. important :: + + It is mandatory that FlashBlade management interface is reachable from the + Shared File System node through the admin network, while the selected + EVS data interface is reachable from OpenStack Cloud, such as through + Neutron flat networking. + + +Configuration on Kolla deployment +--------------------------------- + +Enable Shared File Systems service and FlashBlade driver in +``/etc/kolla/globals.yml`` + +.. code-block:: yaml + + enable_manila: "yes" + enable_manila_backend_flashblade: "yes" + +Configure the OpenStack networking so it can reach FlashBlade Management +interface and FlashBlade Data interface. + +To configure two physical networks, physnet1 and physnet2, with +ports eth1 and eth2 associated respectively: + +In ``/etc/kolla/globals.yml`` set: + +.. code-block:: yaml + + neutron_bridge_name: "br-ex,br-ex2" + neutron_external_interface: "eth1,eth2" + +.. note:: + + ``eth1`` is used to Neutron external interface and ``eth2`` is + used to FlashBlade data interface. + +FlashBlade back end configuration +--------------------------------- + +In ``/etc/kolla/globals.yml`` uncomment and set: + +.. code-block:: yaml + + manila_flashblade_mgmt_vip: "172.24.44.15" + manila_flashblade_data_vip: "172.24.45.22" + manila_flashblade_api: "<API token for admin-privilaged user>" + +Configuration on FlashBlade +--------------------------- + +Create the FlashBlade data network in Kolla OpenStack: + +List the available tenants: + +.. code-block:: console + + $ openstack project list + +Create a network to the given tenant (service), providing the tenant ID, +a name for the network, the name of the physical network over which the +virtual network is implemented, and the type of the physical mechanism by +which the virtual network is implemented: + +.. code-block:: console + + $ openstack network create --project <SERVICE_ID> \ + --provider-physical-network physnet2 \ + --provider-network-type flat \ + flashblade_network + +*Optional* - List available networks: + +.. code-block:: console + + $ openstack network list + +Create a subnet to the same tenant (service), the gateway IP of this subnet, +a name for the subnet, the network ID created before, and the CIDR of +subnet: + +.. code-block:: console + + $ openstack subnet create --project <SERVICE_ID> --gateway <GATEWAY> \ + --subnet_range <SUBNET_CIDR> flashblade_subnet + +*Optional* - List available subnets: + +.. code-block:: console + + $ openstack subnet list + +Add the subnet interface to a router, providing the router ID and subnet +ID created before: + +.. code-block:: console + + $ openstack router add submet <ROUTER_ID> <SUBNET_ID> + +Create a share +~~~~~~~~~~~~~~ + +Create a default share type before running manila-share service: + +.. code-block:: console + + $ openstack share type create default_share_flashblade False + + +--------------------------------------+--------------------------+------------+------------+--------------------------------------+-------------------------+ + | ID | Name | visibility | is_default | required_extra_specs | optional_extra_specs | + +--------------------------------------+--------------------------+------------+------------+--------------------------------------+-------------------------+ + | 3e54c8a2-1e50-455e-89a0-96bb52876c35 | default_share_flashblade | public | - | driver_handles_share_servers : False | snapshot_support : True | + +--------------------------------------+--------------------------+------------+------------+--------------------------------------+-------------------------+ + +Create a NFS share using the FlashBlade back end: + +.. code-block:: console + + $ openstack share create --name <myflashbladeshare \ + --description "My Manila share" \ + --share-type default_share_flashblade \ + NFS 1 + +Verify Operation: + +.. code-block:: console + + $ openstack share list + + +--------------------------------------+-------------------+------+-------------+-----------+-----------+--------------------------+-----------------+-------------------+ + | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | + +--------------------------------------+-------------------+------+-------------+-----------+-----------+--------------------------+-----------------+-------------------+ + | 721c0a6d-eea6-41af-8c10-72cd98985203 | myflashbladeshare | 1 | NFS | available | False | default_share_flashblade | control@fb1#FB1 | nova | + +--------------------------------------+-------------------+------+-------------+-----------+-----------+--------------------------+-----------------+-------------------+ + +.. code-block:: console + + $ openstack share show myflashbladeshare + + +-----------------------------+-----------------------------------------------------------------+ + | Property | Value | + +-----------------------------+-----------------------------------------------------------------+ + | status | available | + | share_type_name | default_share_flashblade | + | 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@fb1#FB1 | + | 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 | myflashbladeshare | + | 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 | {} | + +-----------------------------+-----------------------------------------------------------------+ + +.. _flashblade_configure_multiple_back_ends: + +Configure multiple back ends +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +An administrator can configure an instance of Manila to provision shares from +one or more back ends. Each back end leverages an instance of a vendor-specific +implementation of the Manila driver API. + +The name of the back end is declared as a configuration option +share_backend_name within a particular configuration stanza that contains the +related configuration options for that back end. + +So, in the case of an multiple back ends deployment, it is necessary to change +the default share backends before deployment. + +Modify the file ``/etc/kolla/config/manila.conf`` and add the contents: + +.. path /etc/kolla/config/manila.conf +.. code-block:: ini + + [DEFAULT] + enabled_share_backends = generic,fb1,fb2 + +Modify the file ``/etc/kolla/config/manila-share.conf`` and add the contents: + +.. path /etc/kolla/config/manila-share.conf +.. code-block:: ini + + [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 + + [fb1] + share_backend_name = FB1 + share_driver = manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver + driver_handles_share_servers = False + flashblade_mgmt_vip = <fb1_mgmt_ip> + flashblade_data_vip = <fb1_data_ip> + flashblade_api = <FB1 API token> + + [fb2] + share_backend_name = FB2 + share_driver = manila.share.drivers.purestorage.flashblade.FlashBladeShareDriver + driver_handles_share_servers = False + flashblade_mgmt_vip = <fb2_mgmt_ip> + flashblade_data_vip = <fb2_data_ip> + flashblade_api = <FB2 API token> + +For more information about how to manage shares, see the +:manila-doc:`Manage shares <user/create-and-manage-shares.html>`. + +For details on how to use the Pure Storage FlashBlade, refer to the +`Pure Storage Manila Reference Guide <https://docs.openstack.org/manila/latest/configuration/shared-file-systems/drivers/purestorage-flashblade-driver.html>`_. + +The use of this backend requires that the ``purity_fb`` SDK package is +installed in the ``manila-share`` container. To do this follow the steps +outlined in the `kolla image building guide <https://docs.openstack.org/kolla/latest/admin/image-building.html>`_ +particularly the ``Package Customisation`` and ``Custom Repos`` sections. |
