본 글에서는 Kolla-ansible을 기반으로 Openstack을 다중노드에 설치하는 과정에 대해서 설명합니다.
운영체제 설치
운영체제 이름/버전 : Ubuntu 20.04.5 Live Server
가상네트워크 : 192.168.140.50
각 운영체제에는 별도의 모듈은 설치하지 않고 최소 설치하였습니다.
호스트 정보
본 설치 가이드에서는 네트워크 인터페이스가 1개인 경우를 고려하여 기술되었습니다. 여러 개의 네트워크 인터페이스가 있을 경우에는 각각의 네트워크 인터페이스에 IP를 할당하고 VIP로 묶어서 네트워크를 설계해야 합니다. 이 네트워크 설계에 따라서 필요에 따른 노드의 네트워크가 다르게 설정되게 됩니다.
Host Name | IP | Interface | Role | 사양 |
con01 | 192.168.140.51 | enp7s0 | Controller #1, Compute #3 | CPU : Intel(R) Core(TM) i7-9700F CPU @ 3.00GHz Memory : 32G SSD : 500G HDD : 1T |
con02 | 192.168.140.52 | enp2s0 | Controller #2 | CPU : Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz Memory : 16G SSD : 200G |
con03 | 192.168.140.53 | enp0s31f6 | Controller #3, Compute #4 | CPU : Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz Memory : 32G SSD : 240G HDD : 1T |
com01 | 192.168.140.54 | enp0s31f6 | Compute #1 | CPU : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz Memory : 16G SSD : 240G HDD : 2T |
com02 | 192.168.140.55 | enp2s0 | Compute #2 | CPU : Intel(R) Xeon(R) CPU E5506 @ 2.13GHz, 2EA Memory : 24G SSD : 240G HDD : 500G, 1T, 1T |
사양정보 확인
root@con01:~# lscpu | grep Model
Model: 158
Model name: Intel(R) Core(TM) i7-9700F CPU @ 3.00GHz
root@con01:~# dmidecode -t memory | grep Size | grep -v No
Size: 8192 MB
Size: 8192 MB
Size: 8192 MB
Size: 8192 MB
root@con01:~# lsblk -e7 -e11 | grep disk
sda 8:0 0 447.1G 0 disk
sdb 8:16 0 931.5G 0 disk
root@con01:~#
ssh 대몬 설치
# con01, con02, con03, com01, com02
root@con01:~# sudo apt-get update
# con01, con02, con03, com01, com02
root@con01:~# sudo apt-get install ssh
# con01, con02, con03, com01, com02
root@con01:~# sudo systemctl enable ssh
ssh 테스트
ssh localhost
로그인
ssh root로 로그인되도록 권한 추가
# con01, con02, con03, com01, com02
root@con01:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
# con01, con02, con03, com01, com02
root@con01:~# systemctl restart sshd
ssh root 암호 설정
관리자 암호를 설정합니다.
# con01, con02, con03, com01, com02
user@com02:~# sudo -i
[sudo] password for openstack:
# con01, con02, con03, com01, com02
root@com02:~# passwd
New password:
Retype new password:
passwd: password updated successfully
sudo 암호 안 묻기
기본계정에서 sudo 권한을 묻지않기 위해 아래의 명령을 수행합니다.
root@con01:~# echo 'openstack ALL=NOPASSWD: ALL' >> /etc/sudoers
root@con01:~# cat /etc/sudoers | tail -2
#includedir /etc/sudoers.d
openstack ALL=NOPASSWD: ALL
ssh root 접속 테스트
# con01, con02, con03, com01, com02
openstack@con02:~$ ssh root@localhost
root@localhost's password:
Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-139-generic x86_64)
...
기본 도구 설치
# con01, con02, con03, com01, com02
apt-get install net-tools -y
Kolla-Ansible로 Openstack 설치하기
호스트 설정
각 서버에 통신을 하기 위해서 각 서버 정보를 호스트 파일에 등록합니다.
# con01, con02, con03, com01, com02
root@con01:~# cat /etc/hosts
127.0.0.1 localhost
192.168.140.51 con01
192.168.140.52 con02
192.168.140.53 con03
192.168.140.54 com01
192.168.140.55 com02
SSH key 생성 & 배포
각 서버와 암호없이 통신하도록 SSH키를 만들고 공유합니다.
# con01
root@con01:~# ssh-keygen -t rsa # for node in {con01,con02,con03,com01,com02}; do \
ssh-copy-id root@$node; \
done
Chrony 설치 & 동기화 확인
Kolla-Ansible Xena 버전부터 chrony 서비스가 제거되었기 때문에 chrony,ntp등 시간 동기화 서비스를 수동 설치해야 합니다. 링크 : https://review.opendev.org/c/openstack/kolla-ansible/+/791743
# con01, con02, con03, com01, com02
root@con01:~# apt install chrony
# con01, con02, con03, com01, com02
root@con01:~# systemctl enable chrony
# con01, con02, con03, com01, com02
root@con01:~# systemctl start chrony
# con01, con02, con03, com01, com02
root@con01:~# chronyc sources -v
210 Number of sources = 10
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- prod-ntp-5.ntp1.ps5.cano> 2 9 377 923 +7478us[+7394us] +/- 124ms
^- pugot.canonical.com 2 9 377 143 -4571us[-4571us] +/- 162ms
^- prod-ntp-3.ntp4.ps5.cano> 2 9 377 407 +15ms[ +15ms] +/- 130ms
^- alphyn.canonical.com 2 9 377 416 -9816us[-9860us] +/- 151ms
^* 121.174.142.81 3 9 377 157 +290us[ +239us] +/- 37ms
^- 121.162.54.1 2 7 377 87 -5377us[-5377us] +/- 52ms
^+ ap-northeast-2.clearnet.> 2 8 327 216 -561us[ -610us] +/- 30ms
^? any.time.nl 0 6 0 - +0ns[ +0ns] +/- 0ns
^? ap-northeast-2.clearnet.> 0 6 0 - +0ns[ +0ns] +/- 0ns
^? 2406:da12:b86:2c32:3045:> 0 6 0 - +0ns[ +0ns] +/- 0ns
ansible 설치
Xena 버전의 ansible은 2.10 버전과 4버전 둘 다 가능함.
# con01
root@con01:~# sudo add-apt-repository ppa:ansible/ansible-4
# con01
root@con01:~# apt update
# con01
root@con01:~# apt install ansible
Openstack 저장소 설정
설치전에 cinder-volumes로 파티션이 구성되어야 Openstack의 인스턴스가 해당 디스크에 저장됩니다. swift와 같은 저장소를 구성하려면 본 블로그의 https://parandol.tistory.com/72 를 참고하십시오.
// 파티션 관리에 들어가서 파티션을 생성합니다.
# com01, com02
root@aio01:~# parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) set 1 lvm on
(parted) print
(parted) q
// 디스크 물리 볼륨 생성합니다.
# com01, com02
root@aio01:~# pvcreate /dev/sdb1
// 물리 볼륨에 가상볼륨 cinder-volumes 를 추가합니다.
# com01, com02
root@aio01:~# vgcreate cinder-volumes /dev/sdb1
# com01, com02
root@con01:~# vgdisplay
--- Volume group ---
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <93.13 GiB
PE Size 4.00 MiB
Total PE 23841
Alloc PE / Size 22696 / <88.66 GiB
Free PE / Size 1145 / 4.47 GiB
VG UUID 8B7h9K-opG5-9DfK-I8x9-df7P-eYlb-qPxRhP
Kolla-Ansible 배포
설치 패키지 설치 및 pip 업데이트
# con01
root@con01:~# apt install python3-dev libffi-dev gcc libssl-dev
# con01
root@con01:~# apt install python3-pip
# con01
root@con01:~# pip3 install -U pip
Kolla-Ansible 설치
# con01
root@con01~# pip install kolla-ansible==13.
Kolla-Ansible에서 사용할 파일 복사
# con01
root@con01:~# cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/
# con01
root@con01:~# cp -r /usr/local/share/kolla-ansible/ansible/inventory/ /root/
인벤토리 설정
네트워크 인터페이스는 각 서버에 맞게 정확하게 맞추어야 합니다.
- ifconfig 명령을 통해 네트워크 인터페이스를 확인하여 아래의 내용을 추가합니다. 기본적으로 네트워크 인터페이스를 지정하지 않는 경우는 eth0를 기본값으로 사용하나 이 인터페이스가 없으면 설치시 오류가 발생합니다.
- control 노드가 compute 기능을 동시에 수행하는 경우에는 hacluster_remote 정보를 추가하여 compute역할만 수행하는 노드를 별도로 구성합니다. 이 설정을 변경하지 않을 경우에는 Kolla-ansible 가 hacluster 구성 시 control 노드에는 corosync/pacemaker/pacemaker_remote 모듈을 동시에 설정하려고 하여 pacemaker와 pacemaker_remote가 충돌(네트워크 포트 충돌)을 일으킵니다.
- hacluster-remote:children 항목을 찾아서 compute 에서 hacluster_remote로 값을 변경합니다.
# con01
root@con01:~# cat inventory/multinode
[control]
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
[network]
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
[compute]
com01 network_interface=enp0s31f6 api_interface=enp0s31f6 storage_interface=enp0s31f6 tunnel_interface=enp0s31f6 migration_interface=enp0s31f6 neutron_external_interface=enp0s31f6
com02 network_interface=enp2s0 api_interface=enp2s0 storage_interface=enp2s0 tunnel_interface=enp2s0 migration_interface=enp2s0 neutron_external_interface=enp2s0
con01 network_interface=enp7s0 api_interface=enp7s0 storage_interface=enp7s0 tunnel_interface=enp7s0 migration_interface=enp7s0 neutron_external_interface=enp7s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 storage_interface=enp0s31f6 tunnel_interface=enp0s31f6 migration_interface=enp0s31f6 neutron_external_interface=enp0s31f6
[hacluster_remote]
com01 network_interface=enp0s31f6 api_interface=enp0s31f6 storage_interface=enp0s31f6 tunnel_interface=enp0s31f6 migration_interface=enp0s31f6 neutron_external_interface=enp0s31f6
com02 network_interface=enp2s0 api_interface=enp2s0 storage_interface=enp2s0 tunnel_interface=enp2s0 migration_interface=enp2s0 neutron_external_interface=enp2s0
[monitoring]
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
[storage]
com01 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
com02 network_interface=enp2s0 api_interface=enp2s0 neutron_external_interface=enp2s0 kolla_external_vip_interface=enp2s0 migration_interface=enp2s0
con01 network_interface=enp7s0 api_interface=enp7s0 neutron_external_interface=enp7s0 kolla_external_vip_interface=enp7s0 migration_interface=enp7s0
con03 network_interface=enp0s31f6 api_interface=enp0s31f6 neutron_external_interface=enp0s31f6 kolla_external_vip_interface=enp0s31f6 migration_interface=enp0s31f6
......
[hacluster-remote:children]
hacluster_remote
......
인벤토리 설정 확인
각 서버와 정상적으로 통신되는지 확인합니다.
# con01
root@con01:~# ansible -i /root/inventory/multinode all -m ping
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
con01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
con03 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
con02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
com01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
com02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
kolla 패스워드 생성 & 수정
각 Openstack에 사용하는 암호를 자동으로 생성합니다. 특정 서비스의 경우에는 원하는 암호로 별도 수정합니다.
# con01
root@con01:~# kolla-genpwd
# con01
root@con01:~# cat /etc/kolla/passwords.yml
...
database_password : openstack
keystone_admin_password : openstack
...
global.yml 수정
설치하려는 서비스를 선택하고 선택한 서비스에 적절한 환경설정을 구성합니다.
# con01
root@con01:~# cat /etc/kolla/globals.yml | grep -v ^# | grep -v ^$
---
kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "xena"
kolla_internal_vip_address: "192.168.140.50"
kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
neutron_plugin_agent: "ovn"
enable_openstack_core: "yes"
enable_glance: "{{ enable_openstack_core | bool }}"
enable_hacluster: "yes"
enable_haproxy: "yes"
enable_keepalived: "{{ enable_haproxy | bool }}"
enable_keystone: "{{ enable_openstack_core | bool }}"
enable_mariadb: "yes"
enable_memcached: "yes"
enable_neutron: "{{ enable_openstack_core | bool }}"
enable_nova: "{{ enable_openstack_core | bool }}"
enable_rabbitmq: "{{ 'yes' if om_rpc_transport == 'rabbit' or om_notify_transport == 'rabbit' else 'no' }}"
enable_cinder: "yes"
enable_cinder_backup: "yes"
enable_cinder_backend_lvm: "yes"
enable_fluentd: "yes"
enable_heat: "{{ enable_openstack_core | bool }}"
enable_horizon: "{{ enable_openstack_core | bool }}"
enable_horizon_masakari: "{{ enable_masakari | bool }}"
enable_masakari: "yes"
enable_neutron_provider_networks: "yes"
enable_nova_ssh: "yes"
enable_ovn: "{{ enable_neutron | bool and neutron_plugin_agent == 'ovn' }}"
enable_placement: "{{ enable_nova | bool or enable_zun | bool }}"
nova_console: "novnc"
hacluster_corosync_port: 5405
Kolla-Ansible 버그 패치
rabbitmq관련 버그를 다음과 같이 수정합니다.
root@con01:~# vi /usr/local/share/kolla-ansible/ansible/roles/service-rabbitmq/tasks/main.yml
---
- block:
......
password: "{{ item.password }}"
node: "rabbit@{{ ansible_facts.hostname }}"
update_password: always
......
Ubuntu Desktop IP관리방법 변경
Ubuntu Desktop의 경우 Network Manager를 통하여 관리됩니다. 이 부분을 netplan이 관리가 가능하도록 변경합니다.
# Ubuntu Desktop Node
root@con01:~# vi /etc/netplan/00-...yaml
This is the network config written by 'subiquity'
network:
ethernets:
enp7s0: {}
br-ex:
addresses:
- 192.168.140.51/24
gateway4: 192.168.140.254
nameservers:
addresses:
- 8.8.8.8
- 168.126.63.1
search:
- con01
version: 2
# Ubuntu Desktop Node
root@con01:~# systemctl disable NetworkManager.service
# Ubuntu Desktop Node
root@con01:~# systemctl stop NetworkManager.service
Kolla-Ansible 배포
유의 사항
1. Kolla-Ansible을 OVN으로 배포하는 경우 openvswitch를 kolla-ansible에서 배포되므로 반드시 서비스망을 제외한 SSH 접속이나 콘솔에서 배포를 진행해야 합니다.
2. pull 작업을 먼저 하지 않을 경우 인터넷이 연결이 끊기기 때문에 로컬 레포를 사용하는 경우가 아닐 시 deploy보다 먼저 진행되야 힙니다.
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode bootstrap-servers
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode prechecks
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode pull
# con01
root@con01:~# kolla-ansible -i /root/inventory/multinode deploy
브릿지 인터페이스 VIP 설정
배포 시에 아래의 화면에서 멈추어 있는 경우 keepalived와 ip 설정을 진행합니다.
TASK [openvswitch : Set system-id]
************************************************************************************************
changed: [con01]
changed: [con02]
changed: [com01]
changed: [con03]
changed: [com02]
TASK [openvswitch : Ensuring OVS bridge is properly setup]
************************************************************************
changed: [con01] => (item=['br-ex', 'enp7s0'])
기존 네트워크 인터페이스명을 br-ex로 변경합니다. 내부 네트워크의 VIP를 사용하는 경우 아래의 내용과 다를 수 있으니 적절하게 수정하시기 바랍니다. 아래의 명령을 수행한 이 후에는 반드시 ping으로 vip로의 접속을 확인하시기 바랍니다. 접속이 안될 경우에는 이후 과정에서 openstack 설치에 실패하게 됩니다.
# con01, con02, con03
root@con01:~# cat /etc/kolla/keepalived/keepalived.conf
vrrp_script check_alive {
script "/check_alive.sh"
interval 2
fall 2
rise 10
}
vrrp_instance kolla_internal_vip_51 {
state BACKUP
nopreempt
interface br-ex
virtual_router_id 51
priority 1
advert_int 1
virtual_ipaddress {
192.168.140.50 dev br-ex
}
authentication {
auth_type PASS
auth_pass 5HsO30ewcmJ3mtgqRD7qZAm0ffORFDHuqv5h4rSE
}
track_script {
check_alive
}
}
# con01, con02, con03
root@con01:~# docker restart keepalived
# con01, con02, con03
root@con01:~# ping 192.168.140.50
PING 192.168.140.50 (192.168.140.50) 56(84) bytes of data.
64 bytes from 192.168.140.50: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 192.168.140.50: icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from 192.168.140.50: icmp_seq=3 ttl=64 time=0.065 ms
^C
--- 192.168.140.50 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2026ms
rtt min/avg/max/mdev = 0.045/0.053/0.065/0.008 ms
root@con01:~#
브릿지 인터페이스에 IP 설정
설정 이후에는 ping 명령어 등으로 네트워크에 정상접속되는 지 확인합니다.
# con01, con02, con03, com01, com02
root@con01:~# cat /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp5s0: {} # 기존 게이트웨이 통신을 하는 서비스망 IP가 적용된 인터페이스
br-ex: addresses: [x.x.x.
# con01, con02, con03, com01, com02
root@con01:~# netplan apply
# con01, con02, con03, com01, com02
root@con01:~# ping 192.168.140.254 <- 게이트워이 IP
PING 192.168.140.254 (192.168.140.254) 56(84) bytes of data.
64 bytes from 192.168.140.254: icmp_seq=1 ttl=64 time=2.18 ms
64 bytes from 192.168.140.254: icmp_seq=2 ttl=64 time=2.19 ms
64 bytes from 192.168.140.254: icmp_seq=3 ttl=64 time=1.86 ms
^C
--- 192.168.140.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.857/2.073/2.188/0.153 ms
위 명령이 각 서버에 정상적으로 반영되었으면 네트워크 설정 완료 대기 작업이 아래와 같이 출력되고 다음 작업으로 넘어갑니다. 네트워크 설정 대기는 시간이 약간 소요됩니다. 각 서버에서 네트워크가 정상적으로 설정되었다면 일정시간 대기하면 자동으로 인식합니다. 각 서버당 1~2분 정도 소요됩니다.
TASK [openvswitch : Ensuring OVS bridge is properly setup]
************************************************************************
changed: [con01] => (item=['br-ex', 'enp7s0'])
changed: [con02] => (item=['br-ex', 'enp2s0'])
changed: [con03] => (item=['br-ex', 'enp0s31f6'])
changed: [com02] => (item=['br-ex', 'enp2s0'])
changed: [com01] => (item=['br-ex', 'enp0s31f6'])
설치 완료
모든 배포가 완료되면 아래와 같은 로그가 출력되고 쉘이 다시 나타납니다.
PLAY RECAP
************************************************************************************************************************
com01 : ok=99 changed=65 unreachable=0 failed=0 skipped=60 rescued=0 ignored=0
com02 : ok=93 changed=65 unreachable=0 failed=0 skipped=58 rescued=0 ignored=0
con01 : ok=373 changed=254 unreachable=0 failed=0 skipped=185 rescued=0 ignored=1
con02 : ok=232 changed=156 unreachable=0 failed=0 skipped=189 rescued=0 ignored=1
con03 : ok=257 changed=174 unreachable=0 failed=0 skipped=176 rescued=0 ignored=1 localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
root@con01:~#
Horizon 접속
웹브라우저에서 http://192.168.140.50 으로 접속하여 설치 완료를 확인합니다.
클라이언트 도구 설치 및 rc파일 생성
# con01
root@con01:~# pip install python-openstackclient python-glanceclient python-neutronclient
# con01
root@con01:~# kolla-ansible post-deploy
Kolla-Ansible 정상 배포 확인
# con01
root@con01:~# . /etc/kolla/admin-openrc.sh
# con01
root@con01:~# openstack catalog list
# con01
root@con01:~# openstack endpoint list
# con01
root@con01:~# openstack compute service list
# con01
root@con01:~# openstack volume service list
# con01
root@con01:~# openstack network agent list
Mariadb 복구 시 에러가 발생할 때 참고
Mariadb in a Galera Cluster Maintenance and Recovery — Scyld Cloud Manager 3.1 documentation
Introduction This document covers how to perform system maintenance with the Mariadb database in active production, and how to recover from power outages, or network failure. Normal System Maintenance Since the Galera wrapped Mariadb database is able to co
www.penguinsolutions.com
'Development > Cloud, Openstack' 카테고리의 다른 글
Openstack(Antelope) All-in-one Node Installation with Kolla-ansible (0) | 2024.04.08 |
---|---|
Openstack qcow2 가상 이미지 템플릿 만들기(Ubuntu, Ubuntu Desktup, Windows 10) (0) | 2024.04.04 |
Pacemaker, Pacemaker Remote 설치 (0) | 2023.02.21 |
corosync + pacemaker and consul 설치 (0) | 2023.01.31 |
Kolla-ansible로 Openstack All-in-one 설치하기(Installing Openstack All-in-one with Kolla-ansible) (0) | 2022.11.07 |