리눅스마스터1급 : 리눅스 가상화 서비스 Xen 서비스 구축
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,640 조회
- 0 추천
- 목록
본문
리눅스마스터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 |
|
|
|
|
이 가상머신 관리자는 libvirt의 API를 이용하여 하이퍼바이저(Xen, KVM등)를 관리한다.
여러 하이퍼바이저에 접속할 수 있다.
최초 화면은 Xen에 disconnected된 상태이다.
localhost xen 을 선택한 후 마우스 오른쪽 버튼을 클릭하여 ‘connect'를 누르면 연결되면서 Domain-0이 나타난다.
Domain-0은 물리적인 하드웨어에 직접 접근하고 관리하는 역할을 수행한다.
localhost xen을 선택한 후 ‘새로 만들기(New)’ 버튼을 선택하면 ‘새 가상 시스템 생성’ 화면이 나타나고 ‘앞으로(Forward)'버튼을 선택한다.
다음 화면에서 새로 생성할 가상 시스템의 이름을 입력하고 ‘앞으로’ 버튼을 선택한다.
① 반가상화(para-virtualization) 설치 방법
‘가상화 방법 선택’ 화면에서 반가상화를 선택하고 ‘앞으로’ 버튼을 클릭한다.
반가상화는 하드웨어 장치에 직접 접근하기 때문에 전가상화 보다 성능이 좋다.
‘반가상화’를 선택한 후 다음 화면에서는 설치 매체의 위치를 지정하는 단계가 나타난다.
현재 반가상화는 네트워크 설치 방법을 택하고 있으므로 설치 매체가 있는 네트워크 URL을 입력한다.
추가로 킥스타트 파일이나 커널 파라미터를 입력할 수 있다.
다음은 가상 머신의 디스크를 설정하는 화면이다.
특정 디스크 파티션 전체를 할당할 수도 있고 특정 디렉토리 내에 일반 파일을 생성하여 설치할 수도 있다.
다음 네트워크 설정 단계에서는 가상 네트워크로 설정하는 방식과 물리 네트워크 장치를 공유하는 방식 2가지 중 하나를 상황에 맞게 선택하여 설정할 수 있다.
가상 머신이 사용하게 되는 메모리 량과 CPU 수를 결정한다.
CPU는 각 게스트 가상 머신 당 32개 까지 설정할 수 있지만 무조건 많이 설정한다고 해서 성능이 좋아지는 것은 아니며 호스트 시스템의 CPU코어를 고려하여 설정하여야 한다.
KVM 가상화와 달리 Xen은 메모리에 대한 초과할당(Overcommit)을 지원하지 않는다.
물리적 메모리 용량내에서 전체 가상머신 메모리를 할당할 수 있다.
게스트 가상 머신 설정의 마지막 단계로, 지금까지 설정한 모든 정보를 보여주며 설치 시작을 준비한다.
위 화면에서 ‘완료’ 버튼을 누르면 ‘가상 장치 생성’ 창이 나타나면서 저장 공간인 파일을 생성하고 가상 머신의 도메인을 생성하는 작업을 수행한다.
이제 운영체제 설치가 진행되며 이후부터 나타나는 화면들은 일반적인 리눅스 시스템 설치과정과 동일하다.
② 전가상화(fully-virtualization) 설치 방법
‘새로 만들기’ 버튼을 클릭하여 가상 머신의 이름을 ‘winxp’라 주고 다음 ‘가상화 방법 선택‘ 창에서 ‘완전 가상화’로 선택한 후 다른 종류의 OS 즉, 윈도우즈xp를 게스트 가상 머신으로 설치해 보겠다.
‘설치 매체 위치 지정’에서는 반가상화와 다르게 ISO, CDROM 또는 PXE network 부팅을 통하여 설치할 수 있다.
상황에 맞는 매체를 선택하여 설치를 진행하면 된다.
‘저장 공간 할당‘은 반가상화와 동일하게 디스크 파티션 또는 일반 파일 생성을 통하여 설치를 진행할 수 있다.
이상으로 설정을 마치면 반가상화와 동일하게 저장 공간을 확보하고 도메인을 생성한 후에 설치가 진행된다.
가상머신이 실행되면 가상머신 관리자의 메인 화면에는 실행중인 가상머신이 위 그림과 같이 나타나게 된다.
가상머신에 대한 설정내역은 /etc/xen/ 디렉토리에 각 가상머신의 이름으로 설정파일이 저장되게 된다.
가상머신 관리자에서 지원되지 않는 고급 설정은 가상머신 설정파일을 수정하여 설정할 수 있다.
|
|
|
| [root@SULinux-Virt xen]# ls -l /etc/xen/ 합계 108 -rw------- 1 root root 522 4월 25 10:13 winxp drwxr-xr-x 2 root root 4096 4월 8 2013 auto -rwxr-xr-x 1 root root 156 5월 18 2013 qemu-ifup drwxr-xr-x 2 root root 4096 6월 3 2013 scripts -rw-r--r-- 1 root root 6152 4월 8 2013 xend-config.sxp -rw-r--r-- 1 root root 1256 4월 8 2013 xend-pci-permissive.sxp -rw-r--r-- 1 root root 4129 4월 8 2013 xend-pci-quirks.sxp -rw-r--r-- 1 root root 7264 4월 8 2013 xmexample.hvm -rw-r--r-- 1 root root 5315 4월 8 2013 xmexample.vti -rw-r--r-- 1 root root 5463 4월 8 2013 xmexample1 -rw-r--r-- 1 root root 6746 4월 8 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 |
|
|
|
|
관련자료
-
이전
-
다음