1장. Compute 서비스(nova) 기능

Compute(nova) 서비스를 사용하여 RHOSP(Red Hat OpenStack Platform) 환경에서 가상 머신 인스턴스와 베어 메탈 서버를 생성, 프로비저닝 및 관리합니다. 계산 서비스는 기본 호스트 플랫폼에 대한 세부 사항을 노출하지 않고 실행되는 기본 하드웨어를 추상화합니다. 예를 들어, 호스트에서 실행 중인 CPU의 유형과 토폴로지를 노출하는 대신, 계산 서비스에서 여러 가상 CPU(vCPU)를 노출하고 이러한 vCPU를 오버 커밋할 수 있습니다.

계산 서비스는 KVM 하이퍼바이저를 사용하여 계산 서비스 워크로드를 실행합니다. libvirt 드라이버는 QEMU와 상호 작용하여 KVM과의 모든 상호 작용을 처리하고 가상 시스템 인스턴스 생성을 활성화합니다. 인스턴스를 생성하고 프로비저닝하기 위해 계산 서비스는 다음 RHOSP 서비스와 상호 작용합니다.

  • 인증을 위한 ID(keystone) 서비스.
  • 리소스 인벤토리 추적 및 선택을 위한 배치 서비스.
  • 디스크 및 인스턴스 이미지의 Image 서비스(glance).
  • 부팅 시 인스턴스가 연결되는 가상 또는 물리적 네트워크를 프로비저닝하기 위한 네트워킹(neutron) 서비스입니다.

계산 서비스는 nova-* 라는 데몬 프로세스 및 서비스로 구성됩니다. 핵심 Compute 서비스는 다음과 같습니다.

Compute 서비스(nova-compute)
이 서비스는 KVM 또는 QEMU 하이퍼바이저 API에 libvirt를 사용하여 인스턴스를 생성, 관리 및 종료하고, 인스턴스 상태로 데이터베이스를 업데이트합니다.
Compute Conductor(nova-conductor)
이 서비스는 계산 서비스와 데이터베이스 간의 상호 작용을 중재하여 계산 노드를 직접 데이터베이스 액세스로부터 보호합니다. nova-compute 서비스가 실행되는 노드에 이 서비스를 배포하지 마십시오.
컴퓨팅 스케줄러(nova-scheduler)
이 서비스는 대기열에서 인스턴스 요청을 가져와 인스턴스를 호스팅할 계산 노드를 결정합니다.
컴퓨팅 API(nova-api)
이 서비스는 사용자에게 외부 REST API를 제공합니다.
API 데이터베이스
이 데이터베이스는 인스턴스 위치 정보를 추적하고 빌드되지만 예약되지 않은 인스턴스의 임시 위치를 제공합니다. 다중 셀 배포에서 이 데이터베이스에는 각 셀의 데이터베이스 연결을 지정하는 셀 매핑도 포함되어 있습니다.
셀 데이터베이스
이 데이터베이스에는 인스턴스에 대한 대부분의 정보가 포함되어 있습니다. API 데이터베이스, 컨덕터 및 계산 서비스에서 사용합니다.
메세지 큐
이 메시징 서비스는 모든 서비스가 셀 내에서 및 글로벌 서비스와 통신하는 데 사용됩니다.
컴퓨팅 메타데이터
이 서비스는 인스턴스 고유의 데이터를 저장합니다. 인스턴스는 http://169.254.169.254 또는 링크-로컬 주소 fe80::a9fe:a9fe의 IPv6를 통해 메타데이터 서비스에 액세스합니다. 네트워킹(neutron) 서비스는 요청을 메타데이터 API 서버로 전달합니다. NeutronMetadataProxySharedSecret 매개변수를 사용하여 서비스가 통신할 수 있도록 네트워킹 서비스와 계산 서비스의 구성에 secret 키워드를 설정해야 합니다. 계산 메타데이터 서비스는 계산 API의 일부로 또는 각 셀에서 전역적으로 실행할 수 있습니다.

두 개 이상의 컴퓨팅 노드를 배포할 수 있습니다. 인스턴스를 작동하는 하이퍼바이저는 각 컴퓨팅 노드에서 실행됩니다. 각 컴퓨팅 노드에는 최소 두 개의 네트워크 인터페이스가 필요합니다. 계산 노드는 인스턴스를 가상 네트워크에 연결하고 보안 그룹을 통해 인스턴스에 방화벽 서비스를 제공하는 네트워킹 서비스 에이전트도 실행합니다.

기본적으로 director는 모든 컴퓨팅 노드에 대한 단일 셀로 오버클라우드를 설치합니다. 이 셀에는 가상 시스템 인스턴스를 제어 및 관리하는 모든 계산 서비스 및 데이터베이스와 모든 인스턴스 및 인스턴스 메타데이터가 포함됩니다. 대규모 배포의 경우 여러 셀이 있는 오버클라우드를 배포하여 더 많은 수의 컴퓨팅 노드를 수용할 수 있습니다. 새 오버클라우드를 설치할 때 또는 나중에 언제든지 셀을 환경에 추가할 수 있습니다. 자세한 내용은 Compute Cells를 사용한 배포 스케일링 을 참조하십시오.