Installation et configuration d'OpenStack (Juno) dans Oracle® Solaris

Quitter la vue de l'impression

Mis à jour : Juin 2016
 
 

Installation de MySQL

De nombreux services OpenStack permettent à une base de données d'assurer le suivi des ressources critiques, leur utilisation et d'autres informations. Par défaut, les bases de données individuelles SQLite sont indiquées dans ce but, et s'avèrent utiles pour la configuration mononoeud. Pour les configurations multinoeuds, notamment dans un environnement de production, d'autres bases de données, telles que la base de données MySQL, sont recommandées pour le stockage de ces informations.

La communication entre services OpenStack utilise le protocole AMQP (Advanced Message Queuing Protocol). Sous Oracle Solaris, AMQP est implémenté par RabbitMQ. Le service RabbitMQ est obligatoire. Un seul noeud du cloud est généralement configuré pour exécuter RabbitMQ. Dans cette architecture, RabbitMQ est configuré pour s'exécuter sur le noeud de contrôleur.

Installation d'une base de données MySQL

  1. Activez les services RabbitMQ.
    controller# svcadm enable rabbitmq
    controller# svcadm restart rad:local
  2. (Facultatif) Si vous utilisez une adresse IP dédiée pour le trafic d'administration et d'API, ajoutez-la dans le fichier /etc/mysql/5.5/my.cnf :
    bind-address=$CONTROLLER_ADMIN_NODE_IP
  3. Activez le service MySQL.
    controller# svcadm enable mysql
  4. Définissez le mot de passe root du serveur MySQL.
    controller# mysqladmin -u root password MySQL-root-password
  5. Configurez MySQL.

    Créez les tables qui seront utilisées par OpenStack. Accordez les privilèges aux services sur le noeud de contrôleur afin de fournir un accès exclusif à ces bases de données.

    controller# mysql -u root -p
    Enter password: MySQL-root-password
    mysql> drop database if exists nova;
    mysql> drop database if exists cinder;
    mysql> drop database if exists glance;
    mysql> drop database if exists keystone;
    mysql> drop database if exists neutron;
    mysql> drop database if exists heat;
    mysql> create database cinder default character set utf8 default collate utf8_general_ci;
    mysql> grant all privileges on cinder.* to 'cinder'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
    mysql> create database glance default character set utf8 default collate utf8_general_ci;
    mysql> grant all privileges on glance.* to 'glance'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
    mysql> create database keystone default character set utf8 default collate utf8_general_ci;
    mysql> grant all privileges on keystone.* to 'keystone'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
    mysql> create database nova default character set utf8 default collate utf8_general_ci;
    mysql> grant all privileges on nova.* to 'nova'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
    mysql> create database neutron default character set utf8 default collate utf8_general_ci;
    mysql> grant all privileges on neutron.* to 'neutron'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
    mysql> create database heat default character set utf8 default collate utf8_general_ci;
    mysql> grant all privileges on heat.* to 'heat'@'$CONTROLLER_ADMIN_NODE' identified by 'service-password';
    mysql> flush privileges;
    mysql> quit