작성자: 주인장 디지문
(http://www.digimoon.net/)


본 문서는 레드햇 레퍼런스 가이드를 일부 번역한 내용을 주로 다루고 있습니다.
자세한 정보는 원문 링크 참고 바랍니다.
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Virtualization/3.1/html/Technical_Reference_Guide/index.html





Introducing Red Hat Enterprise Virtualization 3.1 Architecture


Red Hat Enterprise Virtualization은 full-featured virtualization 플랫폼과 이를 관리할 수 있는 도구를 제공합니다.

Red Hat Enterprise Virtualization Hypervisor
Red Hat Enterprise Virtualization Hypervisor(이하 RHEV-H)는 가상 머신을 유연하고 손쉽게 배치 및 관리할 수 있도록 소형화된 full-featured virtualization 플랫폼입니다. RHEV-H는 virtualization workload 지원에 특화되도록 디자인된 Red Hat Enterprise Linux의 간소화된 설치 버전입니다. RHEV-H는 Red Hat Enterprise Virtualization Manager와 함께 관리할 수 있습니다.


Red Hat Enterprise Virtualization Manager
Red Hat Enterprise Virtualization Manager(이하 RHEV-M)는 중앙집중형 관리 플랫폼으로 이는 시스템 관리자가 가상 머신을 관리할 수 있도록 합니다. RHEV-M는 검색 기능, 자원 관리, 라이브 마이그레이션, 가상 인프라 프로비저닝을 포함하는 포괄적 범위의 기능을 제공합니다.
RHEV-M는 가상 머신에 인터랙티브하게 접근할 수 있게 하기 위한 Administration Portal, User Portal, Representational State Transfer(REST) Application Programming Interface (API)와 같은 몇몇 인터페이스를 제공하는 JBOSS Application Server application으로 이루어져 있습니다.


1. Red Hat Enterprise Virtualization Manager

Red Hat Enterprise Virtualization Manager는 가상화 환경을 위한 중앙집중형 관리 체제를 제공합니다. RHEV-M에 접근하기 위해 각기 다른 여러 인터페이스를 사용할 수 있습니다. 각 인터페이스들은 다른 방식으로 가상화 환경에 접근이 용이하도록 도와줍니다.

사용자 삽입 이미지



① Interfaces for Accessing The Manager

사용자 삽입 이미지


User Portal
User Portal은 최종 사용자에게 가상 데스크톱 인프라(VDI)를 제공하는 주요 방법입니다. 데스크탑 가상화는 퍼스널 컴퓨터 데스크탑 환경과 유사한 데스크탑 환경을 사용자에게 제공합니다. 사용자에게 할당된 가상 데스크탑에 접근할 수 있도록 웹브라우저를 통해 User Portal에 접근할 수 있습니다. User Portal에서 사용자에게 유효한 액션은 시스템 관리자에 의해 세팅됩니다. 일반 사용자에게는 데스크탑 시작, 중지, 사용 등의 기능만을 사용할 수 있는 일반 수준의 기능이 주어지며 Power User는 관리자급 액션을 취할 수 있습니다.

User Access
정규 사용자들은 User Portal을 통해 자신의 가상 데스크탑을 켜고 끄고 접속할 수 있습니다. 가상 머신으로 직접적인 접근은 Simple Protocol for Independent Computing Environments (SPICE) 또는 Virtual Network Computing (VNC) 클라이언트를 통해 구현됩니다. 두 프로토콜 모두 사용자에게 로컬 데스크탑 환경과 유사한 환경을 제공합니다. 관리자는 가상 머신 생성 시 가상 머신 접근용 프로토콜을 지정하게 됩니다.

Power User Access
Red Hat Enterprise Virtualization User Portal은 가상 리소스에 접속하고 관리하고 모니터링할 수 있게 하는 확장된 그래픽 사용자 인터페이스를 파워 유저에게 제공합니다. 파워 유저는 웹브라우저를 이용하여 여러 가상 머신에 접속할 수 있습니다. 파워 유저 포털은 시스템 관리자가 몇몇 관리 기능을 위임할 수 있도록 허용합니다. 예를 들면 파워 유저는 그들에게 할당된 가상 리소스를 관리할 수 있습니다. 일반 유저에 의해 구현되는 기능 뿐만 아니라 파워 유저는 다음과 같은 기능들을 수행할 수 있습니다.

▶ 가상 머신 생성, 편집, 삭제
▶ 가상 디스크와 네트워크 인터페이스 관리
▶ 가상 머신에 사용자 권한 할당
▶ 가상 머신의 신속한 배치를 위한 템플릿 생성 및 사용
▶ 자원 사용량과 높은 수준의 보안 이벤트 감시
▶ 가상 머신을 이전 시점으로의 복구 용도의 스냅샷 생성 및 사용


사용자 삽입 이미지


Administration Portal
Administration Portal은 Red Hat Enterprise Virtualization Manager server의 그래피컬한 관리 인터페이스입니다. 관리자가 모니터링, 신규 생성, 웹브라우저를 사용하는 가상화 환경의 모든 요소들을 제어할 수 있게 합니다. 이 모든 요소들에는 네트워크/스토리지 도메인 생성 및 제어, 호스트 설치 및 제어, 논리 집합 요소(data centers, clusters) 생성, 가상 머신 생성 및 제어, 사용자 접근 권한 제어 등이 해당됩니다.


Representational State Transfer (REST) API
Red Hat Enterprise Virtualization REST API는 Red Hat Enterprise Virtualization 환경의 질의와 제어를 위한 소프트웨어 인터페이스를 제공합니다. REST API는 Red Hat Enterprise Virtualization Manager와 상호 작용하는 스크립트들이 프로그래밍 언어 또는 플랫폼의 제한을 받지 않음을 보장합니다. REST API는 HTTP action을 지원하는 일부 프로그래밍 언어에 의해 사용될 수 있습니다.

REST API는 개발자와 관리자가 아래와 같은 능력을 배양할 수 있게 합니다.

▶ 기업 환경의 IT 시스템 통합
▶ 서드 파티 가상화 소프트웨어 통합
▶ 관리 및 오류 검출 업무 자동화 구현
▶ RHEV 환경에서의 반복적인 업무를 자동화하기 위한 스크립트 사용


② Components that Support the Manager

JBoss Enterprise Application Platform

사용자 삽입 이미지

JBoss Enterprise Application Platform은 Java 기반 어플리케이션 서버입니다. 이는 효과적인 개발과 크로스 플랫폼 자바 어플리케이션 구조화 작업을 지원하는 프레임워크를 제공합니다.
RHEV는 JBOSS EAP를 사용하여 구성되었습니다.

Red Hat Enterprise Virtualization Manager에 번들로 포함된 JBoss Enterprise Application Platform은 다른 어플리케이션을 서비스하기 위한 목적으로는 사용할 수 없으며 Red Hat Enterprise Virtualization Manager를 서비스하기 위한 목적에 특화되어 있습니다.


사용자 삽입 이미지
RHEV-M 인스톨 프로그램은 engine/ovirt_engine_history 2개의 데이터베이스를 생성합니다.

Gathering Reports and Historical Data
Host, Virtual Machine, Storage를 위한 모니터링 자료를 수집하는 data warehouse를 포함합니다. 사전 정의된 리포트의 숫자를 이용할 수 있습니다. 고객은 SQL을 지원하는 쿼리 툴을 사용하여 자신의 환경을 분석하고 리포트를 생성할 수 있습니다.

RHEV-M 설치 프로그램은 두 개의 데이터베이스를 생성합니다. 이 데이터베이스들은 설치 과정(rhevm-setup)에서 지정된 Postgres 인스턴스 상에 생성됩니다.


engine 데이터베이스
RHEV-M에서 사용되는 1차 데이터 저장소입니다. 상태, 구성, 성능과 같은 가상화 환경에서의 정보는 이 데이터베이스에 저장됩니다.

ovirt_engine_history 데이터베이스
engine 동작 데이터베이스와는 대조적으로 구성 정보와 통계 메트릭을 포함합니다. engine 데이터베이스의 구성 데이터는 매 분 조사되며 변경사항은 ovirt_engine_history 데이터베이스에 복제됩니다. 데이터베이스로의 변경 추적은 데이터베이스 상의 객체 정보를 제공합니다. 이는 RHEV 환경의 성능을 분석하고 강화할 수 있도록 하고 문제를 해결할 수 있도록 합니다.


Directory services
디렉토리 서비스는 정보 저장을 위한 중앙 집중형 네트워크 기반 레지스트리를 제공합니다.
정보 형태는 어플리케이션 세팅, 사용자 프로파일, 그룹 데이터, 정책, 접근 제어를 포함하여 저장됩니다.
RHEV는 Directory Service로 아래 제품들을 지원합니다.

- Microsoft Active Directory
- IBM Tivoli Directory Server
- Linux IdM (FreeIPA; Fedora 389 Directory Server)
- Red Hat Directory Server (RHDS)

※ User Portal을 운영하기 위해서는 Directory service가 반드시 필요합니다.

사용자 삽입 이미지






2. Red Hat Enterprise Virtualization hosts

Red Hat Enterprise Virtualization 환경에는 하나 또는 그 이상의 호스트가 속해 있습니다. 호스트는 가상 머신을 사용할 수 있게 하는 물리 하드웨어를 제공합니다.
RHEV 하이퍼바이저 호스트는 가상 호스트를 생성하기 위해 특수하게 커스터마이징된 설치 미디어를 사용하여 설치된 최적화된 운영체제입니다(Bare-metal형 하이퍼바이저).
RHEL 호스트는 호스트로 사용할 수 있도록 설치 후 구성된 표준 Red Hat Enterprise Linux 운영 체제를 실행하는 서버입니다(Host형 하이퍼바이저).
사용자 삽입 이미지


Kernel-based Virtual Machine (KVM)
KVM은 Intel VT 또는 AMD-V 하드웨어 확장을 통해 full Virtualization을 제공하는 모듈입니다. 비록 kernel space에서 KVM이 실행되더라도 실행 중인 guest는 user space에서 개별적인 QEMU 프로세스로 실행됩니다.


QEMU

QEMU는 full system emulation을 제공하기 위해 사용되는 멀티 플랫폼 emulator입니다. 예를 들면 1개 또는 그 이상의 프로세서와 주변장치들을 포함한 PC와 같은 full system을 에뮬레이트합니다. QEMU는 다른 운영체제를 구동하거나 시스템 코드를 디버깅하기 위해 사용될 수 있습니다. KVM과 결합하고 적절한 가상화 확장 기능이 동반된 프로세스 하에 작동하는 QEMU는 full hardware 지원 가상화를 제공합니다.

사용자 삽입 이미지
▲ 하이퍼바이저에서 top 명령어로 확인되는 정보. qemu-kvm 프로세스는 현재 구동 중인 가상 머신이다.
하이퍼바이저 입장에서 가상머신은 물리 머신 환경의 어플리케이션 프로세스와도 같다. 다수의 가상머신을 구동할 수 있는 환경은 user space에서 프로세스 형태로 다수 가상머신을 구동하는 기법을 쓰는 KVM이 구현하는 것이며 완전한 하드웨어 에뮬레이션 구현(guest 커널 수정 불필요)은 QEMU가 담당한다.


Red Hat Enterprise Virtualization Manager Host Agent, VDSM

VDSM은 가상 머신과 스토리지에 대한 작업을 수행합니다. 또한 호스트 간 통신을 용이하게 합니다. VDSM은 메모리, 스토리지, 네트워킹과 같은 가상화된 호스트 자원을 모니터링합니다. 추가적으로, VDSM은 가상 머신 생성, 통계 축적, 로그 수집과 같은 호스트 관리 기능을 관리합니다. VDSM 인스턴스는 각 호스트에서 실행되며 54321 포트(변경 가능)를 사용하는 RHEV-M로부터 관리 작동 정보를 수신합니다.

 VDSM-REG
 VDSM은 각 호스트를 RHEV-M와 등록하기 위해 VDSM-REG를 사용합니다.
 VDSM-REG는 80 또는 443 포트를 이용하여 자신과 자신의 호스트에 대한 정보를 제공합니다.


Libvirt

Libvirt는 가상 머신과 그를 지원하는 인프라스트럭처 관리를 용이하게 합니다. 시작/중지/재부팅과 같은 가상 머신의 라이프 사이클을 시동시키기 위한 용도로 RHEV-M가 사용될 때 VDSM은 이 호스트 라이프 사이클 명령어를 실행시키기 위해 연관된 호스트 머신에 libvirt를 호출합니다.


Storage Pool Manager, SPM
Red Hat Enterprise Virtualization hosts는 단일 쓰기와 다중 읽기 환경에 기반을 둔 메타데이터(이미지/스냅샷 생성, 이미지/스냅샷 삭제, 볼륨/도메인 확장)에 관계된 스토리지 도메인 구조를 처리합니다. 데이터 도메인 구조 변경을 확인할 수 있는 RHEV host는 Storage Pool Manager(SPM)라 합니다. 모든 데이터 센터에는 하나의 SPM만이 존재합니다.

모든 호스트는 구조 정보를 지닌 메타데이터를 읽을 수 있으나 오직 하나의 SPM만이 데이터 센터를 위한 도메인 구조 메타데이터를 변경할 수 있습니다. SPM은 디스크 이미지 생성 및  삭제, 스냅샷 생성 및 병합, 스토리지 도메인 간 이미지 복사, 템플릿 생성과 블록 장치를 위한 스토리지 할당과 같은 데이터 센터의 모든 메타데이터 변경 작업을 조정합니다.

SPM 규칙을 할당하기 위하여 RHEV-M는 스토리지 중심 임대(storage-centric lease) 가정을 위한 잠재적 SPM 호스트를 발생시킵니다. 매니저는 스토리지 중심 임대 가정을 시도하기 위한 호스트 상에서의 VDSM을 유발하면서 spmStart 명령어를 호스트에 전송합니다. 만약 호스트가 이에 성공한다면 RHEV-M가 새 호스트 SPM 규칙을 가정했다는 응답을 받을 때까지 스토리지 중심 임대는 유지됩니다. 이는 다음과 같은 경우에 발생합니다

▶ SPM 호스트는 모든 스토리지 도메인에 접근할 수는 없으나 마스터 도메인에는 접근할 수 있습니다.
▶ 호스트의 점유 상태를 리뉴얼할 수는 없는 이유는 스토리지와 연결이 끊어지거나 점유 볼륨 용량이 가득 차서 쓰기 불능 상태가 되기 때문입니다.
▶ 호스트가 크래쉬됩니다.


사용자 삽입 이미지

호스트의 VDSM은 SPM이 위치한 곳에 상관없이 오직 하나의 호스트가 SPM임을 보장하기 위하여 storage pool에서 mutex(storage-centric lease)를 구현하기 위한 분산 알고리즘을 사용합니다.

Mutex 통신은 lease라고 하는 데이터 스토리지 도메인의 특정 논리 볼륨에 작성됩니다. 데이터 도메인 구조에 대한 메타데이터는 metadata라 불리우는 특정 논리 볼륨에 작성됩니다. 메타데이터 논리 볼륨 변경은 lease 논리 볼륨에 의해 보호됩니다.

사용자 삽입 이미지
▲ 하이퍼바이저에 ssh 접속하여 확인할 수 있는 Logical Volume 정보. leases 와 metadata LV가 확인된다.


Guest Operating System
Guest Operating System은 수정 없이 RHEV 환경에 설치 가능합니다. Guest OS와 guest 상의 몇몇 어플리케이션은 가상화 환경임을 인지하지 못하며 평범하게 실행됩니다. 그러나 가상 장치로 빠르고 효율적으로 접근할 수 있도록 하는 장치 드라이버를 사용할 수 있으며 이는 guest 내부에 설치될 수 있습니다. 또한 guest 상에 Red Hat Enterprise Virtualization Agent를 설치할 수 있는데 이는 관리 콘솔로 강화된 guest 정보를 제공할 수 있습니다.



3. Storage

Red Hat Enterprise Virtualization은 가상 머신 디스크 이미지, 템플릿, 스냅샷 및 ISO 파일에 대한 중앙 집중화된 스토리지 시스템을 사용합니다. 스토리지는 논리적 스토리지 도메인으로 구성되어 스토리지 풀에 그룹화됩니다. 스토리지 도메인은 스토리지 내부 구조를 설명하는 메타데이터와 이미지를 포함한 스토리지 가용 혼합체입니다. 3개의 스토리지 도메인 타입이 있는데 이는 data, export, ISO 입니다.

사용자 삽입 이미지


Data storage domain은 가장 중요하며 각 data center에 오직 한 개만 필요로 합니다. Data center storage domain은 단일 data center에 독점됩니다. Export, ISO domain은 옵션입니다. Storage domain은 자원에 공유되며 data center 내 모든 호스트가 접근 가능해야 합니다. Storage networking은 NFS, iSCSI, FCP 장치들로 구현될 수 있습니다. RHEV는 부가적으로 공식 지원하지 않는 범위 내에서 data domain에 POSIX 호환 네트워크  파일시스템을 제공합니다.


Data storage domain

데이터 도메인은 설치된 운영체제 이미지 및 데이터 디스크 등의 환경에서 실행되는 모든 가상 머신의 디스크 이미지를 수용합니다. 가상 머신의 스냅샷은 데이터 도메인에 저장됩니다. 데이터 도메인은 데이터 센터 간에 공유할 수 없으며, 데이터 도메인은 데이터 센터와 같은 형식이어야 합니다. 예를 들어, iSCSI 유형의 데이터 센터는 iSCSI 데이터 도메인이어야 합니다.


Export storage domain
RHEV 환경에서 이미지를 데이터 센터 간 복사/이동 용도로 사용되는 임시 스토리지 저장소입니다. export domain은 가상머신과 템플릿의 백업 용도로도 사용할 수 있습니다. export domain은 데이터 센터 간 이동될 수 있으나 한 개 데이터 센터에 오직 하나만 활성 가능합니다.



ISO storage domain

ISO 파일 저장소이며 이는 가상 머신용 운영체제나 어플리케이션 설치용 논리 CD-ROM입니다. 물리 CD-ROM이나 DVD 라이브러리를 대체하는 논리 요소로, ISO domain은 데이터 센터에 물리 매체의 필요성을 없애줍니다. ISO domain은 다른 데이터 센터 간에 공유될 수 있습니다.



4. Network


Red Hat Enterprise Virtualization 네트워크 아키텍처는 레드햇 엔터프라이즈 가상화 환경의 다른 요소 사이의 연결을 용이하게 합니다. 네트워크 아키텍처는 네트워크 연결 뿐만 아니라 분리까지 지원합니다.

사용자 삽입 이미지

연결과 분리를 지원하기 위해 네트워킹은 여러 계층 상의 RHEV에 정의됩니다. 하위의 물리 네트워킹 인프라스트럭처는 RHEV 환경의 하드웨어와 논리 컴포넌트 사이의 연결을 허용할 수 있는 위치에 구성되어야 합니다.


Networking Infrastructure

RHEV 네트워크 아키텍처는 몇몇 공통의 하드웨어와 소프트웨어 장치에 의존성을 갖습니다.

▶ 네트워크 인터페이스 컨트롤러(NIC)는 네트워크에 호스트를 연결하는 물리적 네트워크 인터페이스 장치입니다.
▶ 가상 NIC (vNIC)는 호스트의 물리적 NIC를 사용하여 작동하는 논리적 NIC입니다. 그들은 가상 머신에 네트워크 연결을 제공합니다.
▶ 본딩은 단일 인터페이스로 다수의 NIC를 바인드합니다.
▶ 브릿지는 패킷 스위칭 네트워크를 위한 패킷 포워딩 기술입니다. 그들은 가상 머신 논리 네트워크의 기본을 이룹니다.


Logical Networks
논리 네트워크는 환경의 요구에 따라 네트워크 트래픽을 분리할 수 있도록 허용합니다. 논리 네트워크 종류는 다음과 같습니다.

▶ 가상 머신 네트워크 트래픽을 전송하는 논리 네트워크
▶ 가상 머신 네트워크 트래픽을 전송하지 않는 논리 네트워크
▶ 부가적인 논리 네트워크
▶ 필요에 의한 네트워크

모든 논리 네트워크는 필요 또는 선택사항일 수 있습니다.

가상 머신 네트워크 트래픽을 전송하는 논리 네트워크는 소프트웨어 브릿지 장치로 호스트 레벨에 구현됩니다. 기본적으로 하나의 논리 네트워크(rhevm 관리 네트워크)가 RHEV-M를 설치하는 동안 정의됩니다.

다른 논리 네트워크는 관리자에 의해 추가될 수 있습니다. 스토리지 전용 논리 네트워크, 디스플레이 전용 네트워크 등이 이에 해당됩니다. 가상 머신 네트워크 트래픽을 전송하지 않는 논리 네트워크는 호스트의 브릿지 장치에 연결되지 않습니다. 그들은 호스트 네트워크 인터페이스에 직접 연결됩니다.


Data Center Layer
논리 네트워크는 데이터 센터 레벨에 정의됩니다. 각 데이터 센터는 rhevm 관리 네트워크를 기본으로 갖고 있습니다. 추가적인 논리 네트워크는 선택사항이지만 필수사항은 아닙니다. VM Network으로의 지정과 커스텀 MTU는 데이터 센터 레벨에서 세팅됩니다.

Cluster Layer
논리 네트워크는 데이터 센터로부터 유효하게 생성되며 그들을 사용할 클러스터에 추가되어야 합니다. 각 클러스터는 관리 네트워크에 기본으로 연결됩니다. 선택적으로 클러스터의 상위 데이터 센터에 대해 정의된 클러스터 논리 네트워크에 추가할 수 있습니다. 필요로 하는 논리 네트워크가 클러스터에 추가될 때, 그것은 클러스터 내 각 호스트를 위해 구현되어야 합니다. 선택적 논리 네트워크는 필요 시 호스트에 추가될 수 있습니다.

Host Layer
가상 머신 논리 네트워크는 주어진 네트워크 인터페이스에 연결된 소프트웨어 브릿지 장치로서 클러스터 내 각 호스트를 위해 구현됩니다. 가상 머신용이 아닌 논리 네트워크는 브릿지에 연결되지 않으며 호스트 네트워크에 직접 연결됩니다. 각 호스트는 RHEV 환경에 포함된 결과로 네트워크 장치 중 하나를 사용하는 브릿지로 구현된 관리 네트워크를 갖습니다. 더 나아가 클러스터에 추가된 논리 네트워크는 클러스터로 동작하기 위한 각 호스트 상의 네트워크 인터페이스에 연결되어야 합니다.

Virtual Machine Layer
논리 네트워크는 네트워크가 물리적 시스템에서 사용할 수 있는 것과 같은 방식으로 가상 머신에서도 사용할 수 있게 해 줍니다. 가상 머신은 자신을 실행할 수 있는 호스트 상에 구현된 가상 머신 논리 네트워크에 연결된 가상 NIC를 갖습니다. 그러면 가상 머신은 다른 장치 또는 자신이 접속할 논리 네트워크 상에서 유효한 목적지에 연결할 수 있게 됩니다.

Creative Commons License