3 min to read
[Cloud]7. 가상화 기술 비교 및 Xen 실습
[1. Virtual Machines]
Virtual Machines
- 가상화 레이어는 하드웨어와 OS 사이에 위치
- 여러 OS가 하나의 하드웨어 위에서 동시에 수행될 수 있는 구조
- 여러 OS들은 같을수도 있고 다를수도 있다
- 각각의 가상머신들은 하드웨어 리소스를 쓸 때 고립되어 있는 것처럼 서로가 인지하지 못함
- VMM이나 Hypervisor 들이 가상화를 가능하게 해줌
- 가상화를 위해서 오버헤드를 최소한으로 줄여야 함 (Invel VT는 모니터링을 하드웨어 자체에서 지원해줌. AMD-V도 오버헤드를 최소한으로 하기 위한 칩들이 제작되고 있다 )
The idea has caught on
- 이 아이디어는 1972 IBM 370에서 나온 아이디어임
- Sun’s VirtualBox
- Vmware ESX Server
- MS Hyper-V
- Xen
Why only use 1 machine?
- Hypervisor는 클러스터나 여러개의 서버에서 운영될 수 있다
- Hypervisor는 가상환경을 머신에서 다른 머신으로 이동할 수 있다
- 이것은 200ms밖에 소요되지 않으며 사용자는 지연을 느낄 수 없다
Scalability and Robustness(확장성과 견고성)
- 로드밸런싱을 쉽게 할 수 있음
- 여러개의 하드웨어를 추가하면서 더 좋은 성능을 낼 수 있다
- 클러스터들을 트리로 구성함으로서 고 성능을 낼 수 있다.
- 한 머신이 바쁠 경우 부하를 바쁘지 않은 머신에게 옮겨서 일을 효율적으로 수행할 수 있다.
- 머신이 불안정한 상태가 되었을 때(파워 종료 등) 프로세스를 다른 곳으로 Mig 할 수 있다.
[2. Introduction of Hypervisor]
Hypervisor란 무엇인가?
- 한 컴퓨터에서 여러개의 OS가 동시에 동작할 수 있도록 제공해주는 기술
- Type 1 Hypervisor(Native of Bare Metal)
- 호스트 상에서 Guest OS를 바로 수행시킴
- Ctrix XenServer, VMware ESX/ESXi, MS Hyper-V
- Type 2 Hypervisor(Hosted)
- 한개의 OS가 있고 그 위에 Hypervisor를 올리고 그 위에 Guest OS를 올림
- KVM, VirtualBox
- Xen은 Xen4.0부터 반가상화뿐만 아니라 전가상화도 지원함
Full virtualization(전 가상화)
- 가상머신이 Guest OS와 HW 사이에 있음
- HW를 완전히 가상화시켜서 어떤 타입의 OS도 지원 가능하다
- 어떤 명령어도 hypervisor에 의해 관리되어야 한다
- 성능이 느리다
Paravirtualization(반 가상화)
- Guest OS가 Hypervisor와 Hypercall을 사용하여 직접 통신
- OS는 그에 부합하는 Hypervisor로 재설정해야 함
- Native 성능의 90%정도 발휘됨
- 전가상화 < 반가상화
Xen Hypeprvisor
- Paravirtualization(반가상화)
- Dom0(Secure Domain) 는 모든 하드웨어를 다룰 수 있는 특권이 있는 domain이다
- x86, x86-64, ia64, PPC 등을 지원
- Live Migration VMs를 지원(실시간으로 VM 을 옮겨주는 것)
VMware ESXi
- Full virtualization(전 가상화)
- Service Console(Console OS)라 불리는 리눅스 OS에 의존.
- 스크립트 수행, 인스톨, 하드웨어 모니터링, 백업, 시스템 관리 등의 기능 수행
Hyper-V
- Full virtualization(전 가상화)
- 윈도우 서버 2008 R2와 함께 있는 Stand-alone 제품
- Live Migration 지원
[2. Xen Hypervisor]
IO hosting
- Hypervisor가 다양한 리눅스 지원
- 각각의 Logical Partition을 가지고 있고 하드웨어 리소스를 각각 할당해서 사용
- Isolation 기술 지원 필요
**Device Partitioning with IOMMU
Self virtualizing devices
[3. Xen Server]
XenServer 소개
- XenServer는 오픈소스에 반가상화 기술 사용. 좋은 성능을 보여줌
- 윈도우와 리눅스 가상 서버를 위해 최적화
- OS와 상관없이 서버에서 수행됨
- XenServer에서 다른 VM을 만들고, snapshot하고, mig하는 기능 등이 있다
XenServer 이점
- 비용절감
- 물리서버에서 여러 VM을 구성
- disk 이미지의 수를 줄일 수 있음
- 네트워크와 스토리지를 활용하여 통합을 쉽게 할 수 있다
- 유연성 증대
- XenServer 호스트 간 Xen Motion을 활용하여 zero downtime maintenance 가 가능하다
- 가상머신의 가용성을 증가시킴
- VM Images의 이식성도 증가시킴
XenServere System 요구사양
- 최대 128GB 지원
- 최대 6개 NIC 지원
- 최대 32개 Logical Processor 지원
- CPU : 64 bit x86 CPUs, 최소 1.5GHz, 2GHz 이상의 멀티코어 CPU
- RAM : 1G ~ 2G 권장
- HDD : 다양한 스토리지 지원, 60GB 이상 추천
- 네트워크 : Gigabit NIC 권장
[3. Practice - Xen Server Install]
XenServer Installation
- Installing by CD
- PXE booting(Pre Executable Environment)
*출처 :
- 클라우드 컴퓨팅 핵심기술 요소의 이해 사내교육 참고
Comments