최근 OpenStack의 개념을 처음 접했고, 직접 구조를 체험해보고 싶어서 DevStack을 설치해봤습니다. 설치 과정에서 시행착오가 꽤 있었는데, 기록으로 남깁니다.
1. 설치 환경
| 구분 | 내용 |
|---|---|
| 호스트 | 노트북 (Windows11, RAM 8GB) |
| 가상화 | VMWare |
| 네트워크 | NAT |
| 게스트 OS | Ubuntu Server 24.04 |
| VM 사양 | 4vCPU, RAM 5GB+스왑 4GB, 디스크 60GB (동적할당) |
| DevStack 브랜치 | stable/2025.1 |
| 설치 서비스 | Keystone, Nova, Glance, Neutron, Placement 등 (Horizon 제외) |
2. 첫 번째 시도: RAM 3GB 실패
공식 문서에는 DevStack을 설치하려면 VM 메모리가 최소 4GB 이상이어야 한다고 나와 있습니다. 그런데 제 노트북 RAM이 8GB라 호스트 OS가 쓰는 몫을 빼면 여유가 많지 않아서, “3GB로도 되지 않을까?” 하는 마음에 먼저 시도해봤습니다.
결과는 역시 오류였습니다. 여러 오류가 났지만 가장 많이 만난 것은 db.sock을 찾을 수 없다는 에러였습니다. OVS가 사용하는 소켓 파일을 찾지 못하는 문제로 보였고, 다음과 같이 대응해봤습니다.
- OVS 서비스를 재시작하고 active 상태인지 확인
- 그 후
./stack.sh를 다시 실행
하지만 같은 에러가 계속 반복됐습니다.
몇 시간 동안 씨름했지만 정확한 원인은 알 수 없었습니다. 메모리 부족 때문인지, 재시도를 반복하면서 환경 상태가 꼬인 것인지 확정하지 못했습니다. 결국 VM을 새로 만들어 깨끗한 환경에서 처음부터 재설치하기로 했습니다.
3. 두 번째 시도: 새 VM, RAM 5GB + 스왑 4GB
새 VM을 만들고 메모리를 5GB로 늘렸습니다. 호스트가 8GB라 더 늘리기는 부담스러워서 5GB로 정했습니다. 여기에 부족할 것 같아 스왑 파일도 추가했습니다.
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
이후 차례대로 설치했습니다.
(1) 시스템 업데이트 및 git 설치
sudo apt update && sudo apt upgrade -y
sudo apt install -y git
(2) stack 사용자 생성
DevStack은 root가 아닌 별도의 sudo 권한 사용자로 실행해야 합니다.
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo chmod +x /opt/stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo -u stack -i
(3) DevStack 저장소 클론 (stable/2025.1)
git clone https://opendev.org/openstack/devstack -b stable/2025.1
cd devstack
(4) local.conf 작성
[[local|localrc]]
ADMIN_PASSWORD=비밀번호
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP=127.0.0.1
# 메모리 절약을 위해 Horizon(웹 대시보드) 제외
disable_service horizon
설치가 실패해도 되돌릴 수 있도록 이 시점에서 VMware 스냅샷을 찍어뒀습니다.
(5) 설치 실행
./stack.sh
패키지를 내려받고 각 서비스를 구성하느라 시간이 상당히 오래 걸렸지만, 이번에는 db.sock 오류 없이 끝까지 진행됐습니다.
(6) 설치 완료 확인
설치가 끝나면 post-stack database query stats가 출력됩니다.
4. Horizon 활성화 시도와 503 오류
웹 대시보드도 써보고 싶어서 이전에 메모리 절약을 위해 적어뒀던 disable_service horizon 을 지우고 ./stack.sh를 다시 실행했는데, 네트워크 생성 단계에서 아래 오류가 발생했습니다.
HttpException: 503 ... unable to create the network
503은 서비스가 요청을 처리하지 못하는 상태라는 뜻으로, 여기서는 Neutron이 정상 응답하지 못한 것으로 보였습니다. 정확한 원인까지 확인하지는 못했지만, Horizon이 추가되면서 메모리 사용량이 늘어난 것이 영향을 줬을 것으로 추정합니다. 호스트 RAM이 8GB라 VM에 더 할당하기 어려워서, Horizon은 제외하고 진행하기로 했습니다.
5. 설치 확인 (CLI)
Horizon 없이도 CLI로 서비스가 정상 동작하는지 확인할 수 있습니다.
cd ~/devstack
source openrc admin admin
openstack service list
openstack network list
openstack image list
Keystone, Nova, Glance, Neutron 등의 서비스 목록이 출력되는 것을 확인했습니다.
6. 마치며
시간이 오래 걸렸지만 DevStack 설치에 성공했습니다.
이번 경험에서 배운 점은 다음과 같습니다.
- 공식 문서의 최소 사양에는 이유가 있다. RAM 3GB에서는 실패했고, 5GB + 스왑 환경에서 Horizon 없이 설치할 수 있었다.
- 원인을 알 수 없는 오류가 반복될 때는, 계속 고치려 하기보다 VM을 새로 만들어 깨끗한 환경에서 재시도하는 것이 더 빠를 수 있다.
- 웹 대시보드(Horizon) 없이도 CLI만으로 OpenStack의 핵심 서비스를 확인하고 사용할 수 있다.
- Keystone, Nova, Glance, Neutron 등 OpenStack의 구성 요소와 역할을 설치 로그를 통해 체감할 수 있었다.
읽어주셔서 감사합니다!

