=================================================================== Hitachi Hyper Scale-Out Platform File Services Driver for OpenStack =================================================================== The Hitachi Hyper Scale-Out Platform File Services Driver for OpenStack provides the management of file shares, supporting NFS shares with IP based rules to control access. It has a layer that handles the complexity of the protocol used to communicate to Hitachi Hyper Scale-Out Platform via a RESTful API, formatting and sending requests to the backend. Requirements ~~~~~~~~~~~~ - Hitachi Hyper Scale-Out Platform (HSP) version 1.1. - HSP user with ``file-system-full-access`` role. - Established network connection between the HSP interface and OpenStack nodes. Supported shared filesystems and operations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The driver supports NFS shares. The following operations are supported: - Create a share. - Delete a share. - Extend a share. - Shrink a share. - Allow share access. - Deny share access. - Manage a share. - Unmanage a share. .. note:: - Only ``IP`` access type is supported - Both ``RW`` and ``RO`` access levels supported Known restrictions ~~~~~~~~~~~~~~~~~~ - The Hitachi HSP allows only 1024 virtual file systems per cluster. This determines the limit of shares the driver can provide. - The Hitachi HSP file systems must have at least 128 GB. This means that all shares created by Shared File Systems service should have 128 GB or more. .. note:: The driver has an internal filter function that accepts only requests for shares size greater than or equal to 128 GB, otherwise the request will fail or be redirected to another available storage backend. Driver options ~~~~~~~~~~~~~~ The following table contains the configuration options specific to the share driver. .. include:: ../../tables/manila-hds_hsp.inc Network approach ~~~~~~~~~~~~~~~~ .. note:: In the driver mode used by HSP Driver (DHSS = ``False``), the driver does not handle network configuration, it is up to the administrator to configure it. * Configure the network of the manila-share, Compute and Networking nodes to reach HSP interface. For this, your provider network should be capable of reaching HSP Cluster-Virtual-IP. These connections are mandatory so nova instances are capable of accessing shares provided by the backend. * The following image represents a valid scenario: .. image:: ../../figures/hsp_network.png :width: 60% .. note:: To HSP, the Virtual IP is the address through which clients access shares and the Shared File Systems service sends commands to the management interface. This IP can be checked in HSP using its CLI: .. code-block:: console $ hspadm ip-address list Back end configuration ~~~~~~~~~~~~~~~~~~~~~~ #. Configure HSP driver according to your environment. This example shows a valid HSP driver configuration: .. code-block:: ini [DEFAULT] # ... enabled_share_backends = hsp1 enabled_share_protocols = NFS # ... [hsp1] share_backend_name = HITACHI1 share_driver = manila.share.drivers.hitachi.hsp.driver.HitachiHSPDriver driver_handles_share_servers = False hitachi_hsp_host = 172.24.47.190 hitachi_hsp_username = admin hitachi_hsp_password = admin_password #. Configure HSP share type. .. note:: Shared File Systems service requires that the share type includes the ``driver_handles_share_servers`` extra-spec. This ensures that the share will be created on a backend that supports the requested ``driver_handles_share_servers`` capability. Also, ``snapshot_support`` extra-spec should be provided if its value differs from the default value (``True``), as this driver version that currently does not support snapshot operations. For this driver both extra-specs must be set to ``False``. .. code-block:: console $ manila type-create --snapshot_support False hsp False #. Restart all Shared File Systems services (``manila-share``, ``manila-scheduler`` and ``manila-api``). Manage and unmanage shares ~~~~~~~~~~~~~~~~~~~~~~~~~~ The Shared File Systems service has the ability to manage and unmanage shares. If there is a share in the storage and it is not in OpenStack, you can manage that share and use it as a Shared File Systems share. Previous access rules are not imported by manila. The unmanage operation only unlinks the share from OpenStack, preserving all data in the share. In order to manage a HSP share, it must adhere to the following rules: - File system and share name must not contain spaces. - Share name must not contain backslashes (`\\`). To **manage** a share use: .. code-block:: console $ manila manage [--name ] [--description ] [--share_type ] [--driver_options [ [ ...]]] Where: +--------------------+------------------------------------------------------+ | **Parameter** | **Description** | +====================+======================================================+ | | Manila host, backend and share name. For example, | | ``service_host`` | ``ubuntu@hitachi1#hsp1``. The available hosts can | | | be listed with the command: ``manila pool-list`` | | | (admin only). | +--------------------+---------------------+--------------------------------+ | ``protocol`` | Must be **NFS**, the only supported protocol in this | | | driver version. | +--------------------+------------------------------------------------------+ | ``export_path`` | The Hitachi Hyper Scale-Out Platform export path of | | | the share, for example: | | | ``172.24.47.190:/some_share_name`` | +--------------------+------------------------------------------------------+ | To **unmanage** a share use: .. code-block:: console $ manila unmanage Where: +------------------+---------------------------------------------------------+ | **Parameter** | **Description** | +==================+=========================================================+ | ``share`` | ID or name of the share to be unmanaged. This list can | | | be fetched with: ``manila list``. | +------------------+---------------------+-----------------------------------+ Additional notes ~~~~~~~~~~~~~~~~ - Shares are thin provisioned. It is reported to manila only the real used space in HSP. - Administrators should manage the tenant's quota (``manila quota-update``) to control the backend usage.