대부분의 오픈스택의 서비스 정보를 저장하기 위해 SQL DB를 이용하며

현재 설치될 SQL DB는 기존 가이드에 따라 mariaDB로 진행되지만 PostgreSQL등 다른 SQL DB도 지원 가능함

DB는 controller노드에만 설치함.

 

[root@controller ~]# yum install -y mariadb mariadb-server MySQL-python

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.neowiz.com
 * extras: ftp.neowiz.com
 * updates: ftp.neowiz.com
Resolving Dependencies
--> Running transaction check
---> Package MySQL-python.x86_64 0:1.2.3-11.el7 will be installed
---> Package mariadb.x86_64 1:5.5.44-2.el7.centos will be installed
...(생략)...


Complete!
[root@controller ~]# vi /etc/my.cnf.d/mariadb_openstack.cnf

### /etc/my.cnf.d/mariadb_openstack.cnf 파일을 만들고 아래의 내용으로 수정한다.

[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

 

### mariaDB 시작 및 부팅시 자동 실행될 서비스로 등록 및 시작  ###

[root@controller my.cnf.d]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@controller my.cnf.d]# systemctl start mariadb.service

 

 

Telemetry 서비스는 정보를 저장하기 위해 NoSQL database를 사용하며 역시 컨트롤로 노드에만 설치한다. 가이드에 따라  MongoDB를 설치함

 

[root@controller ~]# yum install -y mongodb-server mongodb
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.neowiz.com
 * extras: ftp.neowiz.com
 * updates: ftp.neowiz.com
Resolving Dependencies
--> Running transaction check
...(생략)...
  libunwind.x86_64 2:1.1-5.el7_2.2
  v8.x86_64 1:3.14.5.10-14.el7
  yaml-cpp.x86_64 0:0.5.1-6.el7

Complete!

[root@controller ~]#

 

### /etc/mongod.conf 파일을 아래와 같이 bind_ip에 controller ip를 smallfiles 항목에서 주석을 제거한다. ###

[root@controller ~]#

 

bind_ip = 10.0.0.11

 

smallfiles = true

[root@controller ~]#

 

###mongodb 시작 및 부팅시 자동 실행될 서비스로 등록 및 시작  ###
[root@controller ~]# systemctl enable mongod.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
[root@controller ~]# systemctl start mongod.service

 

오픈스택은 서비스 중 작업을 조정하거나 상태 정보를 위해 message queue를 사용한다. 오픈스택은 RabbitMQ, ZeroMQ, Qpid의 여러 메세지 큐를 지원하며

지금은 가이드에 따라 RabbitMQ를 설치함.. 메세지 큐 또한 컨트롤로 노드에만 설치한다.

[root@controller ~]# yum install -y rabbitmq-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.neowiz.com
 * extras: ftp.neowiz.com
 * updates: ftp.neowiz.com
Resolving Dependencies
--> Running transaction check
---> Package rabbitmq-server.noarch 0:3.3.5-6.el7 will be installed

...(생략)...

  lksctp-tools.x86_64 0:1.0.13-3.el7

Complete!

[root@controller ~]#

 

### RabbitMQ시작 및 부팅시 자동 실행될 서비스로 등록 및 시작  ###
[root@controller ~]# systemctl enable rabbitmq-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
[root@controller ~]# systemctl start rabbitmq-server.service

 

### Openstack 사용자 추가 및 권한 설정 - 패스워드를 다르게 설정할 경우 RABBIT_PASS 항목을 수정한다. ###

[root@controller ~]# rabbitmqctl add_user openstack RABBIT_PASS
Creating user "openstack" ...
...done.
[root@controller ~]#

[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
...done.
[root@controller ~]#

+ Recent posts