이번 주차에서는 오픈스택 구성요소들을 이해한 후 직접 Devstack을 이용하여 Openstack을 설치해보고자 한다.
오픈스택 가이드문서에서 제공해주는 스펙을 기반으로 AWS 인스턴스를 활용하여 직접 구축해보려고 했으나 Devstack을 통한 구축을 먼저 시도해서 단일 노드로 구축한 후 차후에 도전해보기로..
위와 같은 스펙과 유사하게 해당 인스턴스들을 생성.. 하지만 설치에서 복잡함에 실패했다.
- compute node
- 2 CPU, 8 RAM, 100G Disk 1 NIC
- controller node
- 2 CPU, 4 RAM, 30G Disk 1 Nic
- network node
- 2 CPU, 4 RAM, 30G Disk, 1 Nic
- object storage node
- 2 CPU, 4 RAM, 100G Disk, 1 Nic
- block storage node
- 2 CPU, 4 RAM, 100G Disk, 1 Nic
Devstack으로 단일 호스트에 Openstack 설치하기
EC2
- 2 CPU, 8 RAM, 100G Disk 1 NIC
해당 방법에 따라 EC2에 DevStack을 설치한다.
stable/2024.2 브랜치로 최신버전을 선택했다.
설치 및 config 설정
#git checkout stable/2024.2
#[/opt/stack/devstack]vi local.conf
[[local|localrc]]
HOST_IP=$HOST_IP
FORCE=yes
ADMIN_PASSWORD=$ADMIN_PASSWORD
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
# Neutron options
FLOATING_RANGE="192.168.0.0/24"
IPV4_ADDRS_SAFE_TO_USE="10.0.0.0/22"
Q_FLOATING_ALLOCATION_POOL=start=192.168.0.50,end=192.168.0.250
PUBLIC_NETWORK_GATEWAY="192.168.0.1"
PUBLIC_INTERFACE=mybr0
# Open vSwitch provider networking configuration
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex
#[/opt/stack/devstack]./stack.sh # openstack 설치
TroubleShooting
PowerDNS 서비스 Faield
pdns-server를 실행하면서 발생한 에러이다.
해당 서비스를 띄우지 못하는 에러가 발생했다.
해당 원인은 EC2에서 기본적으로 사용하는 DNS 데몬 서비스가 있는데, 해당 서비스와 충돌이 발생하는 것이다.
https://stackframe.tistory.com/8
systemd-resolved 사용하기
전통적으로 리눅스에서 도메인을 IP 주소로 변환 할 때는 먼저 /etc/hosts에 등록되어 있는지 확인하고 만약 없다면 /etc/resolv.conf 에 등록되어 있는 네임서버에 DNS Query를 합니다. 하지만 세월이 지
stackframe.tistory.com
따라서 해당 서비스를 stop 시킨 후 다시 stack 설치를 진행한다.
- Openstack의 Designate라는 서비스가 리눅스 DNS 서비스데몬 대신 pdns 서비스를 띄운다.
https://cloudlab.tistory.com/entry/OpenStack-DesignateDNSaaS-%ED%99%9C%EC%9A%A9
OpenStack Designate(DNSaaS) 이해 및 활용
DNS란? DNS(Domain Name System)는 네트워크에 연결된 리소스의 이름을 지정하는 시스템으로 도메인 이름과 연결된 IP 주소와 같은 다양한 유형의 레코드를 저장하여 작동하는 도메인 네임 시스템입니
cloudlab.tistory.com
Subnet Pool 에러
Provider Network 구성 중 Subnetpool에서 할당받을 수 있는 network가 없다는식으로 나옴
1) subnetpool 확인
#openstack subnet pool list
+--------------------------------------+------------------------------+--------------------+
| ID | Name | Prefixes |
+--------------------------------------+------------------------------+--------------------+
| 01816a96-894d-4dc7-ace5-f0fa5836ca45 | shared-default-subnetpool-v6 | fd33:3057:687::/56 |
| 6516be41-5fcb-46cc-b7ba-cdfc8e7f0fef | shared-default-subnetpool-v4 | 10.0.0.0/22 |
+--------------------------------------+------------------------------+--------------------+
subnetpool을 local.conf로 지정했으나 IPv6의 설정은 건드리지 않았고, IPv4의 Pool이 부족하다는 것이 아니었기에 해당 문제가 아니라고 생각함.
에러 수정 후 반복 재 설치를 통해 설정이 클렌징되지 않은 에러일 수 있다고 함.
https://bugs.launchpad.net/devstack/+bug/1904155
Bug #1904155 “Failure creating NET_ID for private” : Bugs : devstack
Trying to install devstack on a Virtual Box VM with a fresh installed Ubuntu 18.04.5 Server. VM with 32 GB HDD, 8 GB RAM and 4 vCPUs Switched to OpenStack Release victoria: git checkout stable/vistoria local.conf: [[local|localrc]] # Password for KeyStone,
bugs.launchpad.net
2) ./unstack.sh, ./clean.sh 후 다시 재 설치
- 해당 방법으로 해결됨
브릿지 명 중복
neutron 설치 중 내부 브릿지를 생성하는 부분을 보니 br-int, br-ex로 add한다.
EC2에서 Openstack 내부 네트워크에서 외부로 연결하기 위한 브릿지를 생성하였는데 br-int로 생성했다가 충돌이 나서 neutron이 제대로 올라오지 않았다.
openstack 명령어 사용 시 auth 문제
/opt/stack/devstack 해당 위치에 openrc라는 환경변수 설정 파일이 있으며 해당 명령어로 admin 권한 환경변수 적용
source openrc admin
[설치]
설치하고나면 대시보드 url 및 계정 정보가 아래에 출력된다.
[로그인 -> 대시보드 화면]
[명령어]
References
https://docs.openstack.org/ko_KR/install-guide/
OpenStack 설치 가이드 — Installation Guide 문서
this page last updated: 2024-10-02 12:16:21
docs.openstack.org
devstack quick start
https://docs.openstack.org/devstack/latest/
DevStack — DevStack documentation
DevStack DevStack is a series of extensible scripts used to quickly bring up a complete OpenStack environment based on the latest versions of everything from git master. It is used interactively as a development environment and as the basis for much of the
docs.openstack.org
config
https://docs.openstack.org/devstack/latest/configuration.html#local-conf
Configuration — DevStack documentation
KVM on s390x (IBM z Systems) is supported since the Kilo release. For an all-in-one setup, these minimal settings in the local.conf file are needed: Note To run Tempest against this Devstack all-in-one, you’ll need to use a guest image which is smaller t
docs.openstack.org
'Study' 카테고리의 다른 글
[Linux] 모던 리눅스 교과서 1,2장 (1) | 2024.11.10 |
---|---|
[Openstack] Devstack 설치 과정 알아보기 (0) | 2024.10.13 |
[Openstack] 오픈스택 컴포넌트 이해2 (1) | 2024.09.25 |
[Openstack] 오픈스택 컴포넌트 이해 (0) | 2024.09.18 |
[OpenStack] OpenStack이란? (4) | 2024.09.11 |