Cette section décrit comment installer et configurer le service de Systèmes de Fichiers Partagés, nom de code manila, sur le contrôleur. Ce service nécessite au minimum un nœud de partages supplémentaire pour gérer les drivers de stockage de fichiers.
Avant d’installer et configurer le service de Systèmes de Fichiers Partagés, vous devez créer une base de données, des crédentiels et des endpoints API.
Pour créer la base de données, réalisez les étapes suivantes :
Utilisez le client d’accès à la base de données pour vous connecter au serveur de base de données en tant qu’utilisateur root:
$ mysql -u root -p
Créer la base de données manila :
CREATE DATABASE manila;
Octroyer les droits d’accès nécessaires à la base de données ``manila` :
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' \
IDENTIFIED BY 'MANILA_DBPASS';
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' \
IDENTIFIED BY 'MANILA_DBPASS';
Remplacer MANILA_PASS par un mot de passe approprié.
Quitter le client d’accès à la base de données.
Sourcer les crédentiels admin pour accéder aux commandes en ligne réservées à l’administrateur :
$ . admin-openrc
Pour créer les crédentiels du service, réalisez les étapes suivantes :
Créer un utilisateur manila :
$ openstack user create --domain default --password-prompt manila
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | e0353a670a9e496da891347c589539e9 |
| enabled | True |
| id | 83a3990fc2144100ba0e2e23886d8acc |
| name | manila |
+-----------+----------------------------------+
Ajouter le rôle admin à l’utilisateur manila :
$ openstack role add --project service --user manila admin
Note
Cette commande ne produit aucune sortie.
Créer les entités de service manila et 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 |
+-------------+----------------------------------+
Note
Les services de Systèmes de Fichiers Partagés nécessitent deux entités de service.
Créer les endpoints API pour le service de Systèmes de Fichiers Partagés :
$ 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 |
+--------------+-----------------------------------------+
Note
Les services de Systèmes de Fichiers Partagés nécessitent un endpoint pour chaque entité de service.
Installer les packages :
# yum install openstack-manila python-manilaclient
Editer le fichier /etc/manila/manila.conf et effectuer les actions suivantes :
Dans la section [database], configurer l’accès à la base de données :
[database]
...
connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila
Remplacer MANILA_DBPASS par le mot de passe choisi pour la base de données du Système de Fichiers Partagés.
Dans les sections [DEFAULT] et [oslo_messaging_rabbit], configurer l’accès au service de files de messages RabbitMQ:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Remplacez RABBIT_PASS par le mot de passe que vous avez attribué au compte openstack dans RabbitMQ.
Dans la section [DEFAULT], définir les valeurs de configuration suivantes :
[DEFAULT]
...
default_share_type = default_share_type
rootwrap_config = /etc/manila/rootwrap.conf
Dans les sections [DEFAULT] et [keystone_authtoken], configurer l’accès au service d’Identité :
[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
Remplacer MANILA_PASS par le mot de passe choisi pour l’utilisateur manila dans le service d’Identité.
Dans la section [DEFAULT], configurer l’option my_ip pour utiliser l’adresse IP de l’interface d’administration du contrôleur:
[DEFAULT]
...
my_ip = 10.0.0.11
Dans la section [oslo_concurrency], configurer le chemin du verrou :
[oslo_concurrency]
...
lock_path = /var/lib/manila/tmp
Peupler la base de données du Système de Fichiers Partagés :
# su -s /bin/sh -c "manila-manage db sync" manila
Note
Ignorer les éventuels messages obsolètes.
Démarrer les services de Systèmes de Fichiers Partagés et les configurer pour être lancés au démarrage du système :
# 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.