환경세팅 (설치 전 선행 작업)
Environment란을 클릭하면 오픈스택을 설치하기 위한 환경세팅을 할 수 있다.
위에 있는 선행 작업들을 모두 진행해줘야 한다. (Security는 옵션)
1. Host networking 설치
기본적으로 openstack은 controller 노드, compute 노드는 필수이며 storage노드는 선택사항이다.
결국 관리용 내부망 NAT, 일반 연결망(bridge) 각 1개씩, 총 2개의 네트워크 인터페이스 카드가 필요하다.
우리는 여기서 관리자용 내부망을 설정해줘야 한다.
1.1 각 노드 설정
다음과 같은 방식을 이용하여 네트워크를 설정한다.
# vi /etc/network/interfaces
... ...
auto INTERFACE_NAME
iface INTERFACE_NAME inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
- INTERFACE_NAME에는 나의 내부망 인터페이스 카드 이름을 적는다 ex) enp1s0, enp7s0...
- controller node에서는 controller node의 해당하는 interface 이름, compute node에서는 자신의 interface이름을 적는다.
- block storage를 이용한다면 block node도 설정해주면 된다.
# vi /etc/hosts
... ...
# controller
10.0.0.11 controller
# compute1
10.0.0.31 compute1
# block1
10.0.0.41 block1
- 위는 예시에서 보는 것과 같이 본인이 사용할 각 노드의 ip와 역할을 적으면 된다.
- hostnamectl을 이용해서 노드들 이름을 먼저 바꿔야 한다.
- 모든 노드들을 등록해줘야 하며 위는 예시이기 때문에 노드가 더 많다면 다 등록해주면 된다.
- 127.0.1.1.은 주석 처리한다.
1.2 설정 작동 확인
네트워크 통신을 확인한다.
# ping -c 4 docs.openstack.org
# ping -c 4 compute1
2. Network Time Protocol(NTP) 설치
2.1 controller node 설정
2.1.1 패키지 설치
# apt install chrony
2.1.2 chrony.conf 설정
# vi /etc/chrony.conf
server NTP_SERVER iburst
allow 10.0.0.0/24
- NTP_SERVER를 본인이 원하는 서버로 설정하시면 됩니다. ex) server 1.kr.pool.ntp.org, server 2.asia.pool.ntp.org
- allow 뒤는 본인 내부망 영역과 넷마스크를 적어준다.
2.1.3 chrony 재시작
# service chrony restart
2.2 other node 설정
2.2.1 패키지 설치
# apt install chrony
2.2.2 /etc/chrony.conf 파일 설정
# vi /etc/chrony.conf
... ...
#pool 2.debian.pool.ntp.org
server controller iburst
- 나머지 설정된 "pool 2.debian.pool.ntp.org" 은 주석처리 한다.
2.2.3 chrony service 재 시작
# service chrony restart
2.3 chrony 작동 확인
모든 노드에서 아래 명령어를 실행시켜 정상 작동을 확인한다.
# chronyc sources
컨트롤러 노드 실행 결과
다른 노드에서의 실행 결과
3. OpenStack Repository 추가
패키지 추가 및 샘플 설치 및 클라이언트를 설치한다. (본 설정은 모든 Node에 실행한다.)
# add-apt-repository cloud-archive:yoga
# apt install nova-compute
# apt install python3-openstackclient
4. SQL database 설치
SQL Database 설치는 일반적으로 controller node 에 설치하는 것을 권장한다.
4.1 패키지 설치
# apt install mariadb-server python3-pymysql
4.2 99-openstack.cnf 파일 생성 및 설정
[controller ip]에는 controller node의 IP를 적는다. 예) bind-address = 192.168.124.258
# vi /etc/mysql/mariadb.conf.d/99-openstack.cnf
[mysqld]
bind-address = [contoller ip]
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
4.3 데이터베이스 재시작 및 secure 설정
# service mysql restart
# mysql_secure_installation
5. Message queue 설치
Message Queue 설치는 일반적으로 controller node 에 설치하는 것을 권장한다.
5.1 패키지 설치
# apt install rabbitmq-server
5.2 rabbitmq 유저 생성
RABBIT_PASS 대신 본인의 비밀번호를 작성한다. 필자는 모든 비밀번호를 openstack으로 통일하였다.
# rabbitmqctl add_user openstack RABBIT_PASS
5.3 권한 설정 openstack 유저에게 권한 설정
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
6. Memcached 설치
Memcached 설치는 일반적으로 controller node 에 설치하는 것을 권장한다.
6.1 패키지 설치
# apt install memcached python3-memcache
6.2 memcached.conf 파일 설정
[controller ip]에 자신의 controller ip 설정한다. (ex) 192.168.124.258)
# vi /etc/memcached.conf
-l [controller ip]
7. Etcd 설치
Etcd 설치는 일반적으로 Controller node 에 설치하는 것을 권장한다.
7.1 패키지 설치
# apt install etcd
7.2 etcd 파일 설정
[controller ip]에는 설치된 Controller IP로 설정한다.
# vi /etc/default/etcd
ETCD_NAME="controller"
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER="controller=http://[controller ip]:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://[controller ip]:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://[controller ip]:2379"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://[controller ip]:2379"
7.3 etcd service 재 시작
# systemctl enable etcd
# systemctl restart etcd
여기까지가 오픈스택을 설치하기 위한 환경 세팅이다.
정상적으로 환경 세팅을 맞쳤다면, 재부팅을 하여 설정들이 잘 적용 될 수 있도록 하자.
'Cloud' 카테고리의 다른 글
OpenStack 설치 4편 glance 설치 (Ubuntu 20.04 Yoga) (0) | 2024.03.27 |
---|---|
OpenStack 설치 3편 Keystone 설치 (Ubuntu 20.04 Yoga) (0) | 2024.03.07 |
OpenStack 설치 1편 (Ubuntu 20.04 Yoga) (0) | 2024.02.27 |
DevStack 설치 방법 (feat. openstack, manila) (1) | 2024.02.13 |
pydio 설치 방법 (centos 8.4) (0) | 2021.11.27 |