강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

리눅스마스터1급 : 리눅스 가상화 서비스 Xen 서비스 구축

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 리눅스 가상화 서비스 Xen 서비스 구축

 

 




1) XEN 설치

 

앞에서 설명한 것과 같이 Xen은 크게 2가지 모드를 지원한다.

 

 

 

전가상화 및 반가상화가 그것이다.

 

 

 

2가지 모두 Xen을 지원한는 커널이 있어야 한다.

 

 

 

전가상화의 경우는 CPU에서 가상화를 지원해야 한다.

 

 

 

컴퓨터의 CPU가 가상화를 제공하는지는 CPU 제조사 사이트의 CPU 스펙을 통해서 확인할 수 있으며, 다음 리눅스 명령어를 통해서도 확인할 수 있다.

 

 

 

 

 

 

 

 

 

[root@SULinux-Virt ~]# egrep "vmx|svm" /proc/cpuinfo

 

 

 

 

 

 

 

위 명령은 CPU정보를 담고있는 cpuinfo 파일에서 "vmx" 또는 "svm" CPU 플래그를 확인한 것이다.

 

 

 

둘 중하나는 있어야 가상화를 지원하는 CPU라고 볼 수 있다.

 

 

 

만약 플래그가 확인 되었는데도 Xen이 작동하지 않는다면, BIOS에서 CPU 가상화 기능을 활성화 해 주어야 한다.

 

 

 

 

Xen은 지금도 많이 사용하고 있는 RHEL5 및 그 기반 리눅스 배포판에 기본 탑제되어 있다.

 

 

 

최근 리눅스 배포판에 KVM을 기본 하이퍼바이저로 포함하는 경우가 많기 때문에 Xen을 기본 하이퍼바이저로 포함하고 있는 RHEL 기반 리눅스 배포판을 사용하여 설치해 보도록 하자. 패키지 관리도구인 yum을 통해 Xen과 관련 프로그램을 설치 해 보도록 하자.

 

 

 

 

 

 

 

[root@SULinux-Virt ~]# yum groupinstall "Virtualization"

 

 

 

 

 

 

 

yum의 패키지그룹을 설치할 수 있는 기능을 이용하여 가상화패키지 그룹을 설치한다.

 

 

 

어떤 패키지가 설치되는지 확인해 보자.

 

 

 

Virtualization 그룹

 

- kernel-xen : Xen관련 소스가 커널에 패치된 리눅스 커널- xen : Xen 하이퍼 바이저와 Xen 관련 유틸리티- gnome-applet-vm : 그놈판넬에서 제공되는 가상머신 모니터- libvirt : 간단한 가상화 API를 제공하기 위한 라이브러리- virt-manager : 가상머신 관리자 (GUI)

 

 

 

위에서 설치한 Xen커널을 선택하여 부팅을 해야 한다.

 

 

 

이를 위해 grub 부트로더 설정파일인 /etc/grub.conf 파일을 편집기로 열어 xen 커널이 부팅 리스트에 있는지 확인한다.

 

 

 

아래와 같이 시스템에는 0(default=0)으로 설정되어 기본적으로 xen 커널로 부팅되게 설정되어 있다.

 

 

 

만약 default=1로 설정되어 일반 커널로 기본 부팅되게 되어 있다면 부팅 시 grub 메뉴에서 수동으로 xen 커널 리스트를 선택하여 xen 커널로 부팅되게 하여야한다.

 

 

 

(여기서 default 설정은 아래 설정된 커널들의 순서이다.

0부터 시작한다. )

 

 

 

 

 

 

 

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You do not have a /boot partition. This means that

# all kernel and initrd paths are relative to /, eg.

# root (hd0,0)

# kernel /boot/vmlinuz-version ro root=/dev/sda1

# initrd /boot/initrd-version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

hiddenmenu

title SULinux (2.6.18-92.el5xen)

root (hd0,0)

kernel /boot/xen.gz-2.6.18-92.el5

module /boot/vmlinuz-2.6.18-92.el5xen ro root=LABEL=/1 rhgb quiet vga=771 ide0=noprobe ide1=noprobe

module /boot/initrd-2.6.18-92.el5xen.img

title SULinux Server-base (2.6.18-92.el5)

root (hd0,0)

kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=771 ide0=noprobe ide1=noprobe

initrd /boot/initrd-2.6.18-92.el5.img

 

 

 

 




 

부트로드 설정을 확인하였다면, 호스트 머신을 리부팅 하여 Xen커널로 부팅한다.

 

 

 

 

 

2) 가상머신 생성 및 게스트 OS 설치

 

 

가상머신을 생성하는 방법은 여러 가지가 있지만 위에서 설치한 virt-manager를 사용하여 가상머신 생성 및 게스트 OS를 설치해 보도록 하자.

 

먼저 Xwindow 상태에서 가상머신 관리자를 실행 시켜 보도록 하자.

 

 

 

 

 

 

 

[root@SULinux-Virt ~]# virt-manager

 

 

 

 

 

 

 

이 가상머신 관리자는 libvirtAPI를 이용하여 하이퍼바이저(Xen, KVM)를 관리한다.

 

 

 

여러 하이퍼바이저에 접속할 수 있다.

 

 

 

 

최초 화면은 Xendisconnected된 상태이다.

 

 

 

localhost xen 을 선택한 후 마우스 오른쪽 버튼을 클릭하여 ‘connect'를 누르면 연결되면서 Domain-0이 나타난다.

 

 

 

Domain-0은 물리적인 하드웨어에 직접 접근하고 관리하는 역할을 수행한다.

 

 

 

 

26d2e055822c151092e84cbe15845354_1687160726_0373.png
 

 

 

 

localhost xen을 선택한 후 새로 만들기(New)’ 버튼을 선택하면 새 가상 시스템 생성화면이 나타나고 앞으로(Forward)'버튼을 선택한다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687160740_396.png
 

 

 

다음 화면에서 새로 생성할 가상 시스템의 이름을 입력하고 앞으로버튼을 선택한다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687160756_9319.png
 

 

 

 

반가상화(para-virtualization) 설치 방법

 

 

가상화 방법 선택화면에서 반가상화를 선택하고 앞으로버튼을 클릭한다.

 

 

 

반가상화는 하드웨어 장치에 직접 접근하기 때문에 전가상화 보다 성능이 좋다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687160772_89.png
 

 

 

 

반가상화를 선택한 후 다음 화면에서는 설치 매체의 위치를 지정하는 단계가 나타난다.

 

 

 

현재 반가상화는 네트워크 설치 방법을 택하고 있으므로 설치 매체가 있는 네트워크 URL을 입력한다.

 

 

 

추가로 킥스타트 파일이나 커널 파라미터를 입력할 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687160790_65.png
 

 

 

 

다음은 가상 머신의 디스크를 설정하는 화면이다.

 

 

 

특정 디스크 파티션 전체를 할당할 수도 있고 특정 디렉토리 내에 일반 파일을 생성하여 설치할 수도 있다.

 

 

 

 

26d2e055822c151092e84cbe15845354_1687160806_9286.png
 

 

 

 

다음 네트워크 설정 단계에서는 가상 네트워크로 설정하는 방식과 물리 네트워크 장치를 공유하는 방식 2가지 중 하나를 상황에 맞게 선택하여 설정할 수 있다

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687161999_8515.png
 

 

26d2e055822c151092e84cbe15845354_1687162013_8739.png
 

 

 

 

 

 

가상 머신이 사용하게 되는 메모리 량과 CPU 수를 결정한다.

 

 

 

CPU는 각 게스트 가상 머신 당 32개 까지 설정할 수 있지만 무조건 많이 설정한다고 해서 성능이 좋아지는 것은 아니며 호스트 시스템의 CPU코어를 고려하여 설정하여야 한다.

 

 

 

KVM 가상화와 달리 Xen은 메모리에 대한 초과할당(Overcommit)을 지원하지 않는다.

 

 

 

물리적 메모리 용량내에서 전체 가상머신 메모리를 할당할 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162030_9884.png
 

 

게스트 가상 머신 설정의 마지막 단계로, 지금까지 설정한 모든 정보를 보여주며 설치 시작을 준비한다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162048_0566.png
 

 

 

위 화면에서 완료버튼을 누르면 가상 장치 생성창이 나타나면서 저장 공간인 파일을 생성하고 가상 머신의 도메인을 생성하는 작업을 수행한다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162064_6646.png
 

 

 

이제 운영체제 설치가 진행되며 이후부터 나타나는 화면들은 일반적인 리눅스 시스템 설치과정과 동일하다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162082_0032.png
 

 

 

 

전가상화(fully-virtualization) 설치 방법

 

 

새로 만들기버튼을 클릭하여 가상 머신의 이름을 ‘winxp’라 주고 다음 가상화 방법 선택창에서 완전 가상화로 선택한 후 다른 종류의 OS , 윈도우즈xp를 게스트 가상 머신으로 설치해 보겠다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162102_0815.png
 

 

 

설치 매체 위치 지정에서는 반가상화와 다르게 ISO, CDROM 또는 PXE network 부팅을 통하여 설치할 수 있다.

 

 

 

상황에 맞는 매체를 선택하여 설치를 진행하면 된다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162114_8981.png
 

 

26d2e055822c151092e84cbe15845354_1687162128_531.png
 

 

 

 

저장 공간 할당은 반가상화와 동일하게 디스크 파티션 또는 일반 파일 생성을 통하여 설치를 진행할 수 있다.

 

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162141_8502.png
 

 

 

이상으로 설정을 마치면 반가상화와 동일하게 저장 공간을 확보하고 도메인을 생성한 후에 설치가 진행된다.

 

 

 

 

26d2e055822c151092e84cbe15845354_1687162156_7367.png
 

 

26d2e055822c151092e84cbe15845354_1687162168_5525.png
 

 

 

가상머신이 실행되면 가상머신 관리자의 메인 화면에는 실행중인 가상머신이 위 그림과 같이 나타나게 된다.

 

 

 

 

가상머신에 대한 설정내역은 /etc/xen/ 디렉토리에 각 가상머신의 이름으로 설정파일이 저장되게 된다.

 

 

 

가상머신 관리자에서 지원되지 않는 고급 설정은 가상머신 설정파일을 수정하여 설정할 수 있다.

 

 

 

 

 

 

 

 

 

[root@SULinux-Virt xen]# ls -l /etc/xen/

합계 108

-rw------- 1 root root 522 425 10:13 winxp

drwxr-xr-x 2 root root 4096 48 2013 auto

-rwxr-xr-x 1 root root 156 518 2013 qemu-ifup

drwxr-xr-x 2 root root 4096 63 2013 scripts

-rw-r--r-- 1 root root 6152 48 2013 xend-config.sxp

-rw-r--r-- 1 root root 1256 48 2013 xend-pci-permissive.sxp

-rw-r--r-- 1 root root 4129 48 2013 xend-pci-quirks.sxp

-rw-r--r-- 1 root root 7264 48 2013 xmexample.hvm

-rw-r--r-- 1 root root 5315 48 2013 xmexample.vti

-rw-r--r-- 1 root root 5463 48 2013 xmexample1

-rw-r--r-- 1 root root 6746 48 2013 xmexample2

 

 

 

 

 

 

기본적으로 게스트 머신의 가상화 디스크 이미지는 /var/lib/xen/images/ 디렉토리에 가상머신 이름으로 생성된다.

 

 

 

 

 

 

 

 

[root@SULinux-Virt xen]# ls -lh /var/lib/xen/images/

합계 3.7G

-rw-------. 1 root root 4G 2013-08-24 07:39 winxp.img

 

 

 

 

 

 

 

가상머신을 관리할 수 있는 명령어인 virsh xm을 통해서도 가상머신의 상태를 확인 할 수 있고, 상세한 설정을 할 수 있다.

 

 

 

 

 

 

 

 

 

[root@SULinux-Virt xen]# virsh list

Id 이름 상태

----------------------------------------------------

4 winxp 실행중

 

[root@SULinux-Virt xen]# xm list

Name ID Mem(MiB) VCPUs State Time(s)

winxp 26 1031 1 -b---- 322907.2

 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  85 명