Add documentation for HNAS Shared File Systems Driver

Add the documentation with the following information:
- Storage Requirements
- Supported Operations
- Driver Configuration
- Parameters Configuration
- Network Configuration
- Additional Notes

Change-Id: Id953a6eba3729aa16b4da8f7b81a40777c0d183a
This commit is contained in:
duhzecca
2015-11-13 15:53:06 -02:00
parent 1d27518730
commit b48d551c94
3 changed files with 230 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ Share drivers
drivers/glusterfs-driver.rst
drivers/glusterfs-native-driver.rst
drivers/hdfs-native-driver.rst
drivers/hitachi-hnas-driver.rst
drivers/hpe-3par-share-driver.rst
drivers/huawei-nas-driver.rst
drivers/ibm-gpfs-driver.rst

View File

@@ -0,0 +1,229 @@
=========================
Hitachi NAS (HNAS) driver
=========================
This Shared File Systems driver provides support for Hitachi NAS
Platform Models 3080, 3090, 4040, 4060, 4080, and 4100.
HNAS storage requirements
~~~~~~~~~~~~~~~~~~~~~~~~~
Before using Hitachi HNAS Shared File Systems driver, use the HNAS
configuration and management utilities, such as GUI (SMU) or SSC CLI to create
a storage pool (span) and an EVS. Also, check that HNAS/SMU software version
is 12.2 or higher.
Supported 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.
- Create a share from a snapshot.
- Extend a share.
- Manage a share.
- Unmanage a share.
Driver configuration
~~~~~~~~~~~~~~~~~~~~
To configure the driver, make sure that the controller and compute nodes have
access to the HNAS management port, and compute and networking nodes have
access to the data ports (EVS IPs or aggregations). If Shared File Systems
service is not running on controller node, it must have access to the
management port. The driver configuration can be summarized in the following
steps:
#. Create a file system to be used by Shared File Systems on HNAS. Make sure
that the filesystem is not created as a replication target. For more
information on creating a filesystem, see the
`Hitachi HNAS reference <http://www.hds.com/assets/pdf/hus-file-module-file-services-administration-guide.pdf>`_.
#. Install and configure an OpenStack environment with default Shared File
System parameters and services. Refer to OpenStack Manila configuration
reference.
#. Configure HNAS parameters on manila.conf.
#. Prepare the network.
#. Configure and create share type.
#. Restart the services.
#. Configure the network.
In the following sections we cover steps 3, 4, 5, 6 and 7. Steps 1 and 2 are
not in the scope of this document.
Step 3 - HNAS parameter configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Below is an example of a minimal configuration of HNAS driver:
.. code-block:: ini
[DEFAULT]
enabled_share_backends = hnas1
enabled_share_protocols = NFS
[hnas1]
share_backend_name = HNAS1
share_driver = manila.share.drivers.hitachi.hds_hnas.HDSHNASDriver
driver_handles_share_servers = False
hds_hnas_ip = 172.24.44.15
hds_hnas_user = supervisor
hds_hnas_password = supervisor
hds_hnas_evs_id = 1
hds_hnas_evs_ip = 10.0.1.20
hds_hnas_file_system_name = FS-Manila
The following table contains the configuration options specific to the
share driver.
.. include:: ../../tables/manila-hds_hnas.rst
Step 4 - prepare the network
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In the driver mode used by HNAS Driver (DHSS = False), the driver does not
handle network configuration, it is up to the administrator to configure it.
It is mandatory that HNAS management interface is reachable from Shared File
System node through Admin network, while the selected EVS data interface is
reachable from OpenStack Cloud, such as through Neutron Flat networking. Here
is a step-by-step of an example configuration:
| **Shared File Systems node:**
| **eth0**: Admin network, can ping HNAS management interface.
| **eth1**: Data network, can ping HNAS EVS IP (data interface). This
interface is only required if you plan to use share migration.
| **Networking node and Compute nodes:**
| **eth0**: Admin network, can ping HNAS management interface.
| **eth1**: Data network, can ping HNAS EVS IP (data interface).
Run in **Networking node**:
.. code-block:: console
# ifconfig eth1 0
# ovs-vsctl add-br br-eth1
# ovs-vsctl add-port br-eth1 eth1
# ifconfig eth1 up
Edit ``/etc/neutron/plugins/ml2/ml2_conf.ini`` (default directory), change the
following settings as follows in their respective tags:
.. code-block:: ini
[ml2]
type_drivers = flat,vlan,vxlan,gre
mechanism_drivers = openvswitch
[ml2_type_flat]
flat_networks = physnet1,physnet2
[ml2_type_vlan]
network_vlan_ranges = physnet1:1000:1500,physnet2:2000:2500
[ovs]
bridge_mappings = physnet1:br-ex,physnet2:br-eth1
You may have to repeat the last line above in another file on the Compute node,
if it exists it is located in:
``/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini``.
Create a route in HNAS to the tenant network. Please make sure
multi-tenancy is enabled and routes are configured per EVS. Use the command
:command:`route-net-add` in HNAS console, where the network parameter should
be the tenant's private network, while the gateway parameter should be the
FLAT network gateway and the :command:`console-context --evs` parameter should
be the ID of EVS in use, such as in the following example:
.. code-block:: console
$ console-context --evs 3 route-net-add --gateway 192.168.1.1 \
10.0.0.0/24
Step 5 - share type configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Shared File Systems 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. For the Hitachi HNAS Shared File
System driver, this must be set to ``False``.
.. code-block:: console
$ manila type-create hitachi False
Step 6 - restart the services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Restart all Shared File Systems services (manila-share, manila-scheduler and
manila-api) and Networking services (neutron-\*).
Step 7 - configure the network
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In Networking node it is necessary to create a network, a subnet and to add
this subnet interface to a router:
Create a network to the given tenant (demo), providing the DEMO_ID (this can be
fetched using :command:`openstack project list`), 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
$ neutron net-create --tenant-id <DEMO_ID> hnas_network \
--provider:physical_network=physnet2 --provider:network_type=flat
Create a subnet to same tenant (demo), providing the DEMO_ID (this can be
fetched using :command:`openstack project list`), the gateway IP of this
subnet, a name for the subnet, the network ID created in the previous step
(this can be fetched using :command:`neutron net-list`) and CIDR of subnet:
.. code-block:: console
$ neutron subnet-create --tenant-id <DEMO_ID> --gateway <GATEWAY> \
--name hnas_subnet <NETWORK_ID> <SUBNET_CIDR>
Finally, add the subnet interface to a router, providing the router ID and
subnet ID created in the previous step (can be fetched using :command:`neutron
subnet-list`):
.. code-block:: console
$ neutron router-interface-add <ROUTER_ID> <SUBNET_ID>
Manage and unmanage shares
~~~~~~~~~~~~~~~~~~~~~~~~~~
Shared File Systems 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. HNAS drivers use virtual-volumes
(V-VOL) to create shares. Only V-VOL shares can be used by the driver. If the
NFS export is an ordinary FS export, it is not possible to use it in Shared
File Systems. The unmanage operation only unlinks the share from Shared File
Systems. All data is preserved.
Additional notes:
~~~~~~~~~~~~~~~~~
* HNAS has some restrictions about the number of EVSs, filesystems,
virtual-volumes, and simultaneous SSC connections. Check the manual
specification for your system.
* Shares and snapshots are thin provisioned. It is reported to Shared File
System only the real used space in HNAS. Also, a snapshot does not initially
take any space in HNAS, it only stores the difference between the share and
the snapshot, so it grows when share data is changed.
* Administrators should manage the tenants quota
(:command:`manila quota-update`) to control the back-end usage.

View File

@@ -13,7 +13,6 @@ These options can also be set in the ``manila.conf`` file.
.. include:: ../tables/manila-cors.rst
.. include:: ../tables/manila-database.rst
.. include:: ../tables/manila-ganesha.rst
.. include:: ../tables/manila-hds_hnas.rst
.. include:: ../tables/manila-logging.rst
.. include:: ../tables/manila-quota.rst
.. include:: ../tables/manila-redis.rst