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 drivers.
Before you install and configure the Share File System service, you must create a database, service credentials, and API endpoints.
Führen Sie diese Schritte zum Erstellen der Datenbank aus:
Benutzen Sie den Datenbank-Client zur Verbindung zum Datenbank-Server als Benutzer root :
$ mysql -u root -p
Erstellen Sie die manila Datenbank:
CREATE DATABASE manila;
Vergeben Sie die richtigen Zugriffsberechtigungen für die manila Datenbank:
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' \
IDENTIFIED BY 'MANILA_DBPASS';
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' \
IDENTIFIED BY 'MANILA_DBPASS';
Ersetzen Sie MANILA_DBPASS durch ein geeignetes Passwort.
Beenden Sie den Datenbank-Client.
Sourcen Sie die admin Anmeldeinformationen, um Zugriff auf die Admin-Kommandos zu bekommen:
$ . admin-openrc
Um die Dienstanmeldeinformationen zu erstellen, vervollständigen Sie folgende Schritte:
Erstellen Sie einen manila Benutzer:
$ openstack user create --domain default --password-prompt manila
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | e0353a670a9e496da891347c589539e9 |
| enabled | True |
| id | 83a3990fc2144100ba0e2e23886d8acc |
| name | manila |
+-----------+----------------------------------+
Fügen Sie die Rolle admin zum manila Benutzer hinzu:
$ openstack role add --project service --user manila admin
Bemerkung
Das Kommando erzeugt keine Ausgabe.
Erstellen Sie die Dienstinstanzen manila und manilav2:
$ 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 |
+-------------+----------------------------------+
$ 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 |
+-------------+----------------------------------+
Bemerkung
The Share File System services require two service entities.
Create the Shared File Systems service API endpoints:
$ 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 |
+--------------+-----------------------------------------+
$ 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 |
+--------------+-----------------------------------------+
Bemerkung
The Share File System services require endpoints for each service entity.
Installieren Sie die Pakete:
# zypper install openstack-manila-api \
openstack-manila-scheduler python-manilaclient
Bearbeiten Sie die Datei /etc/manila/manila.conf und führen folgende Schritte durch:
Konfigurieren Sie den Datenbankzugriff in der Sektion [database] :
[database]
...
connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
Replace MANILA_DBPASS with the password you chose for the Share File System database.
Konfigurieren Sie den RabbitMQ Nachrichtenwarteschlangen-Zugriff in den Sektionen [DEFAULT] und [oslo_messaging_rabbit] :
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Ersetzen Sie RABBIT_PASS mit dem Passwort, welches Sie für den openstack Account in RabbitMQ gewählt haben.
Setzen Sie im Abschnitt [DEFAULT] folgende Konfigurationswerte:
[DEFAULT]
...
default_share_type = default_share_type
rootwrap_config = /etc/manila/rootwrap.conf
Konfigurieren Sie den Identitätsdienst-Zugriff in den Sektionen [DEFAULT] und [keystone_authtoken]:
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
memcached_servers = controller:11211
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = manila
password = MANILA_PASS
Ersetzen Sie MANILA_PASS durch das Passwort, das Sie für den Benutzer manila im Identitätsdienst vergeben haben.
Konfigurieren Sie in der Sektion [DEFAULT] die Option my_ip so, dass die IP-Adresse der Management-Schnittstelle des Controller Nodes genutzt wird.
[DEFAULT]
...
my_ip = 10.0.0.11
Konfigurieren Sie den Sperrpfad in der Sektion [oslo_concurrency]:
[oslo_concurrency]
...
lock_path = /var/lib/manila/tmp
Starten Sie die Share-Dateisystem-Dienste und konfigurieren Sie sie so, dass sie beim Systemstart gestartet werden:
# systemctl enable openstack-manila-api.service openstack-manila-scheduler.service
# systemctl start openstack-manila-api.service openstack-manila-scheduler.service
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.