Download presentation
Presentation is loading. Please wait.
1
Xen and the Art of Virtualization
Mobile Lab. 임규찬
2
Xen? University of Cambridge Computer Lab. (2003) 오픈소스 기반 반가상화 솔루션
가상머신의 격리(Virtual machines must be isolate from another) 다양한 OS 제공(To support a variety of different OS) 오버헤드 최소화(The performance overhead should be small) 무엇을 가상화하여 어떻게 사용할것인가?
3
Xen 활용법???????????????????? 가상의 여자친구 제작 가능 신체의 가상화 영혼의 가상화 정신의 가상화
시간의 가상화 공간의 가상화 ETC
4
Xen 활용법 Xen은 가상 머신 모니터로써, 다음 응용이 가능함 가상화란 무엇인가? Server Consolidation
Co-located Hosting Facilities Distrbuted Web Service Secure Computing Service ETC… 가상화란 무엇인가?
5
Virtualization? 컴퓨터 자원의 ‘추상화’를 일컫는 용어
물리 자원의 추상화를 통한 논리 자원의 형태로 표시 가능 다중 논리 자원으로 기능하는 단일 물리 자원 단일 논리 자원으로 기능하는 다중 물리 자원 Xen은 반가상화(Para-Virtualization)기술 기반
6
Para-Virtualization? 전가상화와 반대되는 개념 전가상화 (Full-Virtualization)
시스템의 완전한 가상화를 통한 에뮬레이션 성능상의 문제 발생(Binary Translation) 반가상화(Para-Virtualization) 가상화가 적용된 Kernel을 이용한 가상화. Kernel의 개조가 필요함 Closed-Source의 구동 불가능
7
Xen Approach&OverView
모든 표준 ABI가 요구하는 아키텍처의 가상화 어플리케이션의 수정 없이 실행 가능 Full multi-application OS 지원 복잡한 서버 구성도 단일 게스트 운영체제로 가상화 가능 높은 성능과 리소스 분리를 위한 반가상화 필수 전가상화에 비하여 높은 성능을 얻을 수 있음 자원 가상화를 완전히 숨기지 않는다 정확성과 성능에 위험함
8
Virtual Machine Interface Memory Management
X86의 경우 Software-Managed TLB가 없음 많은 Guest OS로 인한 TLB Flush가능성 증가 메모리 참조시 Page Fault로 인한 성능 하락 우려 있음 Page Fault Decision Guest OS has direct read access to hardware page tables, but updates are batched and validated by the hypervisor. A domain may be allocated discontiguous machine pages Segmentation Fault Decision Cannot install fully-privileged segment descriptors and cannot overlap with the top end of linear address space
9
Virtual Machine Interface CPU
Guest OS는 하이퍼바이저보다 낮은 특권을 가짐 OS의 오작동으로부터 하이퍼바이저 보호의 필요 특권 Ring을 통한 특권 제어
10
Virtual Machine Interface Device I/O
비동기 I/O ring에 의한 데이터 전송기법 사용 하드웨어 에뮬레이터에 비교하여 자원의 보호/분리에 효율적인 기법 모든 데이터 전송은 Xen에 의하여 관리됨 경량화된 이벤트 전송 메커니즘 사용
11
The Cost of Porting an OS to Xen
반가상화 수행을 위하여, Kernel수정이 필요함 리눅스가 WinXP에 비하여 쉽게 수정이 가능함.
12
Control and Management
separate policy from mechanism 하이퍼바이저는 기본적인 기능만을 보유함 GuestOS에 의한 전체적인 관리가 필요함 Domain0 control interface 부팅시 자동으로 실행되는 첫번째 Domain 시스템의 모든 하드웨어를 제어 DomainU 관리
13
Control Transfer 가상 머신 제어를 위한 Hypercall/Event 사용 Hypercall Events
Domain Domain Domain Hypercall Synchronous call Perform a software trap / privileged operation Events Asynchronous event Notifications / Device interrupt Xen Hypervisor
14
Data Transfer Hypervisor는 OS와 I/O사이에 보호 영역을 생성 I/O Rings
적은 오버헤드로 시스템 사이를 움직여야만 함 I/O Rings Domain에 의해 할당 Xen 내부에서 접근 가능함. 공급자/소비자 포인터 한 쌍 에 의한 I/O연산 제어
15
Subsystem Virtualization
CPU scheduling Borrowed Virtual Time scheduling algorithm 각 Domain에 대한 스케줄링 알고리즘 Time and Timers Real time – 부팅 이후의 ns, 프로세서 카운터 virtual time – 한 도메인의 실행 시간 wall-clock time – Real time에 더해지는 Offset
16
Subsystem Virtualization
Virtual Address Translation 가상 페이지 테이블을 각 Domain에 제공 Physical Memory Balloon Driver를 통한 메모리 관리 메모리 사용량을 반영한 메모리 할당
17
Subsystem Virtualization
Network Virtual Firewall Router(VFR) 추상화 각 도메인은 Network Interface(VIF)를 VFR에 첨부시킴 VIF에는 두개의 I/O Ring Buffer descriptor존재 각 Direction에 (<pattern>,<action>) 규칙 리스트 존재 Domain0에 의한 규칙의 삽입/삭제 수행
18
Subsystem Virtualization
Disk Domain0의 Virtual Block Device생성을 통한 Disk 관리 DomainU에서는 VBD를 통해서만 저장장치 접근이 가능 소유권과 액세스 제어 정보를 이용하여 범위 리스트 작성 I/O Ring과 유사한 메커니즘 보유
19
Building a New Domain Domain0에 의한 Domain생성 Hypervisor 복잡성 감소 및 견고성 개선 Building process can be extended and specialized to cope Domain0의 시스템 진단과 디버깅 자원을 이용
20
Relative Perfomance User-Mode Linux : 리눅스 커널을 프로세스로 실행한 것
21
OS Benchmarks
22
Concurrent Virtual Machine
23
Concurrent Virtual Machine
24
출처 Xen (http://www.xen.org ) Xen WiKi ( http://wiki.xen.org )
KLDP( Wikipedia (주)나우콤 – Xen 설치 및 사용 보고서(PDF)
Similar presentations