Nova

띵기·2025년 8월 14일

OpenStack (구성요소)

목록 보기
5/8

Nova (Compute Service)

  • 정의: Nova는 OpenStack의 컴퓨트 서비스로, VM 생성·관리를 담당.
  • 주요 기능
    • VM 생성, 삭제, 재시작 등 라이프 사이클 관리
    • 하이퍼바이저(KVM, QEMU, VMware 등) 제어
    • 스케줄링: 어떤 컴퓨터 노드에 VM을 배치할지 결정
    • Cinder·Glance·Neutron과 연계해 디스크·이미지·네트워크 자원 연결
  • 다른 서비스와의 관계
    • Glance: 부팅 이미지 제공
    • Cinder: 부팅/데이터 볼륨 제공
    • Neutron: 네트워크 연결
    • Keystone: 인증·권한

아키텍처 구성요소

구성요소역할
nova-api외부 요청(API) 수신, Keystone 인증
nova-schedulerVM 생성 요청을 어떤 컴퓨트 노드에 배치할지 결정
nova-compute실제 하이퍼바이저(KVM 등) 제어, VM 생성·관리
nova-conductorDB 접근·업데이트, API와 compute 간 데이터 중계
nova-databaseNova 서비스 상태·리소스 메타데이터 저장
nova-queue서비스 간 비동기 메세지 전달 (RabbitMQ 등)

VM 생성 동작 흐름

  1. 사용자 요청
    • CLI
      or
    • Horizon 대시보드에서 생성
  2. Keystone 인증 -> Nova API로 전달
  3. nova-schduler가 배치할 컴퓨터 노드 결정
  4. nova-compute가 해당 노드의 하이퍼바이저(KVM/QEMU)에 VM 생성
  5. Glance에서 이미지 가져오기 -> 필요시 Cinder 볼륨 연결
  6. Neutron으로 네트워크 포트 생성·할당
  7. VM 부팅 완료 후 상태 ACTIVE로 변경

실습

VM 생성

openstack server create --flavor m1.small \
  --image cirros \
  --network private-net \
  --key-name mykey \
  test-vm

VM 상태 확인

openstack server list

VM 상세 정보

openstack server show test-vm

VM 중지/시작

openstack server stop test-vm
openstack server start test-vm

VM 삭제

openstack server delete test-vm

운영·트러블슈팅 포인트

  • VM 생성 실패 시

    • nova-compute 로그: /var/log/kolla/nova/nova-compute.log
    • 스케줄링 실패: 리소스 부족, 호스트 가용성 문제
    • 이미지/네트워크 연결 실패: Glance-Neutron 로그 확인
  • 상태 코드

    • ACTIVE: 정상 실행 중
    • ERROR: 생성 실패 (로그 필수 확인)
    • SHUTOFF: 종료 상태
    • PAUSED/SUSPENDED: 일시 중지
  • 리소스 확인

    • vm 리소스 사용량 추적 가능

    • 하이퍼바이저 상태

openstack hypervisor list
openstack hypervisor show <id>

추가

  • 라이브 마이그레이션: VM을 종료하지 않고 다른 호스트로 이동
  • 스케줄링 정책: CPU, 메모리, NUMA 고려 배치
  • 고가용성(HA): 다중 nova-compute, nova-scheduler 구성
  • Nova와 Cell 구조: 대규모 배포에서 Cell v2 아키텍처 이해
profile
노력보다는 즐기는 사람이 되고 싶습니다.

0개의 댓글