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.

Description of HDS HSP share driver configuration options

Configuration option = Default value

Description

[hsp1]

share_backend_name = None

(String) The backend name for a given driver implementation.

share_driver = manila.share.drivers.generic.GenericShareDriver

(String) Driver to use for share creation.

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:

../../../_images/hsp_network.png

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:

$ hspadm ip-address list

Back end configuration

  1. Configure HSP driver according to your environment. This example shows a valid HSP driver configuration:

    [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
    
  2. 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.

    $ manila type-create --snapshot_support False hsp False
    
  3. 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:

$ manila manage [--name <name>] [--description <description>]
[--share_type <share_type>] [--driver_options [<key=value>
[<key=value> ...]]] <service_host> <protocol> <export_path>

Where:

Parameter

Description

service_host

Manila host, backend and share name. For example, 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:
$ manila unmanage <share>

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.