9. 핵심기술 (KVM)
가상머신
어플리케이션
KVM
가상머신
어플리케이션
가상 머신
어플리케이션
Kernel Based virtual Machine
Intel-VT / AMD-V 를 지원하는 x86 프로세서 기반의 Full
Virtualization 입니다
Virtio
각 VM은 각각의 하드웨어를 소유합니다 (NIC, DISK, Graphic
Card 등)
가상 하드웨어 디바이스
KVM에 맞게 변경된 QEMU가 필요합니다
kernel에 kvm.ko라는 모듈이 적재 됩니다
QEMU (가상 하드웨어 에뮬레이션)
벤더에 맞게 kvm-intel.ko 또는 kvm-amd.ko 라는 모듈이 적재
됩니다
리눅스 커널 2.6.20 버전부터 KVM 컴포넌트를 포함하고 있습니다
변형되지 않은 이미지를 가상머신의 OS로 사용가능합니다
Virtio
VM OS는 호스트 OS입장에서 단일 프로세스형태 입니다
KVM
Kernel Samepage Merging 기능으로 중복된 메모리 영역을
제거하므로써 효율적인 VM메모리 관리가 가능합니다
KVM은 오픈소스입니다
9
- Internal Use Only -
10. 핵심기술 (QEMU)
가상머신
어플리케이션
QEMU
가상머신
어플리케이션
가상 머신
어플리케이션
Quick EMUlator
Full Virtualization가상화에서 H/W 환경을 에뮬레이션 합니다
A라는 머신에 있는 B라는 다른머신에서 OS나 프로그램을 실행할
수 있게 합니다
Virtio
가상 하드웨어 디바이스
동적 변환기를 사용하여 VM CPU명령어를 호스트 CPU명령어로
하나씩 변환해서 사용합니다
매우 높은 이식성과 좋은 성능을 보여줍니다
QEMU (가상 하드웨어 에뮬레이션)
Virtio
QEMU는 오픈소스입니다
KVM
10
- Internal Use Only -
11. 핵심기술 (VirtIO)
가상머신
어플리케이션
VirtIO
가상머신
어플리케이션
가상 머신
어플리케이션
KVM 가상화에서 I/O 가상화의 메인 플랫폼입니다
하이퍼바이저의 I/O 가상화를 위한 framework를 가지고 있습니다
가상머신의 블록디바이스와 네트워크 장치의 성능을
향상시킵니다
Virtio
가상 하드웨어 디바이스
KVM을 위한 network / block / balloon 드라이버를 제공합니다
balloon 디바이스는 VM이 실제 사용하는 메모리만큼만 할당하여
효율적인 VM운용이 가능합니다
QEMU (가상 하드웨어 에뮬레이션)
Virtio
VirtIO를 통하여 물리디바이스에 접근 하므로써 성능이 좋습니다
KVM
11
- Internal Use Only -
12. 핵심기술 (libvirt)
libvirt
다양한 하이퍼바이저를 관리할 수 있는 표준화되고 단일화된
어플리케이션 프로그래머블 인터페이스 프로젝트를 가리킵니다
libvirt
가상머신을 생성, 수정, 관리, 모니터링, 마이그레이션, 정지
시키는 등 공통적인 기능들에 대한 AIP를 제공합니다
libvirt 자체로 도구는 아니지만 가상머신을 관리하는 도구를
작성하기위한 API입니다
libvirt
Xen, KVM, QEMU, OpenVz, VirtualBox, VMware 까지 지원됩니다
libvirt
QEMU (가상 하드웨어 에뮬레이션)
libvirt
사용자 인터페이스 툴
12
- Internal Use Only -
13. 핵심기술 (VDSM)
VDSM
oVirt-Engine이나 RHEV 매니저들이 Linux호스트 / KVM가상머신
등을 관리하기 위해서 필요한 가상화 매니저 입니다
일반적으로 호스트의 스토리지나 메모리를 모니터링 및
관리합니다
RHEV-Manager
호스트의 스토리지/메모리/네트워크를 관리하고 모니터링 할 수
있으며, 또한 VM의 생성 및 다른 호스트의 관리 작업창, 로그
수집등이 가능합니다
Host
스토리지 / 메모리 / 네트워크 모니터링
VM
스토리지 / 메모리 / 네트워크 모니터링 & VM 생성
13
- Internal Use Only -
15. 아키텍쳐
가상 리소스 보관
VM / Template / ISOs
외부 디렉토리 서버
유저 및 권한 제공
중앙 집중식 관리
그래픽 인터페이스 제공
RHEV 상태를
지속적으로 추적 및 기록
호스트 KVM 사용
VDSM, QEMU, libvirt 가 호스트에서 동작
VM / Networks / Storage 를 관리
15
- Internal Use Only -
물리네트워크와 논리
네트워크가 연결됨
17. Data Centers
Cluster, Host, VM, VM Pool, Logical Network, Storage Domain, Template 등 논리 리소스 세트입니다
하나의 Data center는 다수의 cluster / host / storage domain / virtual machine 을 포함 가능합니다
Data center 생성시 cluster / host / network resource / 논리 네트웍과 NIC 등의 포함하는 부분을 고려해야 합니다
RHEV는 여러 개의 Data center 소유 가능합니다
17
- Internal Use Only -
18. Cluster
호스트 간에 논리적 그룹을 생성합니다
동일한 스토리지 도메인, 같은 종류의 CPU를 사용하는 것이 좋습니다
모든 cluster는 Data center에 종속적이고, 시스템에 있는 모든 host는 clutser에 종속적입니다
cluster에 속한 host들 사이에서는 VM이 실시간 이동이 가능합니다
전원 및 부하분산 정책중 cluster의 정책이 가장 상위레벨의 정책입니다
18
- Internal Use Only -
19. Logical Network
Logical Network는 Data Center의 모든 네트워크 연결 속성입니다
사용량에 따른 그룹화, 유형, 요구사항 등에 맞춰 최적화가 가능합니다
모든 Data center에는 rhevm이라는 기본 Logical Network가 생성되어 있습니다
모든 vm 트래픽에 대해서 정의할 수 있으며, 여러 개의 Logical Network를 정의할 수 있습니다
rhevm은 host와 RHEV-M 이 통신하기 위한 것입니다
모든 cluster와 host가 작동하기 위해서는 반드시 Logical Network가 필요하다
19
- Internal Use Only -
20. Host
Hypervisor 라고 불리우는 host는 vm이 실행되는 물리적인 서버입니다
Linux KVM을 사용하여 가상화를 제공합니다
Linux VM과 Window VM을 동시에 실행 가능합니다
VM은 host에서 개별적인 프로세스와 쓰레드로 실행되며, RHEV-M으로 관리가 가능합니다
Host는 RHEVH 미디어로 설치하는 방법과 RHEL에 Hypervisor 패키지를 추가하는 방법으로 설치가 가능합니다
RHEV Hypervisor Host
RHEL Host
20
- Internal Use Only -
21. Storage
RHEV는 VM DISK 이미지, ISO파일, snapshot 등을 저장하기 위해 중앙저장소 시스템을 사용합니다
중앙저장소는 iSCSI / Local Disk / Other POSIX / Fibre Channel Protocol 등이 사용 가능합니다
Storage Domain이 연결되고 활성화 되지 않으면 Data Center를 시작할 수 없습니다
Admin Portal의 Storage 탭에서는 모든 Storage Domain의 자세한 정보를 확인할 수 있습니다
Data Domain
ISO Domain
Export Domain
VM Disk, VM의 OVF, template, snapshot
보관
VM에 OS / AP 설치를 위한 ISO 보관
여러 Data Center에서 공유 불가능
ISO Domain은 Data Center 간에 공유가
가능
VM 백업시 사용하는 저장소
NFS를 사용
2개 이상의 Data Center에서 동시에 사용
불가능
Data Center와 Data Domain은 같은 타입
사용
ISO Domain이 물리미디어를 대체
RHEV와 Data Center사이에 사용하는 임시
저장소
Data Center 사이에 이동이 가능
NFS를 사용
21
- Internal Use Only -
22. Virtual Machine
소프트웨어 기반의 컴퓨터입니다
RHEV환경에서 가상의 데스크탑과 서버를 만들수 있습니다
VM은 컴퓨팅 환경 및 워크로드를 통합시켜 드립니다
VM은 관리자와 하드웨어의 수요를 줄여주며, 단일 작업환경에서 수행할 수 있습니다
Linux / Windows 및 다양한 운영체제를 지원합니다
RHEV Hypervisor
VM1대 기준 최대 값
RHEL 3 (32bit / 64bit)
가상 CPU 160개
RHEL 4 (32bit / 64bit)
가상 RAM 2TB
RHEL 5 (32bit / 64bit)
가상 STORAGE
8개
Linux VM
RHEL 6 (32bit / 64bit)
가상 NIC 8개
가상 PCI 32개
Win XP sp3 (32bit)
Win 7 (32bit/64bit)
Win 8 (32bit/64bit)
Windows VM
Windows Server 2003 sp2
(32bit/64bit)
Windows Server 2008
(32bit/64bit)
Storage
Windows Server 2008 R2 (64bit)
Windows Server 2012 R2 (64bit)
22
- Internal Use Only -
23. Template
이미 설치^설정된 VM의 복사본입니다
완성된 Template을 통하여 똑같은 VM을 손쉽게 생성할 수 있습니다
Template를 통해서 생성된 VM은 설치된 소프트웨어, 소프트웨어 설정, 하드웨어 설정 등 원래 VM은 모든 값이
동일합니다
Template으로 VM을 만들때 Template과 같은 NIC를 생성하지만, 고유의 MAC주소를 부여합니다
Template 으로 생성된 VM에 추가 설정
후 새로운 Template 생성
Template 1
Template 2
소스 VM
설치된
소프트웨어
소프트웨어 설정
하드웨어 설정
Template 3
동일한 소프트웨어
동일한 소프트웨어 설정
Data Domain
23
- Internal Use Only -
동일한 하드웨어 설정
유일한 값의 MAC
대상 VM
24. VM Pools
VM Pool을 이용해서 사용자에게 동일한 VM을 빠른시간안에 배포할 수 있습니다
Pool 에서 VM을 사용할 수 있는 권한을 가진 사용자는 요청된 큐에 의해서 VM을 할당 받을 수 있습니다
Pool에 있는 VM의 데이터는 재부팅시에 보존되지 않으므로 스토리지 중앙저장방식의 구조에 적당합니다
시스템 리소스 관리가 용이하며 스토리지 비용을 들이지 않고 각각의 가상화면을 제공하는 효율적인 방법입니다
VM Pool은 Template 으로 생성합니다
Linux VM
Linux VM Windows VM
VM 1
평상시
업무량 증가
Windows VM
VM 2
추가VM할당
24
- Internal Use Only -
업무처리
추가VM회수
25. Virtual Machine Disk
VM Disk 타입에는 Preallocated와 Thin Provisioning이라는 두가지 타입이 존재합니다
NFS는 파일 형태로 생성되며, SAN (iSCSI, FCP)은 블럭디바이스 형태로 생성됩니다
Preallocated
Preallocated
Thin Provisioning
적
디스크 성능이
중요한 VM
Disk I/O 가
많지 않은 VM
스토리지 사용
VM Disk 만큼
할당
사용하는
파일만큼 할당
높음
낮음
Disk 생성
속도
느림
빠름
스토리지
활용도
낮음
높음
허 용 된
조 합
NFS – RAW
SAN - RAW
SAN – Qcow2
NFS – RAW
NFS – Qcow2
SAN – Qcow2
목
스토리지
실제 사용량
성
Thin Provisioning
스토리지
실제 사용량
미사용 영역
25
- Internal Use Only -
능
27. Hypervisor 요구사항
최소 1개의 물리 CPU
root 파티션은 최소 512MB 필요
Intel VT 또는 AMD-V 지원 CPU
Configure파티션은 최소 8MB 필요
CPU 종류
logging 파티션 최소 권장크기 2048MB
•AMD Opteron G1
data 파티션 최소 크기 256MB
•AMD Opteron G2
swap partition 가이드
•AMD Opteron G3
•4G이하 RAM – 2G swap partition
•Intel Conroe
•4~16G RAM – 4G swap partition
•Intel Penryn
•16~64G RAM – 8G swap partition
•Intel Nehalem
•64~256G RAM – 16G swap partition
•Intel Westmere
최소 2GB의 RAM
최대 2TB까지 지원
최소 1Gbps 대역폭의 NIC 카드가
필요
RAM용량 선택시 고려할 부분
•VM의 요구사항
•VM의 어플리케이션 요구사항
27
- Internal Use Only -
29. Hypervisor 설치
RHEV-Hypervisor 설치 DVD가 필요합니다
VM에는 설치할 수 없으며, 물리서버에만 설치가 가능합니다
USB로 설치, PXE를 통한 자동 설치가 지원됩니다1
RHEV-H Media로 부팅한 화면
29
- Internal Use Only -
30. Hypervisor 설치
직관적이며 간단한 메뉴를 통하여 설치를 진행할 수 있습니다
1단계 – Hypervisor 설치 화면
2단계 – 키보드 언어 설정
3단계 – Hypervisor 부팅 디스크 설정
4단계 – Hypervisor 디스크 파티션 설정
30
- Internal Use Only -
31. Hypervisor 설치
디스크 파티셔닝 및 패키지 설치 시간도 짧은 시간안에 완료됩니다
5단계 – 로컬 admin 암호 설정 화면
6단계 – 파티셔닝 및 설치
7단계 – 설치 완료 및 재부팅
31
- Internal Use Only -
32. Hypervisor 설정
설치가 완료되면 아래 사진과 같은 설정창이 보여집니다
항목별로 Hypervisor의 설정에 맞게 설정하면 됩니다
Network, Security 부분에서 암호 설정이 필수 입니다
Status : Hypervisor 의 전반적인 상태 요약
Network : Hypervisor의 Network 설정
Security : 원격 접속 및 암호 설정
Keyboard : 키보드 레이아웃 설정
32
- Internal Use Only -
33. Hypervisor 설정
설치가 완료되면 아래 사진과 같은 설정창이 보여집니다
항목별로 Hypervisor의 설정에 맞게 설정하면 됩니다
Remote Storage는 RHEV-H가 클라이언트 입장에서 연결된 리모트 스토리지에 대한 정보를 입력합니다
SNMP : SNMP 설정
Logging : Hypervisor 로그 생성 설정
Kernel Dump : kdump 설정
Remote Storage : 원격 스토리지에 대한 설정
33
- Internal Use Only -
34. Hypervisor 설정
설치가 완료되면 아래 사진과 같은 설정창이 보여집니다
항목별로 Hypervisor의 설정에 맞게 설정하면 됩니다
RHEV-M은 RHEV-Manager 서버가 설치가 되어야 연동이 정상적으로 됩니다.
CIM : CIM 연동 설정
RHEV-M : RHEV-M 서버 연동 설정
Plugins : Hypervisor 설치 이전에 수정된 노드에
대한 정보 확인
Red Hat Network : RHN 등록 설정
34
- Internal Use Only -
36. Manager 요구사항
최소 1개의 듀얼코어 CPU
최소 1Gbps 대역폭의 NIC 카드가 필요
쿼드코어 / 2개이상의 듀얼코어
CPU를 권장
최소 4GB의 RAM
16G의 RAM 권장
Red Hat Enterprise Linux
Server 6.3 또는 이후 버전
최소 25GB의 로컬 디스크
50GB의 로컬 디스크 권장
36
- Internal Use Only -
38. Manager 설치
RHEL 6.3버전 이상의 OS가 미리 설치되어 있는 매니저 머신이 필요합니다
1단계
RHEL 6.3 버전 이상의 머신 준비
2단계
RHN 등록 및 Channel 등록
3단계
yum을 통한 모든 패키지 업데이트
4단계
yum을 통한 manager 패키지 설치
38
- Internal Use Only -
39. Manager 설치
RHN 에 등록 및 서브스크립션 채널을 등록합니다
1단계
RHEL 6.3 버전 이상의 머신 준비
# rhn_register
# rhn-channel --add --channel=rhel-x86_64-server-6
2단계
# rhn-channel --add --channel=rhel-x86_64-serversupplementary-6
RHN 등록 및 Channel 등록
# rhn-channel --add --channel=rhel-x86_64-server-6rhevm-3.2
3단계
yum을 통한 모든 패키지 업데이트
4단계
# rhn-channel --add --channel=jbappplatform-6x86_64-server-6-rpm
yum을 통한 manager 패키지 설치
39
- Internal Use Only -
40. Manager 설치
yum을 통하여 모든 패키지를 업데이트 합니다
1단계
RHEL 6.3 버전 이상의 머신 준비
# yum upgrade
2단계
RHN 등록 및 Channel 등록
3단계
yum을 통한 모든 패키지 업데이트
4단계
yum을 통한 manager 패키지 설치
40
- Internal Use Only -
41. Manager 설치
yum을 통하여 모든 패키지를 업데이트 합니다
1단계
RHEL 6.3 버전 이상의 머신 준비
# yum install rhevm
2단계
RHN 등록 및 Channel 등록
3단계
yum을 통한 모든 패키지 업데이트
4단계
yum을 통한 manager 패키지 설치
41
- Internal Use Only -
42. Manager 설정
rhevm 패키지 설치가 끝난 후 진행합니다
실제로 가장중요한 작업입니다
5단계
rhevm-setup 설정 진행
42
- Internal Use Only -
43. Manager 설정
전 단계에서 모든 설정이 완료되면 마지막으로 설정을 다시 확인하는 화면이 표시됩니다
설정 부분이 맞는지 확인하고 선택하면 됩니다
6단계
rhevm-setup 설정 요약화면
43
- Internal Use Only -
44. Manager 설정
설정에 맞게 설치가 진행되며, 하단의 추가내용까지 확인하면 설치는 완료되었습니다
7단계
rhevm-setup 완료 화면
44
- Internal Use Only -