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

Virtualization kvm-rhev

Embed Size (px)

DESCRIPTION

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.

Citation preview

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