Oracle® Solaris에서 OpenStack(Juno) 설치 및 구성

인쇄 보기 종료

업데이트 날짜: 2016년 6월
 
 

MySQL 설치

여러 OpenStack 서비스는 데이터베이스 유지 관리를 통해 중요한 리소스, 사용량 및 기타 정보를 추적합니다. 기본적으로 개별 SQLite 데이터베이스가 이 용도로 지정되며 단일 노드 구성에 유용합니다. 다중 노드 구성의 경우, 특히 운용 환경에서는 이 정보를 저장하는 데 MySQL 데이터베이스와 같은 다른 데이터베이스를 사용하는 것이 좋습니다.

OpenStack 서비스 사이의 통신은 AMQP(Message Queuing Protocol)를 통해 수행됩니다. Oracle Solaris에서 AMQP는 RabbitMQ에 의해 구현됩니다. 따라서 RabbitMQ는 필수 서비스입니다. 일반적으로 클라우드의 단일 노드는 RabbitMQ를 실행하도록 구성됩니다. 이 아키텍처에서 RabbitMQ는 컨트롤러 노드에서 실행되도록 구성됩니다.

MySQL 데이터베이스를 설치하는 방법

  1. RabbitMQ 서비스를 사용으로 설정합니다.
    controller# svcadm enable rabbitmq
    controller# svcadm restart rad:local
  2. (옵션) 관리 및 API 트래픽에 전용 IP 주소를 사용하는 경우 /etc/mysql/5.5/my.cnf에 해당 주소를 추가합니다.
    bind-address=$CONTROLLER_ADMIN_NODE_IP
  3. MySQL 서비스를 사용으로 설정합니다.
    controller# svcadm enable mysql
  4. MySQL 서버 root 암호를 설정합니다.
    controller# mysqladmin -u root password MySQL-root-password
  5. MySQL을 구성합니다.

    OpenStack에서 사용될 테이블을 만듭니다. 컨트롤러 노드의 서비스에 권한을 부여하여 해당 데이터베이스에 대해 배타적 액세스 권한을 제공합니다.

    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