Top Banner
오픈소스컨설팅 김익한 Virtualization, KVM and RHEV Certified Partner by
32

Virtualization kvm-rhev

Dec 05, 2014

Download

Technology

Ji-Woong Choi

It explains virtualization technology, KVM How-To, RHEV introduction for users and engineers.
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). RHEV is based on KVM and includes Red Hat Subscription program. You can understand about virtualization in this document.
Enjoy.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Virtualization kvm-rhev

오픈소스컨설팅

김익한

Virtualization, KVM and RHEV

Certified Partner by

Page 2: Virtualization kvm-rhev

2 - Internal Use Only -

목차

가상화 기술

KVM 관리 방법 RHEV 소개 및 특징

Red Hat 가상화 구축 사례

Page 3: Virtualization kvm-rhev

가상화 기술

Page 4: Virtualization kvm-rhev

4 - Internal Use Only -

가상화 개요

컴퓨터 리소스의 물리적인 특징을 추상화하여 사용자에게 논리적 리소스를

제공하며, 이를 통하여 다양한 기술적/관리적 이점들을 제공하는 기술

가상화는 1960년 메인프레임 시절부터 활용

현재 주목 받는 이유

- 친환경

- 저전력

가상화의 범위

- 서버 가상화

- 데스크탑 가상화, etc

Page 5: Virtualization kvm-rhev

5 - Internal Use Only -

X86 아키텍처의 가상화

X86 아키텍처 환경 에서는 가상화 구현이 어려움

CPU는 0부터 3까지 4단계 특권 레벨 또는 rings를 가짐

OS kernel 코드를 실행 할 때는 ring 0에서 실행

애플리케이션과 사용자 공간은 ring 3에서 실행

Physical H/W

Operating System

Application Application Application Application

Ring 0

Ring 3

Ring 1 & 2

Page 6: Virtualization kvm-rhev

6 - Internal Use Only -

X86 아키텍처의 가상화

Hypervisor는 ring 0에서 실행되어야 함

Virtual machines은 ring 3에서 실행

VM의 OS 커널은 특권 모드 0에서 명령을 실행 하려고 함

- 여기서 machine fault를 유발 함

VMware에서 “Binary translation”으로 이 문제를 처음 해결

- VM의 Guest OS에서 CPU에 직접 전달 해야 하는 과정을 에뮬레이션화

Page 7: Virtualization kvm-rhev

7 - Internal Use Only -

가상화 방식 분류

Full virtualization – Software based

- 에뮬레이터된 하드웨어로 가상머신 생성

- OS에는 일반적인 하드웨어 제공

- Virtual BIOS, Network card, Storage Controller, etc

장점

- "Guest OS”가 가상화인지 인지하지 않음 - OS 미수정

단점

- 성능 - 하드웨어 요소를 에뮬레이터하는 소프트웨어 사용

Examples: VMware ESX, ESXi

Page 8: Virtualization kvm-rhev

8 - Internal Use Only -

가상화 방식 분류

Para-virtualization

- 가상화를 인지 할 수 있도록 Guest OS 수정

- Guest OS kernel 에 ring 0 모드로 접근 하지 못하게 설정

- Guest OS는 하이퍼바이저와 연동

- OS(Dom-0)는 에뮬레이션 계층 대신 하이퍼바이저와 직접 통신

장점

- 고성능 - 단일 서버 성능에 가까움

- 향상된 I/O 리소스 리소스 스케줄링을 제공하기 위해 하이퍼바이저와 상호 연동 됨

단점

- Guest OS의 kernel이 수정 가능 해야 함

- VM을 위한 또 다른 커널이 필요

Page 9: Virtualization kvm-rhev

9 - Internal Use Only -

Hardware CPU x86 아키텍처 기술 진화

CPU 벤더가 x86 아키텍처를 확장

- CPU 기능으로 가상화 지원 제공

- 2006년부터 모든 주요 플랫폼에 탑재

Intel – VT : Xeon, Core Duo and Core 2 Duo

AMD – AMD-V : Opteron, Athlon and Phenom

1세대

- Ring compression에 대한 CPU 부담을 제거

- 가상화를 위한 Ring -1이라는 새로운 모드 제공

2세대

- Memory Management

- MMU Virtualization

3세대

- Intel : VT-D

- AMD : 하이퍼트랜스포트

PCI 장치 및 드라이버를 VM에 pass thru

Page 10: Virtualization kvm-rhev

10 - Internal Use Only -

Xen

Domain 0

- 하드웨어 지원 제공

vNIC, vStorage Controller

- Guests OS 제어 기능

- Management tool

CPU, Memory 리소스 by pass

- 네이티브하게 Guest OS들이 H/W 리소스들을 사용하여 고성능

- NIC, Storage Controller etc는 Domain 0에서 제공 (virtIO)

Page 11: Virtualization kvm-rhev

11 - Internal Use Only -

Kernel Based Virtual Machine (KVM)

3세대 하이퍼바이저 가상화

- Full Virtualization 방식

일반적인 리눅스 커널을 사용

- 안정적이고 신뢰성 있는 기업용 커널을 사용

- Guest OS 커널 소스 수정 미수정

현재 X86 H/W 기반으로 설계

- Binary translation 불필요

- Paravirtualization kernels 불필요

Page 12: Virtualization kvm-rhev

12 - Internal Use Only -

KVM 역사

2006년 10월에 쿰라넷(Qumranet)에서 프로젝트 시작

2006년 12월에 kernel maintainer들에게 제출

- 리눅스 커널에 약40k 라인 추가

kernel 2.6.20 포함(January 2007)

- 가상화를 위해 분리된 커널을 요구하지 않음

대부분의 최신 리눅스 배포판에 탑재

- Fedora 7

- Ubuntu, Debian, Mandriva, openSUSE, SLES(since 11)

- added to RHEL 5.4

Page 13: Virtualization kvm-rhev

13 - Internal Use Only -

KVM 아키텍처

KVM 아키텍처

- vCPU, NIC Drivers, Storage Controller 장치들은 KVM 모듈에서 제어

Page 14: Virtualization kvm-rhev

14 - Internal Use Only -

KVM 의 하이퍼바이저 타입은?

Hypervisor는 종종 type 1 또는 type 2로 분류

- Type 1 - Bare metal 하이퍼바이저

하드웨어 위에 바로 부팅

- Type 2 - Hosted 하이퍼바이저

OS 위에서 동작

Page 15: Virtualization kvm-rhev

15 - Internal Use Only -

Linux KVM model 이점

Leverages Linux – 새로운 커널을 만들지 않음

- 신뢰성 있고 안정된 기업용 플랫폼 위에 구축됨

- Scheduler, memory management, hardware support etc.

향상된 기능

- 리눅스의 하드웨어 확장 성, power management, hot-plug등의 기능을 상속 –

다른 기술들은 새롭게 개발

- SELinux security, advanced scheduler, RAS support etc.

Page 16: Virtualization kvm-rhev

16 - Internal Use Only -

KVM

KVM H/W 확인방법

- Intel : vmx flag

- AMD : svm flag

- # egrep “svm|vmx” /proc/cpuinfo

BIOS에서 CPU Virtualization Technology Support를 on 했다면 cold boot를

해야 적용이 됨

- Cold boot을 하지 않으면 VT는 활성화 되지 않음

Page 17: Virtualization kvm-rhev

17 - Internal Use Only -

KVM

KVM은 RHEL 5.x, CentOS 5.x에 포함 되어 있음

- RHEL 5.4, CentOS 5.4 부터 KVM 탑재

- KVM은 X86_64 에서만 탑재 및 지원

왜 KVM 및 RHEV은 최신 커널을 사용하지 않는가?

- 현재 kernel 최신 버전은 3.12.X 버전까지 릴리즈

- Hardware / Software certification

- RHEL 5, RHEL6는 이미 신뢰성있고 안정된 플랫폼

Page 18: Virtualization kvm-rhev

18 - Internal Use Only -

VirtIO

대부분의 H/W 장치들은 유저스페이스에서 에뮬레이터 됨

- 게스트의 낮은 성능 유발 및 호스트의 CPU 사용률을 높임

가속화된 I/O의 성능을 구현하기 위한 전통적인 방법은 PV I/O를 사용 해야 함

- 대부분의 하이퍼바이저 벤더들은 PV 드라이버 제공

- 자체 인터페이스 위에 각각 다른 다양한 드라이버들이 존재

VirtIO는 PV 드라이버를 위한 공개 표준 프레임워크

- virtio를 버스에 연결하기 위한 binding layer (pci driver)

- Domain별 guest drivers 제공 (network, storage etc)

Page 19: Virtualization kvm-rhev

19 - Internal Use Only -

QEMU (Quick Emulator)

오픈소스기반 “machine emulator and virtualized”

- http://www.nongnu.org/qemu/

다른 많은 가상화 프로젝트에서 사용되는 코어 콤포넌트

- KVM, Xen, Virtual Box, etc

CPU emulator 제공

- x86, x86_64, PowerPC, Sparc, PA-RISC and others

machine / device emulator에 주로 사용 됨

- virtual BIOS, hardware, device-disk, network etc

Page 20: Virtualization kvm-rhev

KVM 관리 방법

Page 21: Virtualization kvm-rhev

21 - Internal Use Only -

Management - virt-manager

RHEL 5.4 / CentOS 5.4 이상부터 기능 지원

virt-manager

- KVM 및 Xen 지원

- QEMU/KVM 및 Xen에 연결

- GUI 환경에서 동작

확장 기능

- Storage Pools, etc

Page 22: Virtualization kvm-rhev

22 - Internal Use Only -

Virtualization Performance Tuning

tuned

- 시스템 서비스에 맞게 여러 가지, profile을 제공

- 기본적인 프로파일을 적용하고, WEB/WAS/DB 서비스에 맞는 튜닝은 별도로 설정

사용자는 시스템에 역할이 Host인지 Guest OS인지 판단하여 프로파일을 적용

- tuned-adm profile virtual-host

- tuned-adm profile virtual-guest

- /etc/tune-profiles 디렉토리에 각 프로파일별 스크립트들이 있음

Page 23: Virtualization kvm-rhev

RHEV 소개 및 특징

Page 24: Virtualization kvm-rhev

24 - Internal Use Only -

KVM: 가상화 플랫폼 & Red Hat Products

최고의 성능 보안 낮은 비용 크로스 플랫폼 클라우드 & 가상화 관리

KVM은 SPECvirt의 가상머신 통합 테스트 Top 6/11 를 기록 (1)

EAL4+인증 (2) SE Linux를 이용한 Mandatory Access Control 제공

고객은 KVM을 이용하여 70% 비용 절감효과를 보고 (3)

대표적인 x86 운영체제인 RHEL과 Microsoft Windows를 완벽지원 (4)

클라우드 가상화를 위한 Red Hat Open Stack과 데이터센터 가상화를 위한 Red Hat Enterprise Virtualization 제품 포트폴리오

Page 25: Virtualization kvm-rhev

25 - Internal Use Only -

Red Hat 가상화

Red Hat 가상화를 활용하여 하나의 서버에서 멀티 VM을 구성하는 방식과 멀티

서버에서 멀티 VM을 구동하는 두 가지 방식 구현 가능

1) 멀티 서버에서 멀티 VM 구동 (RHEV) - 커널 기반 가상화 기술인 KVM 기술 활용 - 다중 하이퍼바이저에 대한 통합관리 기능 - 다수의 VM 관리 - Live Migration, HA 등 장애관리 기능

2) 하나의 서버에서 멀티 VM 구동 (Virt-Manager) - 커널 기반 가상화 기술인 KVM 기술 활용 - 하나의 서버 내에서 다중 VM 구동 - RHEL에 기본 포함된 기능 - RHEV로 확장 가능

Page 26: Virtualization kvm-rhev

26 - Internal Use Only -

Red Hat Enterprise Virtualization 아키텍처

RHEV는 엔터프라이즈용 오픈소스 가상화 플랫폼

- Project: oVirt / KVM

Page 27: Virtualization kvm-rhev

27 - Internal Use Only -

RHEV 3.2: Manager & Hypervisor

Red Hat Enterprise Virtualization 3.2

- 단일 제품에서 서버/데스크탑 가상화를 모두 지원

- KVM 기반의 Hypervisor

- 100% Open Source 기반의 가상화 솔루션

- 최고의 확장 성 제공 (500 + 호스트 & 10,000 + VMs)

•RHEV HYPERVISOR •RHEV MANAGER

Host: 4096 논리 CPUs , 3TB RAM Guest: 160 vCPUs, 2TB RAM Memory Overcommit, SR-IOV 기능 지원 Microsoft SVVP 인증을 통한 Windows 운영체제 기술지원 •RHEL 6.4 기반의 하이퍼바이저 – 성능 및 확장성 향상

•커널/스케쥴러Kernel/Scheduler

•메모리 관리(EPT 향상), Transparent huge pages

•블록 입출력 (비동기 I/O)

•네트워크 (vhost-net : 커널 영역)

•최신의 CPU 아키텍쳐지원(하즈웰/AMD 5세대)

•SPICE 프로토콜의 WAN 환경 성능 향상

•고가용성, 라이브 마이그래이션, 셀프서비스 포털(유저 포털) •로드발랜싱 (DRS), 파워 세이버 (DPM) •템플릿, 씬 프로비져닝, 라이브 스냅샷 •스토리지와 네트워크의 중앙관리 •마켓플레이스 생태계 •스토리지 라이브 마이그레이션 (A.K.A vMotion of Vmware) •Quotas : CPU, Memory, Storage •핫 플러그/언플러그 지원 : NICs, Disks •스토리지 : local disk, FC, iscsi, NFS, Red Hat Storage, Direct LUN, POSIX •리포팅 대쉬보드 제공, RESTfull API & SDK, CLI 관리 툴

Page 28: Virtualization kvm-rhev

28 - Internal Use Only -

RHEV 3.2 주요 기능

구분 내용

강력한 관리 도구 제공

(RHEV-M)

• 가상화 서버를 중압 집중 관리 할 수 있는 웹 기반의 관리 도구 제공

Posix FS Storage지원 • GPFS, VxFS, Red Hat Storage 등 Posix 기반의 파일시스템 스토리지 지원

Power Saver • 물리적 서버의 전력관리 기능과 연동하여 최적의 전력관리가 시행되어 최적화 될 수 있는 기능 제공

SystemScheduler

(DRS) • 호스트의 부하를 감지하고 부하가 많은 호스트의 VM을 다른 가상화 호스트에 분산

자원에 대한 Quota 설정 • CPU, Memory, Disk에 대한 Quota 설정 기능 제공

모니터링 기능 • Jasper Reporting Tool을 이용한 대시보드 기능 제공

Page 29: Virtualization kvm-rhev

29 - Internal Use Only -

RHEV 3.2 주요 기능

구분 내용

라이브 마이그레이션

•서비스 중단 없이 호스트 간에 가상 머신 을 다이내믹하게 이동할 수 있는 기능

고 가용성 •호스트 장애 시 다른 호스트상에서 가상 머신 을 자동으로 재 시작

시스템 스케줄러 •리소스 및 정책을 기반으로 다이내믹하게 가상 머신의 라이브 마이그레이션을 수행하여 데이터센터

내 워크로드 균형을 조정

자원에 대한 Hot add • Disk, NIC에 대한 Hot Add 기능

Export & Import • VM 및 Template에 대한 가져오기/내보내기 기능

계정관리 기능 • Red Hat IPA, LDAP, IBM Tivoli, MS Active Directory 등 원하는 계정관리 시스템과의 연동 및 구현 기능

Page 30: Virtualization kvm-rhev

30 - Internal Use Only -

사용자 인터페이스 & Reporting Dash Board

User Potal

Basic View Extended View

RHEV Reporting Portal

- Historical usage, trending, quality of service 데이터 로깅

Page 31: Virtualization kvm-rhev

31 - Internal Use Only -

RHEV 유용한 기능

Memory Overcommit

None : Memory Overcommit을 사용하지 않음.

Optimized for Server Load : 150% memory over-commit 설정

Optimized for Desktop load : 200% memory over-commit 설정

Workload & Power Savings 정책

Even Distribution : 특정 호스트의 워크로드가 정책 설정 보다 높을 경우, VM을 클러스터 내의 호스트로 Live-Migration을 하여 부하 분산 기능을 제공

Power Saving : 워크로드가 정책 보다 낮을 때 VM을 통합, 전원 절약 기능을 제공

자원 모니터링

Storage, Hosts, VM, Event에 대한 직관적인 실시간 모니터링 제공

Page 32: Virtualization kvm-rhev

32 - Internal Use Only -

OPEN

SHARE

CONTRIBUTE

ADOPT

REUSE