본문 바로가기

전산

# 오픈스택 Nova 구성하기: 완벽 가이드

반응형

오픈스택 Nova 구성하기: 완벽 가이드

오픈스택 Nova란?

오픈스택(OpenStack)은 클라우드 인프라스트럭처를 구축하기 위한 오픈소스 플랫폼으로, Nova는 그중 컴퓨팅 자원을 관리하는 핵심 구성 요소입니다. Nova는 가상 머신(VM)과 같은 컴퓨팅 인스턴스를 생성, 관리하며, 하이퍼바이저를 활용해 클라우드 환경을 구성합니다.

Nova의 주요 기능

  • 멀티 하이퍼바이저 지원: KVM, QEMU, VMware, Xen 등의 다양한 하이퍼바이저를 지원합니다.
  • 자동 확장 및 로드 밸런싱: 사용자의 수요에 맞춰 리소스를 동적으로 조정할 수 있습니다.
  • 네트워크 연동: Neutron과 연동하여 다양한 네트워크 토폴로지를 구성할 수 있습니다.
  • 고가용성(HA) 지원: 장애 발생 시 자동으로 복구 및 마이그레이션이 가능합니다.
  • 스토리지 연동: Cinder와 연동하여 블록 스토리지를 활용할 수 있습니다.

Nova 구성 요소

Nova는 여러 개의 컴포넌트로 구성되며, 각 요소가 유기적으로 연결되어 동작합니다.

  1. nova-api: API 요청을 받아 Nova 서비스 간 통신을 처리하는 역할을 합니다.
  2. nova-compute: 실제 가상 머신을 실행하고 관리하는 서비스입니다.
  3. nova-scheduler: 사용 가능한 컴퓨팅 노드 중 적절한 자원을 선택하여 배치합니다.
  4. nova-conductor: 데이터베이스와의 직접적인 통신을 수행하여 보안을 강화합니다.
  5. nova-novncproxy: 웹 기반 콘솔 접속을 지원합니다.

Nova 구성 사전 준비

1. 시스템 요구 사항

Nova를 설치하기 전, 요구되는 시스템 사양을 확인해야 합니다.

  • CPU: 멀티코어 프로세서 (Intel VT 또는 AMD-V 지원)
  • RAM: 최소 8GB (권장 16GB 이상)
  • 디스크 공간: 최소 50GB (운영 환경에서는 100GB 이상 권장)
  • 운영체제: Ubuntu 22.04 LTS 또는 CentOS 8

2. 네트워크 구성

오픈스택 Nova는 네트워크 구성이 중요합니다. 기본적으로 아래와 같은 네트워크를 설정해야 합니다.

  • 관리 네트워크: 오픈스택 서비스 간 통신을 위한 네트워크
  • 데이터 네트워크: 가상 머신과 외부 네트워크 간의 데이터 송수신
  • 스토리지 네트워크: Cinder, Swift와 같은 스토리지 서비스와 연결

Nova 설치 및 설정

1. Nova 패키지 설치

Ubuntu 기준으로 Nova를 설치하는 방법은 다음과 같습니다.

sudo apt update && sudo apt upgrade -y
sudo apt install -y nova-api nova-conductor nova-scheduler nova-novncproxy nova-compute

2. Nova 설정 파일 수정

설치가 완료되면 /etc/nova/nova.conf 파일을 수정해야 합니다.

[DEFAULT]
my_ip = <관리 네트워크 IP>
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver

[api_database]
connection = mysql+pymysql://nova:<password>@controller/nova_api

[database]
connection = mysql+pymysql://nova:<password>@controller/nova

[keystone_authtoken]
auth_url = http://controller:5000/v3
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = nova
password = <nova 패스워드>

3. Nova 서비스 시작 및 확인

설정을 마친 후 Nova 서비스를 다시 시작합니다.

sudo systemctl restart nova-api nova-conductor nova-scheduler nova-novncproxy nova-compute
sudo systemctl enable nova-api nova-conductor nova-scheduler nova-novncproxy nova-compute

Nova 서비스가 정상적으로 실행되는지 확인합니다.

openstack compute service list

Nova 하이퍼바이저 설정

Nova는 기본적으로 KVM을 사용합니다. KVM이 정상적으로 동작하는지 확인합니다.

sudo kvm-ok

출력 결과가 KVM acceleration can be used라면 KVM을 사용할 수 있습니다.

Nova 가상 머신 생성

Nova를 통해 가상 머신을 생성하려면 다음 단계를 수행합니다.

1. 가상 머신 이미지 등록

openstack image create "Ubuntu-22.04" \
  --file ubuntu-22.04.qcow2 \
  --disk-format qcow2 --container-format bare \
  --public

2. 네트워크 설정

openstack network create private
openstack subnet create --network private --subnet-range 192.168.1.0/24 private-subnet

3. 가상 머신 생성

openstack server create --image Ubuntu-22.04 --flavor m1.small --network private --key-name mykey VM1

Nova 모니터링 및 문제 해결

1. 로그 확인

문제가 발생하면 Nova 로그를 확인하여 원인을 분석할 수 있습니다.

sudo journalctl -u nova-compute -n 100 --no-pager

2. Nova 상태 확인

openstack compute service list

3. 가상 머신 상태 확인

openstack server list

결론

오픈스택 Nova는 클라우드 환경에서 컴퓨팅 자원을 효율적으로 관리하는 핵심 서비스입니다. 본 가이드에서는 Nova의 개요, 구성 요소, 설치 및 설정 방법을 다루었습니다. Nova를 적절히 활용하면 대규모 가상화 인프라를 구축하고, 클라우드 서비스를 효과적으로 운영할 수 있습니다.

반응형