Packstack의 개념, RDO 생태계, 설치, answer file, 배포 흐름, 지원 서비스, 네트워킹, 장단점과 활용 사례를 정리한 완전 가이드입니다.
OpenStack을 수동으로 배포하는 일은 구성 요소가 많고 시간이 오래 걸립니다. Packstack은 Red Hat 계열 Linux 배포판에서 OpenStack 설치와 구성을 자동화해, 학습과 테스트, 개념 검증, 소규모 클라우드 구축을 빠르게 시작할 수 있게 해 주는 공식 계열 도구입니다.
Packstack이란?
Packstack은 Python, Puppet, RDO 저장소를 활용해 OpenStack 서비스를 자동으로 설치하고 설정하는 배포 도구입니다. 패키지 설치, 서비스 구성, 데이터베이스 생성, 네트워크 구성, 서비스 시작을 자동화하므로 관리자는 한 번의 실행으로 OpenStack 환경을 구축할 수 있습니다.

Packstack의 위치와 RDO 생태계
OpenStack
↓
RDO Distribution
↓
Packstack
Packstack이 필요한 이유
전통적인 OpenStack 설치는 Keystone, Nova, Neutron, Glance, Cinder, Horizon, MariaDB, RabbitMQ, Memcached 같은 서비스를 각각 세밀하게 설정해야 하므로 복잡합니다. Packstack은 이러한 부담을 줄여 자동 배포와 빠른 반복 실험을 가능하게 합니다.
Packstack 아키텍처
Keystone
Nova
Neutron
Glance
Cinder
Horizon
MariaDB / RabbitMQ
지원 운영 체제
| 지원 배포판 | 비고 |
| Red Hat Enterprise Linux | 기본 지원 계열 |
| Rocky Linux | 현대적인 RDO 사용 환경 |
| AlmaLinux | 호환성 좋은 선택지 |
| CentOS Stream | 개발/테스트에 널리 사용 |
Packstack 동작 방식
운영체제 설치
↓
Packstack 설치
↓
Answer File 생성
↓
설정 수정
↓
packstack 실행
↓
OpenStack 배포 완료
설치 워크플로
sudo dnf update -y
sudo dnf install -y centos-release-openstack
sudo dnf install -y openstack-packstack
packstack --version
Answer File
packstack --gen-answer-file=answers.txt
CONFIG_DEFAULT_PASSWORD=password
CONFIG_NTP_SERVERS=time.server.com
CONFIG_COMPUTE_HOSTS=192.168.1.10
CONFIG_NETWORK_HOSTS=192.168.1.10
단일 노드 배포
OpenStack Node
Keystone
Nova
Neutron
Glance
Horizon
Cinder
RabbitMQ
MariaDB
다중 노드 배포
Controller Node
↓
Compute Node 1
↓
Compute Node 2
OpenStack 배포 실행
packstack --answer-file=answers.txt
핵심 서비스
| 서비스 | 기능 |
| Keystone | 아이덴티티 |
| Nova | 컴퓨트 |
| Neutron | 네트워킹 |
| Glance | 이미지 |
| Cinder | 블록 스토리지 |
| Horizon | 대시보드 |
| Placement | 리소스 추적 |
| RabbitMQ | 메시징 |
| MariaDB | 데이터베이스 |
네트워킹 구성
External Network
↓
Open vSwitch
↓
Tenant Networks
↓
Virtual Machines
Horizon 대시보드 접근
http://SERVER_IP/dashboard
예시:
http://192.168.1.100/dashboard
Keystone 통합
User
↓
Horizon
↓
Keystone
↓
Token
↓
OpenStack Services
스토리지 구성
| 서비스 | 설명 |
| Glance | VM 이미지를 저장 |
| Cinder | 블록 스토리지를 제공 |
| 기본 백엔드 | 대개 LVM 사용 |
| 이미지 형식 | 지원 여부 |
| QCOW2 | 지원 |
| RAW | 지원 |
| VMDK | 지원 |
| ISO | 지원 |
OpenStack 클라이언트 설정
source keystonerc_admin
openstack service list
주요 명령어
packstack --gen-answer-file=answers.txt
packstack --answer-file=answers.txt
packstack --help
Packstack의 장점
- 빠른 배포
- 단일 answer file 중심의 간단한 설정
- 학습에 적합
- 자동 서비스 통합
- RDO와의 강한 통합
Packstack의 한계
- 대규모 생산 클라우드에는 적합하지 않습니다.
- 고가용성 지원은 제한적입니다.
- 현대적인 배포 시스템보다 유연성이 떨어질 수 있습니다.
- Puppet 모듈 이해가 필요합니다.
Packstack vs DevStack
| Feature | Packstack | DevStack |
| Purpose | Lab / Small Deployments | Development |
| Installation Method | Puppet | Shell Scripts |
| Persistence | Better | Temporary |
| RDO Integration | Excellent | None |
| Configuration | Answer File | local.conf |
Packstack vs Kolla-Ansible
| Feature | Packstack | Kolla-Ansible |
| Deployment Technology | Puppet | Docker + Ansible |
| Production Ready | Limited | Yes |
| High Availability | Limited | Strong |
| Containerized | No | Yes |
| Scalability | Small-Medium | Enterprise |
활용 사례
- OpenStack 교육 랩: 실습 중심 교육에 적합합니다.
- 개념 검증: 조직이 OpenStack 도입 가능성을 빠르게 평가할 수 있습니다.
- 개발 환경: 애플리케이션과 통합을 미리 시험할 수 있습니다.
- 소규모 프라이빗 클라우드: 부서 단위 환경 구축에 활용됩니다.
문제 해결
| 문제 | 확인 사항 | 명령/로그 |
| 배포 실패 | 로그 확인 | /var/tmp/packstack/ |
| RabbitMQ 문제 | 서비스 상태 | systemctl status rabbitmq-server |
| 데이터베이스 문제 | MariaDB 상태 | systemctl status mariadb |
| Horizon 접근 불가 | 웹 서비스 확인 | systemctl status httpd |
| 네트워크 문제 | Open vSwitch 확인 | ovs-vsctl show |
베스트 프랙티스
- Rocky Linux 또는 AlmaLinux를 사용합니다.
- 컨트롤러와 컴퓨트 노드를 분리하면 안정성과 성능이 좋아집니다.
- SSD 저장소를 사용합니다.
- Answer File을 백업해 재구성을 쉽게 합니다.
- 향후 성장 가능성이 있다면 Kolla-Ansible 또는 OpenStack-Ansible로의 이전을 계획합니다.
추천 배포 전략 2026
| 시나리오 | 권장 도구 |
| OpenStack 학습 | Packstack |
| 개발/테스트 | DevStack |
| 소규모 랩 | Packstack |
| 엔터프라이즈 운영 | Kolla-Ansible |
| 컨테이너 기반 OpenStack | Kolla-Ansible |
결론
Packstack은 Red Hat 계열 Linux 배포판에서 OpenStack을 빠르게 구축하려는 사용자에게 여전히 유용한 공식 계열 도구입니다. Puppet과 RDO 생태계를 활용해 Keystone, Nova, Neutron, Glance, Cinder, Horizon 같은 핵심 서비스를 자동 구성하므로, 학습과 테스트, 소규모 클라우드 구축을 빠르게 시작할 수 있습니다. 대규모 운영 환경에는 Kolla-Ansible 같은 현대적 도구가 더 적합하지만, Packstack은 OpenStack을 처음 접하거나 실험 환경을 빠르게 만들고 싶은 사용자에게 여전히 중요한 선택지입니다.