공개 SW 솔루션설치 & 활용가이드 시스템 SW > 가상화 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide
CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리
- 3-1. 개요 소개 주요기능 Xen은대표적인반가상화 (Para Virtualization) 하이퍼바이저 (hypervisor) 리눅스커널에서사용할수있는공개SW 기반가상화소프트웨어 Xen을사용하면시스템의주장치드라이버를가상컴퓨터내부에서실행가능하며, 시스템의나머지부분에영향을미치지않고드라이버장애시 VM 재부팅가능그리고반가상화지원 Xen 하이퍼바이저는마이크로커널디자인을사용하여약 1MB 크기의공간을차지하며, 작은메모리공간과게스트와의제한된인터페이스로인해다른하이퍼바이저보다강력하고안전 대분류 시스템 SW 소분류 가상화 라이선스형태 GNU GPL v2 사전설치솔루션 centos-release-xen-8-1.el7.x86_64 kernel-4.9.39-29.el7.x86_64 운영제제 Linux 및기타 Unix 계열, *BSD Open Solaris ( 호스트및게스트 ) microsoft window ( 게스트 ) 버전 4.9.x 특징 보안취약점 매우높은퍼포먼스가상화지원 / 오픈소스 OS 지원및무료사용가능 Solaris, BSD, window 등의운영체제지원 취약점 ID : CVE-2018-12893 심각도 : 6.5 MEDIUM(V3) 취약점설명 : 로컬서비스거부 (denial-of-service) 취약점발견 대응방안 : x86 HVM 또는 PVH 게스트만실행하면취약점이방지 참고경로 : http://xenbits.xen.org/xsa/advisory-265.html 개발회사 / 커뮤니티 Xen.org Community 공식홈페이지 http://www.xenproject.org
- 4-2. 기능요약 주요기능 Xen 을사용하면시스템의주장치드라이버를가상컴퓨터내부에서실행할수있다. 시스템의나머지부분에영향을미치지않고드라이버장애, 고장이발생하면 VM 을재부팅할수있다. 반가상화를지원한다. Xen 하이퍼바이저는마이크로커널디자인을사용하여약 1MB 크기의공간을차지한다. 작은메모리공간과게스트와의제한된인터페이스로인해 Xen 은다른하이퍼바이저보다강력하고안전하다. 매우높은퍼포먼스가상화를지원한다. 오픈소스 OS 지원및무료로사용가능하다. Solaris, BSD, window 등의운영체제를지원한다. 재부팅을통한소프트웨어장애에대한동적결함을허용한다.
- 5-3. 실행환경 1. OS CentOS Linux release 7.3.1611 (Core) 환경 2. 사전설치솔루션 centos-release-xen-8-1.el7.x86_64 kernel-4.9.39-29.el7.x86_64 3. Xen package xen-4.9.39-29.el7.x86_64 xen-hypervisor-4.9.39-29.el7.x86_64
- 6-4. 설치및실행 세부목차 4.1 Enable Centos Xen Repository 4.2 Update kernel 4.3 Install Xen 4.4 Configure GRUB to start Xen Project and Reboot 4.5 Verify that Xen is running using
- 7-4. 설치및실행 4.1 Enable Centos Xen Repository Xen 저장소활성화를위한저장소추가 -> yum y install centos-release-xen sed -i -e s/enabled=1/enabled=0/g /etc/yum.repos.d/centos-xen.repo
- 8-4. 설치및실행 4.2 Update kernel kernel 버전 update -> yum --enablerepo=centos-virt-xen y update kernel
- 9-4. 설치및실행 4.3 Install Xen Xen 설치 -> 저장소를활성화했기때문에 yum 으로 xen 을설치할수있다. -> yum --enablerepo=centos-virt-xen y install xen
- 10-4. 설치및실행 4.4 Configure GRUB to start Xen Project and Reboot grub에 Xen hypervisor 이식 -> Xen package를설치하면이를위한커널도새롭게설치되는데, 여기에 xen hypervisor를부팅시에적재되도록수정해야한다.( 스크립트로제공한다.) -> /bin/grub-bootxen.sh
- 11-4. 설치및실행 4.5 Verify that Xen is running using(1/2) 재부팅하면 Xen 이설치및적재된것을확인가능하다.
- 12-4. 설치및실행 4.5 Verify that Xen is running using(2/2) Xen 확인 -> xl info
- 13-5. 기능소개 세부목차 5.1 Domain List 확인 5.2 Domain 중지 5.3 Domain 재실행 5.4 특정 Domain CPU 변경 5.5 특정 Domain Disk Size 변경
- 14-5. 기능소개 5.1 Domain List 확인 Domain List 확인 virsh list, xl list 명령어를통해 Domain 상태를확인할수있다.
- 15-5. 기능소개 5.2 Domain 중지 Domain 중지 destroy [domain] 명령어를통해 Domain 을중지할수있다.
- 16-5. 기능소개 5.3 Domain 재실행 Domain 재실행 start [domain] 명령어를통해 Domain 을재실행할수있다.
- 17-5. 기능소개 5.4 특정 Domain CPU 변경 특정 Domain CPU 변경 xl vcpu-set [domain] [cpu count] 명령어를통해 CPU 재할당가능하다.
- 18-5. 기능소개 5.5 특정 Domain Disk Size 변경 (1/2) 특정 Domain Disk Size 변경 아래명령어를통해 Disk Size 변경가능하다.
- 19-5. 기능소개 5.5 특정 Domain Disk Size 변경 (2/2) 특정 Domain Disk Size 변경 아래명령어를통해 Disk Size 변경확인한다.
- 20-6. 활용예제 세부목차 6.1 예제소개 6.2 VM Image 생성 6.3 Guest OS 설치 6.4 Guest OS 확인
- 21-6. 활용예제 6.1 예제소개 본예제는 Xen 을사용하여가상화시스템구성을목표로한다.
6. 활용예제 6.2 VM Image 생성 VM Image 생성 virt-install 명령어를통해 Image 파일을생성할수있다. - 22 -
6. 활용예제 6.3 Guest OS 설치 Guest OS 설치 Guest OS 설치화면 ( 일반 OS 설치와동일하다.) - 23 -
6. 활용예제 6.4 Guest OS 확인 Guest OS 확인 virsh list, xl list 명령어를통해확인가능하다. - 24 -
- 25-7. FAQ Q Xen 프로젝트하이퍼바이저란무엇입니까? & A Xen 프로젝트하이퍼바이저는 x86 호환컴퓨터용가상컴퓨터모니터 (VMM) 입니다. 하이퍼바이저는각기고유한 OS를실행하는여러개의가상시스템을고유한성능에가깝게단일물리적시스템에서안전하게실행할수있습니다. Q Xen 프로젝트가마이크로소프트 Windows를지원합니까? & A 고성능을얻기위해사용하는반가상화방식은 Windows에서직접사용할수없었습니다. 그러나 Xen 3.0은하드웨어가상화기술을사용하여 Windows XP 및 2003 Server를포함한게스트운영체제를실행할수있도록 Intel VT-x 지원을추가했습니다.
- 26-8. 용어정리 용어 하이퍼바이저 (Hypervisor) 반가상화 (Para- Virtualization) 커널 (Kernel) 설명 프로세서나메모리와같은다양한컴퓨터자원에서로다른각종운영체계의접근방법을통제하는소프트웨어이다. 다수의 OS 를하나의컴퓨터시스템에서가동할수있게하는소프트웨어로중앙처리장치와 OS 사이에일종의미들웨어로사용되며, 하나의컴퓨터에서서로다른 OS 를사용하는가상컴퓨터를만들수있는효과적인가상화엔진이다. 하드웨어를완전히가상화하지않는방식이다. GuestOS 가직접하드웨어를제어하는것이아니라, 하이퍼바이저를통해제어하기에높은퍼포먼스를유지한다. 반가상화를구성하기위해서게스트 GuestOS 의커널일부분을수정해야한다. 전가상화방식보다오버헤드가낮다. 리눅스커널 (Linux kernel) 은유닉스계열운영체제의커널이다. 커널에는종료된입출력연산등, 커널의서비스를경쟁적으로요구하는모든요청들을처리하는인터럽트처리기와, 어떤프로그램들이어떤순서로커널의처리시간을공유할것인지를결정하는스케줄러, 그리고스케줄이끝나면실제로각프로세스들에게컴퓨터의사용권을부여하는슈퍼바이저등이포함된다. 커널은또한, 메모리나저장장치내에서운영체계의주소공간을관리하고, 이들을모든주변장치들과커널의서비스들을사용하는다른사용자들에게고루나누어주는메모리관리자를가지고있다. 커널의서비스는운영체계의다른부분이나, 흔히시스템호출이라고알려진일련의프로그램인터페이스들을통해요청한다.
Open Source Software Installation & Application Guide 이저작물은크리에이티브커먼즈 [ 저작자표시 비영리 동일조건변경허락 2. 0 대한민국라이선스 ] 에따라이용하실수있습니다.