반응형

설치 전에 알아야 할 것
한 줄 요약
OpenStack은 서버 여러 대를 묶어 AWS 같은 클라우드를 직접 만드는 오픈소스다.
서비스 하나하나가 따로 설치되는 프로그램이고 API로 서로 부른다.
서비스 지도 — AWS로 치면
* 는 최소 구성!
| 설치 순서 |
서비스 | 하는 일 | AWS |
| 1번 | *Keystone | 인증, 사용자·프로젝트, 서비스 주소록(endpoint) | IAM |
| 2번 | *Glance | VM 이미지 보관 | AMI |
| 3번 | *Placement | 어느 서버에 CPU·RAM이 얼마 남았나 장부 | (내부) |
| 4번 | *Nova | VM 만들고 지우기 | EC2 |
| 5번 | *Neutron | 가상 네트워크, IP, 라우터, 보안 그룹 | VPC |
| Horizon | 웹 대시보드 | 콘솔 | |
| Cinder | 붙였다 뗐다 하는 디스크 | EBS | |
| Swift | 오브젝트 저장소 | S3 |
최소 구성은 Keystone, Glance, Placement, Nova, Neutron 다섯 개!
설치 순서가 있다.
내부적으로 확인, 검사 등의 순서가 있기 때문!
왜 이 순서인가?
- Keystone이 먼저: 다른 서비스가 모두 Keystone에 자기를 등록하고 토큰을 검사한다.
- Glance 다음: VM을 만들려면 이미지가 있어야 한다.
- Placement가 Nova보다 먼저: Nova가 VM 놓을 자리를 Placement에 묻는다.
- Neutron 마지막: VM에 네트워크를 꽂아 주는 일이라 Nova가 있어야 확인할 수 있다.
VM 하나가 뜨는 흐름
openstack server create를 치면 일어나는 일.
| 순서 | 누가 | 무엇을 |
| 1 | Keystone | 토큰이 맞는지 확인 |
| 2 | nova-api | 요청을 받아 DB에 기록 |
| 3 | nova-scheduler + Placement | 자원이 남는 compute 노드를 고른다 |
| 4 | nova-compute | Glance에서 이미지를 받아 하이퍼바이저(KVM/QEMU)로 VM 생성 |
| 5 | Neutron | 포트를 만들고 IP를 준다 |
서비스끼리는 REST API로, 한 서비스 안의 부품끼리는 RabbitMQ로 말한다.
상태는 MariaDB에 저장한다.
노드 구성 — 가이드의 예시
| 노드 | 올라가는 것 | NIC |
| controller | Keystone, Glance, Placement, Nova·Neutron 관리 부분, Horizon, DB, RabbitMQ, NTP | 2개 |
| compute | 하이퍼바이저, nova-compute, Neutron 에이전트 | 2개 |
- NIC 하나는 management(노드끼리 대화), 하나는 provider(VM이 바깥과 연결).
- 2대가 최소다.
- compute는 늘릴 수 있다.
NIC 란?
NIC(Network Interface Card)는 컴퓨터가 네트워크에 연결되는 출입구다.
흔히 랜카드라고 부른다.
랜선 꽂는 구멍 하나 = NIC 하나라고 보면 된다.
ip addr로 보이는 eth0, enp0s1 같은 이름이 NIC 하나씩이다.
VM에서는 진짜 카드 대신 가상 NIC를 붙인다.
| NIC | 이름 | 무엇이 다니나 |
| 1번 | management | 노드끼리 대화: API 호출, DB, RabbitMQ |
| 2번 | provider | VM(인스턴스)이 바깥과 주고받는 트래픽 |
둘로 나누는 이유는 길을 섞지 않기 위해서다.
provider NIC는 Neutron이 브리지로 가져가 VM들의 길로 쓴다.
그래서 provider NIC에는 IP를 주지 않는다.
NIC가 하나뿐이면 Neutron이 가져가는 순간 노드와의 연결(ssh 등)이 끊긴다.
네트워크 두 방식
| Option 1 Provider | Option 2 Self-service | |
| 뜻 | VM을 물리 네트워크에 바로 붙인다 | 프로젝트마다 가상 네트워크를 만들고 라우터·NAT로 나간다 |
| L3 라우터 | 없음 | 있음 (VXLAN 오버레이) |
| 난이도 | 쉽다 | 어렵다 |
처음에는 Option 1로 끝까지 가고, 되면 Option 2를 해 본다.
공통 부품 (1단계에서 설치)
| 부품 | 왜 |
| chrony (NTP) | 노드 시간이 어긋나면 토큰·메시지가 깨진다 |
| MariaDB | 서비스마다 DB 하나씩 |
| RabbitMQ | 서비스 내부 부품끼리 메시지 |
| Memcached | Keystone 토큰 캐시 |
| Etcd | 분산 잠금, 설정 |
Mac에서 주의할 것
- Apple Silicon이라 Ubuntu ARM 이미지를 쓴다.
- VM 안에서 KVM이 안 될 수 있다.
- 그러면 nova 설정 virt_type = qemu로 바꾼다.
- 가이드가 확인 명령(egrep -c '(vmx|svm)' /proc/cpuinfo, ARM은 /dev/kvm 존재 여부)과 함께 안내한다.
출처: Installation Guide — Get started, Overview, Minimal deployment for 2026.1.