Add manila install guide documentation

It is an effort to document manila install guide.
Only Ubuntu distro has been properly updated until now.
Liberty packages have been used for the tests, but it can be
changed to mitaka as soon as they are available. Thanks in
advance for any feedback about this initial effort.

Change-Id: I686bdda2ee27de4e5c43bb8d95c0126c8c300558
Implements: blueprint create-manila-install-guide
This commit is contained in:
Denis Cavalcante 2016-02-02 20:17:35 +00:00 committed by dencaval
parent 26a99f9741
commit 51b44ccdc7
10 changed files with 955 additions and 18 deletions

View File

@ -2,29 +2,32 @@
OpenStack Shared File Systems service
=====================================
The OpenStack Shared File Systems service (manila) provides file
storage to a virtual machine. The Shared File Systems service
provides an infrastructure for managing shares and provides access
to shares to instances. The service also enables management of share
types as well as share snapshots if a driver supports snapshots.
The OpenStack Shared File Systems service (manila) provides file storage to a
virtual machine. The Shared File Systems service provides an infrastructure
for managing and provisioning of file shares. The service also enables
management of share types as well as share snapshots if a driver supports
them.
The Shared File Systems service consists of the following components:
manila-api
Accepts API requests and routes them to the ``manila-share`` for
action.
A WSGI app that authenticates and routes requests throughout the Shared File
Systems service. It supports the OpenStack APIs.
manila-scheduler
Schedules and routes requests to the appropriate share service. The
scheduler uses configurable filters and weighers to route requests. The
Filter Scheduler is the default and enables filters on things like Capacity,
Availability Zone, Share Types, and Capabilities as well as custom filters.
manila-share
Interacts directly with the Shared File Systems service and processes
such as the ``manila-scheduler``. It also interacts with these processes
through a message queue. The ``manila-share`` service responds to read
and write requests sent to the Shared File Systems service to maintain
state. It can interact with a variety of storage providers through a
driver architecture.
manila-scheduler daemon
Selects the optimal storage provider node on which to create the
share. A similar component to the ``cinder-scheduler``.
Manages back-end devices that provide shared file systems. A manila-share
process can run in one of two modes, with or without handling of share
servers. Share servers export file shares via share networks. When share
servers are not used, the networking requirements are handled outside of
Manila.
Messaging queue
Routes information between the Shared File Systems processes.
For more information, see `Configuration Reference Guide <http://docs.openstack.org/mitaka/config-reference/content/section_shared-file-systems-overview.html>`__.

View File

@ -99,7 +99,6 @@ exclude_patterns = ['common/cli*', 'common/nova*',
'common/get_started_logical_architecture.rst',
'common/get_started_dashboard.rst',
'common/get_started_database_service.rst',
'common/get_started_file_storage.rst',
'common/get_started_storage_concepts.rst',
'common/get_started_sahara.rst',
'common/dashboard_customizing.rst',

View File

@ -94,6 +94,7 @@ Contents
neutron.rst
horizon.rst
cinder.rst
manila.rst
swift.rst
heat.rst
ceilometer.rst
@ -117,6 +118,7 @@ Contents
neutron.rst
horizon.rst
cinder.rst
manila.rst
swift.rst
heat.rst
ceilometer.rst

View File

@ -0,0 +1,198 @@
.. _launch-instance-manila:
Shared File Systems
~~~~~~~~~~~~~~~~~~~
Before being able to create a share, the manila with the generic driver and
the DHSS mode enabled requires the definition of at least an image,
a network and a share-network for being used to create a share server.
For that back end configuration, the share server is an instance where
NFS/CIFS shares are served.
.. note::
This configuration automatically creates a cinder volume for every share.
The cinder volumes are attached to share servers according to the
definition of a share network.
Determine the configuration of the share server
-----------------------------------------------
#. Source the admin credentials to gain access to admin-only CLI commands:
.. code-block:: console
$ source admin-openrc.sh
#. Create a default share type before running manila-share service:
.. code-block:: console
$ manila type-create default_share_type True
+--------------------------------------+--------------------+------------+------------+-------------------------------------+-------------------------+$
| ID | Name | Visibility | is_default | required_extra_specs | optional_extra_specs |$
+--------------------------------------+--------------------+------------+------------+-------------------------------------+-------------------------+$
| 8a35da28-0f74-490d-afff-23664ecd4f01 | default_share_type | public | - | driver_handles_share_servers : True | snapshot_support : True |$
+--------------------------------------+--------------------+------------+------------+-------------------------------------+-------------------------+$
#. Create a manila share server image to the Image service:
.. code-block:: console
$ glance image-create \
--copy-from http://tarballs.openstack.org/manila-image-elements/images/manila-service-image-master.qcow2 \
--name "manila-service-image" \
--disk-format qcow2 \
--container-format bare \
--visibility public --progress
[=============================>] 100%
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | 48a08e746cf0986e2bc32040a9183445 |
| container_format | bare |
| created_at | 2016-01-26T19:52:24Z |
| disk_format | qcow2 |
| id | 1fc7f29e-8fe6-44ef-9c3c-15217e83997c |
| min_disk | 0 |
| min_ram | 0 |
| name | manila-service-image |
| owner | e2c965830ecc4162a002bf16ddc91ab7 |
| protected | False |
| size | 306577408 |
| status | active |
| tags | [] |
| updated_at | 2016-01-26T19:52:28Z |
| virtual_size | None |
| visibility | public |
+------------------+--------------------------------------+
#. List available networks in order to get id and subnets of the private
network:
.. code-block:: console
$ neutron net-list
+--------------------------------------+---------+----------------------------------------------------+
| id | name | subnets |
+--------------------------------------+---------+----------------------------------------------------+
| 0e62efcd-8cee-46c7-b163-d8df05c3c5ad | public | 5cc70da8-4ee7-4565-be53-b9c011fca011 10.3.31.0/24 |
| 7c6f9b37-76b4-463e-98d8-27e5686ed083 | private | 3482f524-8bff-4871-80d4-5774c2730728 172.16.1.0/24 |
+--------------------------------------+---------+----------------------------------------------------+
#. Source the ``demo`` credentials to perform
the following steps as a non-administrative project:
.. code-block:: console
$ source demo-openrc.sh
.. code-block:: console
$ manila share-network-create --name demo-share-network1 \
--neutron-net-id PRIVATE_NETWORK_ID \
--neutron-subnet-id PRIVATE_NETWORK_SUBNET_ID
+-------------------+--------------------------------------+
| Property | Value |
+-------------------+--------------------------------------+
| name | demo-share-network1 |
| segmentation_id | None |
| created_at | 2016-01-26T20:03:41.877838 |
| neutron_subnet_id | 3482f524-8bff-4871-80d4-5774c2730728 |
| updated_at | None |
| network_type | None |
| neutron_net_id | 7c6f9b37-76b4-463e-98d8-27e5686ed083 |
| ip_version | None |
| nova_net_id | None |
| cidr | None |
| project_id | e2c965830ecc4162a002bf16ddc91ab7 |
| id | 58b2f0e6-5509-4830-af9c-97f525a31b14 |
| description | None |
+-------------------+--------------------------------------+
Create a share
--------------
#. Create a NFS share using the share network:
.. code-block:: console
$ manila create NFS 1 --name demo-share1 --share-network demo-share-network1
+-----------------------------+--------------------------------------+
| Property | Value |
+-----------------------------+--------------------------------------+
| status | None |
| share_type_name | None |
| description | None |
| availability_zone | None |
| share_network_id | None |
| export_locations | [] |
| host | None |
| snapshot_id | None |
| is_public | False |
| task_state | None |
| snapshot_support | True |
| id | 016ca18f-bdd5-48e1-88c0-782e4c1aa28c |
| size | 1 |
| name | demo-share1 |
| share_type | None |
| created_at | 2016-01-26T20:08:50.502877 |
| export_location | None |
| share_proto | NFS |
| consistency_group_id | None |
| source_cgsnapshot_member_id | None |
| project_id | 48e8c35b2ac6495d86d4be61658975e7 |
| metadata | {} |
+-----------------------------+--------------------------------------+
#. After some time, the share status should change from ``creating``
to ``available``:
.. code-block:: console
$ manila list
+--------------------------------------+-------------+------+-------------+-----------+-----------+--------------------------------------+---------------------------------------------------------------+-----------------------------+-------------------+
| ID | Name | Size | Share Proto | Status | Is Public | Share Type | Export location | Host | Availability Zone |
+--------------------------------------+-------------+------+-------------+-----------+-----------+--------------------------------------+---------------------------------------------------------------+-----------------------------+-------------------+
| 5f8a0574-a95e-40ff-b898-09fd8d6a1fac | demo-share1 | 1 | NFS | available | False | 8a35da28-0f74-490d-afff-23664ecd4f01 | 10.254.0.6:/shares/share-0bfd69a1-27f0-4ef5-af17-7cd50bce6550 | storagenode@generic#GENERIC | nova |
+--------------------------------------+-------------+------+-------------+-----------+-----------+--------------------------------------+---------------------------------------------------------------+-----------------------------+-------------------+
#. Configure user access to the new share before attempting to mount it via
the network:
.. important ::
The image used for launching an instance and mounting a share must have
the NFS packages provided by the distro. Example: The cirros image
created at the image service section is not enough.
.. important ::
Use an instance that is connected to the private network used to create
the share-network.
.. code-block:: console
$ manila access-allow demo-share1 ip INSTANCE_PRIVATE_NETWORK_IP
Mount the share from an instance
--------------------------------
#. Create a folder where the mount will be placed:
.. code-block:: console
$ mkdir ~/test_folder
#. Mount the NFS share in the instance using the export location of the share:
.. code-block:: console
$ mount -v 10.254.0.6:/shares/share-0bfd69a1-27f0-4ef5-af17-7cd50bce6550 ~/test_folder
For more information about how to manage shares, see the
`OpenStack User Guide
<http://docs.openstack.org/user-guide/index.html>`__.
Return to :ref:`launch-instance`.

View File

@ -139,3 +139,14 @@ a stack that launches an instance.
:maxdepth: 1
launch-instance-heat.rst
Shared File Systems
-------------------
If your environment includes the Shared File Systems service, you can create
a share.
.. toctree::
:maxdepth: 1
launch-instance-manila.rst

View File

@ -0,0 +1,390 @@
.. _manila-controller:
Install and configure controller node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes how to install and configure the Shared File Systems
service, code-named manila, on the controller node. This service requires at
least one additional share node that manages file storage back-ends.
Prerequisites
-------------
Before you install and configure the Share File System service, you
must create a database, service credentials, and API endpoints.
#. To create the database, complete these steps:
* Use the database access client to connect to the database server as the
``root`` user:
.. code-block:: console
$ mysql -u root -p
* Create the ``manila`` database:
.. code-block:: console
CREATE DATABASE manila;
* Grant proper access to the ``manila`` database:
.. code-block:: console
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' \
IDENTIFIED BY 'MANILA_DBPASS';
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' \
IDENTIFIED BY 'MANILA_DBPASS';
Replace ``MANILA_DBPASS`` with a suitable password.
* Exit the database access client.
#. Source the ``admin`` credentials to gain access to admin-only CLI commands:
.. code-block:: console
$ source admin-openrc.sh
#. To create the service credentials, complete these steps:
* Create a ``manila`` user:
.. code-block:: console
$ openstack user create --domain default --password-prompt manila
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 83a3990fc2144100ba0e2e23886d8acc |
| name | manila |
+-----------+----------------------------------+
* Add the ``admin`` role to the ``manila`` user:
.. code-block:: console
$ openstack role add --project service --user manila admin
.. note::
This command provides no output.
* Create the ``manila`` and ``manilav2`` service entities:
.. code-block:: console
$ openstack service create --name manila \
--description "OpenStack Shared File Systems" share
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Shared File Systems |
| enabled | True |
| id | 82378b5a16b340aa9cc790cdd46a03ba |
| name | manila |
| type | share |
+-------------+----------------------------------+
.. code-block:: console
$ openstack service create --name manilav2 \
--description "OpenStack Shared File Systems" sharev2
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | OpenStack Shared File Systems |
| enabled | True |
| id | 30d92a97a81a4e5d8fd97a32bafd7b88 |
| name | manilav2 |
| type | sharev2 |
+-------------+----------------------------------+
.. note::
The Share File System services require two service entities.
#. Create the Shared File Systems service API endpoints:
.. code-block:: console
$ openstack endpoint create --region RegionOne \
share public http://controller:8786/v1/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field | Value |
+--------------+-----------------------------------------+
| enabled | True |
| id | 0bd2bbf8d28b433aaea56a254c69f69d |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 82378b5a16b340aa9cc790cdd46a03ba |
| service_name | manila |
| service_type | share |
| url | http://controller:8786/v1/%(tenant_id)s |
+--------------+-----------------------------------------+
$ openstack endpoint create --region RegionOne \
share internal http://controller:8786/v1/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field | Value |
+--------------+-----------------------------------------+
| enabled | True |
| id | a2859b5732cc48b5b083dd36dafb6fd9 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 82378b5a16b340aa9cc790cdd46a03ba |
| service_name | manila |
| service_type | share |
| url | http://controller:8786/v1/%(tenant_id)s |
+--------------+-----------------------------------------+
$ openstack endpoint create --region RegionOne \
share admin http://controller:8786/v1/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field | Value |
+--------------+-----------------------------------------+
| enabled | True |
| id | f7f46df93a374cc49c0121bef41da03c |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 82378b5a16b340aa9cc790cdd46a03ba |
| service_name | manila |
| service_type | share |
| url | http://controller:8786/v1/%(tenant_id)s |
+--------------+-----------------------------------------+
.. code-block:: console
$ openstack endpoint create --region RegionOne \
sharev2 public http://controller:8786/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field | Value |
+--------------+-----------------------------------------+
| enabled | True |
| id | d63cc0d358da4ea680178657291eddc1 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 30d92a97a81a4e5d8fd97a32bafd7b88 |
| service_name | manilav2 |
| service_type | sharev2 |
| url | http://controller:8786/v2/%(tenant_id)s |
+--------------+-----------------------------------------+
$ openstack endpoint create --region RegionOne \
sharev2 internal http://controller:8786/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field | Value |
+--------------+-----------------------------------------+
| enabled | True |
| id | afc86e5f50804008add349dba605da54 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 30d92a97a81a4e5d8fd97a32bafd7b88 |
| service_name | manilav2 |
| service_type | sharev2 |
| url | http://controller:8786/v2/%(tenant_id)s |
+--------------+-----------------------------------------+
$ openstack endpoint create --region RegionOne \
sharev2 admin http://controller:8786/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field | Value |
+--------------+-----------------------------------------+
| enabled | True |
| id | e814a0cec40546e98cf0c25a82498483 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 30d92a97a81a4e5d8fd97a32bafd7b88 |
| service_name | manilav2 |
| service_type | sharev2 |
| url | http://controller:8786/v2/%(tenant_id)s |
+--------------+-----------------------------------------+
.. note::
The Share File System services require endpoints for each service
entity.
Install and configure components
--------------------------------
.. only:: obs
#. Install the packages:
.. code-block:: console
# zypper install openstack-manila-api openstack-manila-scheduler python-manilaclient
.. only:: rdo
#. Install the packages:
.. code-block:: console
# yum install openstack-manila python-manilaclient
.. only:: ubuntu or debian
#. Install the packages:
.. code-block:: console
# apt-get install manila-api manila-scheduler python-manilaclient
.. only:: debian
Respond to prompts for
:doc:`database management <debconf/debconf-dbconfig-common>`,
:doc:`Identity service credentials <debconf/debconf-keystone-authtoken>`,
:doc:`service endpoint registration <debconf/debconf-api-endpoints>`,
and :doc:`message broker credentials <debconf/debconf-rabbitmq>`.
2. Edit the ``/etc/manila/manila.conf`` file and complete the
following actions:
.. only:: obs or rdo or ubuntu
* In the ``[database]`` section, configure database access:
.. only:: ubuntu or obs
.. code-block:: ini
[database]
...
connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
.. only:: rdo
.. code-block:: ini
[database]
...
connection = mysql+pymysql://manila:manila_DBPASS@controller/manila
Replace ``MANILA_DBPASS`` with the password you chose for the
Share File System database.
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
configure ``RabbitMQ`` message queue access:
.. code-block:: ini
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Replace ``RABBIT_PASS`` with the password you chose for the
``openstack`` account in ``RabbitMQ``.
* In the ``[DEFAULT]`` section, set the following config values:
.. code-block:: ini
[DEFAULT]
...
default_share_type = default_share_type
share_name_template = share-%s
rootwrap_config = /etc/manila/rootwrap.conf
api_paste_config = /etc/manila/api-paste.ini
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
configure Identity service access:
.. code-block:: ini
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = manila
password = MANILA_PASS
Replace ``MANILA_PASS`` with the password you chose for
the ``manila`` user in the Identity service.
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option to
use the management interface IP address of the controller node:
.. code-block:: ini
[DEFAULT]
...
my_ip = 10.0.0.11
.. only:: obs or rdo or ubuntu
* In the ``[oslo_concurrency]`` section, configure the lock path:
.. code-block:: ini
[oslo_concurrency]
...
lock_path = /var/lock/manila
.. only:: obs or rdo or ubuntu
3. Populate the Share File System database:
.. code-block:: console
# su -s /bin/sh -c "manila-manage db sync" manila
Finalize installation
---------------------
.. only:: obs or rdo
#. Start the Share File System services and configure them to start when
the system boots:
.. code-block:: console
# systemctl enable openstack-manila-api.service openstack-manila-scheduler.service
# systemctl start openstack-manila-api.service openstack-manila-scheduler.service
.. only:: ubuntu or debian
#. Restart the Share File Systems services:
.. code-block:: console
# service manila-scheduler restart
# service manila-api restart
.. only:: ubuntu
3. By default, the Ubuntu packages create an SQLite database.
Because this configuration uses an SQL database server,
you can remove the SQLite database file:
.. code-block:: console
# rm -f /var/lib/manila/manila.sqlite

View File

@ -0,0 +1,9 @@
.. _manila-next-steps:
==========
Next steps
==========
Your OpenStack environment now includes the Shared File Systems service. You
can :doc:`launch an instance <launch-instance>` or add more services to your
environment in the following chapters.

View File

@ -0,0 +1,259 @@
.. _manila-storage:
Install and configure a share node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes how to install and configure a share node for the
Shared File Systems service. For simplicity, this configuration references one
storage node with the generic driver managing the share servers. The
generic backend manages share servers using compute, networking and block
services for provisioning shares.
.. Note::
The manila-share process can run in two modes, with and without handling of
share servers. In general it depends of the driver support.
Install and configure components
--------------------------------
#. Install the packages:
.. only:: obs
.. code-block:: console
# zypper install openstack-manila python-PyMySQL
.. only:: rdo
.. code-block:: console
# yum install openstack-manila targetcli python-oslo-policy
.. only:: ubuntu
.. code-block:: console
# apt-get install manila-common python-pymysql
#. Install neutron agent packages needed for generic driver:
.. only:: obs
.. code-block:: console
# zypper install --no-recommends openstack-neutron-linuxbridge-agent ipset
.. only:: rdo
.. code-block:: console
# yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset
.. only:: ubuntu
.. code-block:: console
# apt-get install neutron-plugin-linuxbridge-agent conntrack
#. Edit the ``/etc/manila/manila.conf`` file and complete the following
actions:
* In the ``[database]`` section, configure database access:
.. only:: ubuntu or obs
.. code-block:: ini
[database]
...
connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
.. only:: rdo
.. code-block:: ini
[database]
...
connection = mysql://manila:MANILA_DBPASS@controller/manila
Replace ``MANILA_DBPASS`` with the password you chose for
the Share File System database.
* In the ``[DEFAULT]`` and ``[oslo_messaging_rabbit]`` sections,
configure ``RabbitMQ`` message queue access:
.. code-block:: ini
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Replace ``RABBIT_PASS`` with the password you chose for the
``openstack`` account in ``RabbitMQ``.
* In the ``[DEFAULT]`` section, set the following config values:
.. code-block:: ini
[DEFAULT]
...
default_share_type = default_share_type
share_name_template = share-%s
rootwrap_config = /etc/manila/rootwrap.conf
api_paste_config = /etc/manila/api-paste.ini
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
configure Identity service access:
.. code-block:: ini
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = manila
password = MANILA_PASS
Replace ``MANILA_PASS`` with the password you chose for the ``manila``
user in the Identity service.
* In the ``[DEFAULT]`` section, configure the ``my_ip`` option:
.. code-block:: ini
[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
Replace ``MANAGEMENT_INTERFACE_IP_ADDRESS`` with the IP address
of the management network interface on your share node,
typically 10.0.0.41 for the first node in the
:ref:`example architecture <overview-example-architectures>`.
* Edit the ``/etc/manila/manila.conf`` file, configure nova, cinder and
neutron credentials:
.. code-block:: ini
[DEFAULT]
...
nova_admin_auth_url=http://controller:5000/v2.0
nova_admin_tenant_name=service
nova_admin_username=nova
nova_admin_password=NOVA_PASS
cinder_admin_auth_url=http://controller:5000/v2.0
cinder_admin_tenant_name=service
cinder_admin_username=cinder
cinder_admin_password=CINDER_PASS
neutron_admin_auth_url=http://controller:5000/v2.0
neutron_url=http://controller:9696
neutron_admin_project_name=service
neutron_admin_username=neutron
neutron_admin_password=NEUTRON_PASS
* In the ``[generic]`` section, configure the generic share driver:
.. code-block:: ini
[generic]
share_backend_name = GENERIC
share_driver = manila.share.drivers.generic.GenericShareDriver
* In the ``[generic]`` section, enable driver handles share servers (DHSS),
setup flavor (m1.small has id=2) and image configurations:
.. code-block:: ini
driver_handles_share_servers = True
service_instance_flavor_id = 2
service_image_name = manila-service-image
service_instance_user = manila
service_instance_password = manila
* In the ``[generic]`` section, configure linux bridge for interface
driver:
.. code-block:: ini
interface_driver = manila.network.linux.interface.BridgeInterfaceDriver
* In the ``[DEFAULT]`` section, enable the generic back end:
.. note::
Back-end names are arbitrary. As an example, this guide
uses the name of the driver as the name of the back end.
.. code-block:: ini
[DEFAULT]
...
enabled_share_backends = generic
enabled_share_protocols = NFS,CIFS
* In the ``[oslo_concurrency]`` section, configure the lock path:
.. code-block:: ini
[oslo_concurrency]
...
lock_path = /var/lib/manila/tmp
Finalize installation
---------------------
#. Prepare manila-share as start/stop service:
.. only:: obs
* Start the Share File System service including its dependencies
and configure them to start when the system boots:
.. code-block:: console
# systemctl enable openstack-manila-volume.service tgtd.service
# systemctl start openstack-manila-volume.service tgtd.service
.. only:: rdo
* Start the Share File System service including its dependencies
and configure them to start when the system boots:
.. code-block:: console
# systemctl enable openstack-manila-share.service target.service
# systemctl start openstack-manila-share.service target.service
.. only:: ubuntu
* Start the Share File System service including its dependencies:
.. code-block:: console
# service manila-share restart
* By default, the Ubuntu packages create an SQLite database.
Because this configuration uses an SQL database server,
remove the SQLite database file:
.. code-block:: console
# rm -f /var/lib/manila/manila.sqlite

View File

@ -0,0 +1,29 @@
.. _manila-verify:
Verify operation
~~~~~~~~~~~~~~~~
Verify operation of the Shared File Systems service.
.. note::
Perform these commands on the controller node.
#. Source the ``admin`` credentials to gain access to
admin-only CLI commands:
.. code-block:: console
$ source admin-openrc.sh
#. List service components to verify successful launch of each process:
.. code-block:: console
$ manila service-list
+------------------+----------------+------+---------+-------+----------------------------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+------------------+----------------+------+---------+-------+----------------------------+-----------------+
| manila-scheduler | controller | nova | enabled | up | 2014-10-18T01:30:54.000000 | None |
| manila-share | share1@generic | nova | enabled | up | 2014-10-18T01:30:57.000000 | None |
+------------------+----------------+------+---------+-------+----------------------------+-----------------+

View File

@ -0,0 +1,37 @@
.. _manila:
===========================
Shared File Systems service
===========================
.. toctree::
common/get_started_file_storage.rst
manila-controller-install.rst
manila-share-install.rst
manila-verify.rst
manila-next-steps.rst
The OpenStack Shared File Systems service provides coordinated access to
shared or distributed file systems. The method in which the share is
provisioned and consumed is determined by the Shared File Systems driver, or
drivers in the case of a multi-backend configuration. There are a variety of
drivers that support NFS, CIFS, HDFS and/or protocols as well.
The Shared File Systems API and scheduler services typically run on the
controller nodes. Depending upon the drivers used, the share service can run
on controllers, compute nodes, or storage nodes.
.. important::
For simplicity, this guide describes configuring the Shared File Systems
service to use the ``generic`` back end with the driver handles share
server mode (DHSS) enabled that uses Compute (nova), Networking (neutron)
and Block storage (cinder) services.
Networking service configuration requires the capability of networks being
attached to a public router in order to create share networks.
Before you proceed, ensure that Compute, Networking and Block storage
services are properly working. For networking service, ensure that option
2 is properly configured.
For more information, see the `Configuration Reference <http://docs.openstack.org/mitaka/config-reference/content/section_share-drivers.html>`__.