virtualization kvm-rhev
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.TRANSCRIPT
오픈소스컨설팅
김익한
Virtualization, KVM and RHEV
Certified Partner by
2 - Internal Use Only -
목차
가상화 기술
KVM 관리 방법 RHEV 소개 및 특징
Red Hat 가상화 구축 사례
가상화 기술
4 - Internal Use Only -
가상화 개요
컴퓨터 리소스의 물리적인 특징을 추상화하여 사용자에게 논리적 리소스를
제공하며, 이를 통하여 다양한 기술적/관리적 이점들을 제공하는 기술
가상화는 1960년 메인프레임 시절부터 활용
현재 주목 받는 이유
- 친환경
- 저전력
가상화의 범위
- 서버 가상화
- 데스크탑 가상화, etc
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
6 - Internal Use Only -
X86 아키텍처의 가상화
Hypervisor는 ring 0에서 실행되어야 함
Virtual machines은 ring 3에서 실행
VM의 OS 커널은 특권 모드 0에서 명령을 실행 하려고 함
- 여기서 machine fault를 유발 함
VMware에서 “Binary translation”으로 이 문제를 처음 해결
- VM의 Guest OS에서 CPU에 직접 전달 해야 하는 과정을 에뮬레이션화
7 - Internal Use Only -
가상화 방식 분류
Full virtualization – Software based
- 에뮬레이터된 하드웨어로 가상머신 생성
- OS에는 일반적인 하드웨어 제공
- Virtual BIOS, Network card, Storage Controller, etc
장점
- "Guest OS”가 가상화인지 인지하지 않음 - OS 미수정
단점
- 성능 - 하드웨어 요소를 에뮬레이터하는 소프트웨어 사용
Examples: VMware ESX, ESXi
8 - Internal Use Only -
가상화 방식 분류
Para-virtualization
- 가상화를 인지 할 수 있도록 Guest OS 수정
- Guest OS kernel 에 ring 0 모드로 접근 하지 못하게 설정
- Guest OS는 하이퍼바이저와 연동
- OS(Dom-0)는 에뮬레이션 계층 대신 하이퍼바이저와 직접 통신
장점
- 고성능 - 단일 서버 성능에 가까움
- 향상된 I/O 리소스 리소스 스케줄링을 제공하기 위해 하이퍼바이저와 상호 연동 됨
단점
- Guest OS의 kernel이 수정 가능 해야 함
- VM을 위한 또 다른 커널이 필요
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
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)
11 - Internal Use Only -
Kernel Based Virtual Machine (KVM)
3세대 하이퍼바이저 가상화
- Full Virtualization 방식
일반적인 리눅스 커널을 사용
- 안정적이고 신뢰성 있는 기업용 커널을 사용
- Guest OS 커널 소스 수정 미수정
현재 X86 H/W 기반으로 설계
- Binary translation 불필요
- Paravirtualization kernels 불필요
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
13 - Internal Use Only -
KVM 아키텍처
KVM 아키텍처
- vCPU, NIC Drivers, Storage Controller 장치들은 KVM 모듈에서 제어
14 - Internal Use Only -
KVM 의 하이퍼바이저 타입은?
Hypervisor는 종종 type 1 또는 type 2로 분류
- Type 1 - Bare metal 하이퍼바이저
하드웨어 위에 바로 부팅
- Type 2 - Hosted 하이퍼바이저
OS 위에서 동작
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.
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는 활성화 되지 않음
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는 이미 신뢰성있고 안정된 플랫폼
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)
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
KVM 관리 방법
21 - Internal Use Only -
Management - virt-manager
RHEL 5.4 / CentOS 5.4 이상부터 기능 지원
virt-manager
- KVM 및 Xen 지원
- QEMU/KVM 및 Xen에 연결
- GUI 환경에서 동작
확장 기능
- Storage Pools, etc
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 디렉토리에 각 프로파일별 스크립트들이 있음
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 제품 포트폴리오
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로 확장 가능
26 - Internal Use Only -
Red Hat Enterprise Virtualization 아키텍처
RHEV는 엔터프라이즈용 오픈소스 가상화 플랫폼
- Project: oVirt / KVM
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 관리 툴
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을 이용한 대시보드 기능 제공
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 등 원하는 계정관리 시스템과의 연동 및 구현 기능
30 - Internal Use Only -
사용자 인터페이스 & Reporting Dash Board
User Potal
Basic View Extended View
RHEV Reporting Portal
- Historical usage, trending, quality of service 데이터 로깅
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에 대한 직관적인 실시간 모니터링 제공
32 - Internal Use Only -
OPEN
SHARE
CONTRIBUTE
ADOPT
REUSE