본격적인 Openstack 핵심 서비스를 설치하기에 앞서서 먼저 Openstack을 사용하기 위해 여러 환경 구축을 해줄것이다.
Ubuntu용 Openstack packages를 설치한다.
# add-apt-repository cloud-archive:xena
# apt install nova-compute
# apt install python3-openstackclient
# apt install mariadb-server python3-pymysql
# vim /etc/mysql/mariadb.conf.d/99-openstack.cnf
[mysqld]
bind-address = localhost
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
설치 후 설정파일에서 [mysqld] 레이어의 bind-address를 localhost로 변경해준다.
서비스 재시작을 한 후 mysql_secure_installation 스크립트 파일을 시작해 비밀번호를 설정해준다.
# service mysql restart
# mysql_secure_installation
rabbitmq을 사용해 메시지 큐 서비스를 구축한다.
# apt install rabbitmq-server
# rabbitmqctl add_user openstack RABBITMQ_비밀번호
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
설치 후 openstack 이름을 가진 사용자를 추가하고 read, write, execute 권한을 허용한다.
# apt install memcached python3-memcache
# vim /etc/memcached.conf
-l localhost
# service memcached restart
설치 후 /etc/memcached.conf 파일을 수정해 이 노드의 관리 IP 주소를 사용하도록 서비스를 구성한다.
분산 키 잠금, 구성 저장, 서비스 활성 상태 추적 및 기타 시나리오를 위해 신뢰할 수 있는 분산 키 값 저장소인 Etcd 설치한다.
# apt install etcd
# vim /etc/default/etcd
ETCD_NAME="localhost"
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER="controller=http://localhost:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
ETCD_LISTEN_PEER_URLS="http://localhost:2380"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
# systemctl enable etcd
# systemctl restart etcd