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:
parent
26a99f9741
commit
51b44ccdc7
@ -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>`__.
|
||||
|
@ -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',
|
||||
|
@ -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
|
||||
|
198
doc/install-guide/source/launch-instance-manila.rst
Normal file
198
doc/install-guide/source/launch-instance-manila.rst
Normal 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`.
|
@ -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
|
||||
|
390
doc/install-guide/source/manila-controller-install.rst
Normal file
390
doc/install-guide/source/manila-controller-install.rst
Normal 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
|
9
doc/install-guide/source/manila-next-steps.rst
Normal file
9
doc/install-guide/source/manila-next-steps.rst
Normal 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.
|
259
doc/install-guide/source/manila-share-install.rst
Normal file
259
doc/install-guide/source/manila-share-install.rst
Normal 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
|
29
doc/install-guide/source/manila-verify.rst
Normal file
29
doc/install-guide/source/manila-verify.rst
Normal 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 |
|
||||
+------------------+----------------+------+---------+-------+----------------------------+-----------------+
|
37
doc/install-guide/source/manila.rst
Normal file
37
doc/install-guide/source/manila.rst
Normal 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>`__.
|
Loading…
Reference in New Issue
Block a user