일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- openstack 키스톤
- openstack 인스턴스
- 오프스택 플레이스먼트
- 오픈스택환경설정
- keystone stein
- openstack stein
- esxi설정
- esxi설치
- openstack nova
- openstack environment
- openstack rabbimq
- 오픈스택 설치
- openstack설치
- 오픈스택
- openstack 환경설정
- openstack 호스트
- 오픈스택 이미지 생성
- 오픈스택 스테인
- openstack mysql
- openstack hosting
- openstack 네트워크
- openstackstein
- OpenStack
- openstack 수동설치
- openstack glance
- openstack step-by-step
- openstack keystone
- openstack 설치
- openstack placement
- openstack ntp
- Today
- Total
IT창고
OpenStack 컴퓨팅 서비스(Nova) 본문
1) 컴퓨팅 서비스 개요
OpenStack 컴퓨팅 서비스 형 인프라 클라우드 컴퓨팅 시스템의 운영과 관리의 가장 중요한 부분을 담당하는 서비스로 주요 모듈은 파이썬으로 구현되어 있다.
OpenStack 컴퓨트 서비스는 인증을 위한 자격증명 서비스, 디스크와 서버 이미지를 위한 이미지 서비스, 사용자와 관리자 인터페이스를 위한 대시보드와 상호작용하여 동작한다. 이미지 접근은 프로젝트와 사용자 별로 제한되며, 인스턴스의 숫자와 같은 제한은 프로젝트 별로 이루어진다. OpenStack 컴퓨트는 표준 하드웨어로 수평 확장이 가능하며 이미지를 다운로드하여 인스턴스를 구동한다.
OpenStack 컴퓨트의 구성요소
① nova-api 서비스
최종 사용자의 컴퓨트 API 호출을 처리하며, OpenStack 컴퓨트 API, 아마존 EC2 API 및 권한을 가진 사용자의 관리 작업을 수행하기 위한 특정 API 를 지원한다. 인스턴스 실행과 같은 대부분의 orchestration 작업과 특정 정책을 적용한다.
② nova-api-metadata 서비스
인스턴스의 메타데이터 요청을 처리한다. nova-api-metadata 서비스는 nova-network 가 설치된 다중 호스트에서 실행될 때 사용된다.
③ nova-compute 서비스
하이퍼바이저 API 를 통해 가상 머신 인스턴스의 생성과 종료를 실행하는 데몬으로 다음과 같은 서비스가 해당된다.
- XenServer/XCP 를 위한 XenAPI
- KVM 또는 QEMU 를 위한 libvirt
- VMware 를 위한 VMwareAPI
④ nova-scheduler 서비스
큐에서 가상 머신 인스턴스에 관련된 요청을 처리하고 어떤 컴퓨트 서버 호스트에서 실행할지를 결정한다.
⑤ nova-conductor 모듈
nova-compute 서비스와 데이터베이스 간의 상호작용을 중재하여 nova-compute 서비스가 클라우드 데이터베이스에 직접 접근하는 것을 방지한다. nova-conductor 모듈은 수평확장이 가능하나 nova-compute 서비스가 실행되는 노드에는 배포해서는 안된다.
⑥ nova-cert 모듈
X509 인증에 사용되는 Nova Cert 서비스를 실행하는 서버 데몬이다. euca-bundle- image 를 위한 인증서 생성에 사용되며, EC2 API 에만 필요하다.
⑦ nova-network worker 데몬
nova-compute 서비스와 유사하게 큐로부터 네트워킹 작업을 받아들이고 통신을 처리한다. 브리지 인터페이스 구성이나 IPtable 규칙 변경 등의 작업을 수행한다.
⑧ nova-consoleauth 데몬
콘솔 프록시가 제공하는 사용자용 토큰을 인증한다. nova-novncproxy 와 nova- xvpvncproxy 를 참조하기 바란다. 이 서비스는 콘솔 프록시 동작을 위해 필수적으로 실행되어야 한다. 클러스터 구성에서 단일한 nova-consoleauth 서비스에 대해서는 하나의 프록시 유형만 실행할 수 있다.
⑨ nova-novncproxy 데몬
VNC 연결을 통해 실행 중인 인스턴스 접근을 제공하는 프록시이다. 브라우저 기반의 novnc 클라이언트를 지원한다.
⑩ nova-spicehtml5proxy 데몬
SPICE 연결을 통해 실행 중인 인스턴스 접근을 제공하는 프록시이다. 브라우저 기반의 HTML5 클라이언트를 지원한다.
⑪ nova-xvpvncproxy 데몬
VNC 연결을 통해 실행 중인 인스턴스 접근을 제공하는 프록시이다. OpenStack 고유의 java 클라이언트를 지원한다.
⑫ nova-cert 데몬
X509 인증서를 처리한다.
⑬ nova 클라이언트
사용자가 테넌트 관리자 또는 최종 사용자로 명령어를 제출하도록 한다.
⑭ 큐(queue)
데몬들 간의 메시지 전달을 위한 중앙 허브로, 주롷 RabbitMQ 로 구현되어 있으나 ZeroMQ 와 같은 다른 휴형의 AMQP 메시지 큐로 구현될 수 있다.
⑮ SQL 데이터베이스
사용가능한 인스턴스 유형, 사용중인 인스턴스, 가용한 네트워크, 프로젝트 등의 클라우드 인프라 구성 시의 상태와 실행 시의 상태를 저장한다. OpenStack 컴퓨트에서는 이론적으로는 SQL-Alchemy 를 지원하는 어떤 유형의 데이터베이스도 지원가능하지만, 테스트나 개발 모드에서는 SQLite3 가 주로 사용되며, 일반적으로는 MySQL 과 PostgreSQL 이 사용된다.
2) Controller Node 설치 및 구성
이 섹션에서는 컨트롤러 노드에 컴퓨트 서비스인 Nova 를 설치하고 구성하는 과정에 대해서 설명한다.
▶ 전제 조건
컴퓨트 서비스 설치와 구성에 앞서 데이터베이스, 서비스 인증 및 API 엔드포인트 생성을 수행한다.
데이터베이스 접속 클라이언트를 사용하여 데이터베이스 서버에 root 로 로그인한다. 이 때암호는 앞에서 설정한 dbpassword 이다.
nova_api, nova및 nova_cell0데이터베이스를 작성한다.
데이터베이스에 권한을 부여한다. 데이터베이스 암호는 앞에서 설정한 novadbpass 를 사용한다.
관리자 모드로 CLI 명령을 실행하기 위해 admin 인증 스크립트를 실행한다.
nova 사용자를 생성한다. 암호는 novapass 를 사용한다.
nova 사용자에 admin 역할을 부여한다.
nova 서비스 엔티티를 생성한다.
public, internal, admin 세 가지의 서비스 API 엔드포인트를 생성한다. 결과 값에서 id 는 다른 값을 가질 수 있다.
▶ 구성 요소 설치 및 구성
nova 패키지를 설치한다.
/etc/nova/nova.conf 파일을 다음과 같이 수정한다.
[DEFAULT] my_ip = 1.0.0.1 use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:It1@cont |
[api] auth_strategy = keystone |
[api_database] connection = mysql+pymysql://nova:It1@cont/nova_api
|
[database] connection = mysql+pymysql://nova:It1@cont/nova
|
[glance] api_servers = http://cont:9292
|
[keystone_authtoken] auth_url = http://cont:5000/v3 memcached_servers = cont:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = It1
|
[oslo_concurrency] lock_path = /var/lib/nova/tmp
|
[placement] auth_type = password auth_url = http://cont:5000/v3 project_name = service project_domain_name = Default username = placement user_domain_name = Default password = It1 region_name = RegionOne
|
[vnc] enabled = true server_listen = $my_ip server_proxyclient_address = $my_ip
|
nova-api데이터베이스를 채워준다.(deprecation 메시지는 무시한다.)
cell0데이터베이스를 채워준다.
cell1셀을 작성한다.
nova 데이터베이스를 채운다.
nova cell0 및 cell1이 올바르게 등록되었는지 확인한다.
컴퓨트 서비스를 시작하고, 시스템 시작시에 자동으로 실행되도록 등록한다.
3) Compute Node 설치 및 구성
이 섹션에서는 컴퓨트 노드에 컴퓨트 서비스인 Nova 를 설치하고 구성하는 과정에 대해서 설명한다. 이 서비스는 인스턴스 또는 가상 머신을 배포하는데 사용되는 하이퍼바이저 몇 종류를 지원하는데, 여기에서는 간략하게 가상 머신을 위한 하드웨어 가속을 지원하는 컴퓨트 노드에서는 KVM 확장기능을 갖는 QEMU 하이퍼바이저를 사용하여 구성한다. 구형 하드웨어에서는 일반적인 QEMU 하이퍼바이저를 사용한다. 여기서 설명하는 명령어를 수정하여 복수의 컴퓨트 노드로 수평 확장이 가능하다.
▶ 구성 요소 설치 및 구성
패키지를 설치한다.
/etc/nova/nova.conf파일을 다음 설정으로 구성한다.
[DEFAULT] my_ip = 1.0.0.2 use_neutron = true firewall_driver = nova.virt.firewall.NoopFirewallDriver enabled_apis = osapi_compute,metadata transport_url = rabbit://openstack:It1@cont |
[api] auth_strategy = keystone |
[api_database] connection = mysql+pymysql://nova:It1@cont/nova_api
|
[database] connection = mysql+pymysql://nova:It1@cont/nova
|
[keystone_authtoken] auth_url = http://cont:5000/v3 memcached_servers = cont:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = nova password = It1
|
[oslo_concurrency] lock_path = /var/lib/nova/tmp
|
[placement] auth_type = password auth_url = http://cont:5000/v3 project_name = service project_domain_name = Default username = placement user_domain_name = Default password = It1 region_name = RegionOne
|
[vnc] enabled = true server_listen = 0.0.0.0 server_proxyclient_address = $my_ip novncproxy_base_url = http://1.0.0.1:6080/vnc_auto.html
|
[libvirt] virt_type = qemu cpu_mode=none |
컴퓨팅 노드가 가상 머신에 대한 하드웨어 가속을 지원하는지 판별한다.
컴퓨트 서비스를 시작하고 시스쳄 부팅시 자동으로 시작되도록 구성한다.
4) 작동 확인
관리자 모드로 CLI 명령을 실행하기 위해 admin 인증 스크립트를 실행한 뒤 데이터베이스에 컴퓨팅 호스트가 있는지 확인한다.
각 프로세스의 성공적인 시작 및 등록을 확인하기 위해 서비스 구성 요소를 나열한다.
Identity 서비스에 API 엔드 포인트를 나열하여 Identity 서비스와의 연결을 확인한다.
이미지 서비스에 이미지를 나열하여 이미지 서비스와의 연결을 확인한다.
셀 및 배치 API가 제대로 작동하고 다른 필수 전제 조건이 있는지 확인한다.
# nova-status upgrade check 오류 시 수정사항
파일에 다음 설정을 추가한 뒤 httpd,memcached 서비스를 재시작 한다.
<Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </Directory>http://1.0.0.1:6080/vnc_auto.html
|
'OpenStack' 카테고리의 다른 글
OpenStack 대시보드(Horizon) (0) | 2019.10.11 |
---|---|
OpenStack 네트워킹 서비스(Neutron) (0) | 2019.10.11 |
OpenStack 배치 서비스(Placement) (0) | 2019.10.11 |
OpenStack 이미지 생성(Glance) (0) | 2019.10.11 |
OpenStack 자격증명 서비스(Keystone) (0) | 2019.10.07 |