서버 설치 · 5 min read · Oct 08, 2025
우분투 8.04 (하디 헤론) 서버에 우분투 저장소에서 Xen 설치하기
우분투 8.04 (하디 헤론) 서버에 우분투 저장소에서 Xen 설치하기
버전 1.0
저자: Falko Timme
이 튜토리얼은 우분투 하디 헤론 (우분투 8.04) 서버 시스템 (i386)에 Xen을 설치하는 방법에 대한 단계별 지침을 제공합니다. 여기에서 사용되는 모든 소프트웨어는 우분투 저장소에서 찾을 수 있으므로 외부 파일(가상 머신의 네트워킹을 활성화하기 위한 고정 우분투 Xen 커널 제외)이나 컴파일이 필요하지 않습니다.
Xen을 사용하면 호스트 운영 체제(dom0) 아래에서 게스트 운영 체제(*nix 운영 체제, 예: 리눅스 및 FreeBSD)를 생성할 수 있습니다. Xen을 사용하면 애플리케이션을 서로 완전히 독립적인 다양한 가상 머신으로 분리할 수 있습니다(예: 메일 서버용 가상 머신, 고트래픽 웹사이트용 가상 머신, 고객 웹사이트를 제공하는 다른 가상 머신, DNS용 가상 머신 등), 그러나 동일한 하드웨어를 사용할 수 있습니다. 이는 비용을 절감하고, 더 중요한 것은 보안이 더 강화됩니다. DNS 서버의 가상 머신이 해킹당하더라도 다른 가상 머신에는 영향을 미치지 않습니다. 또한 가상 머신을 한 Xen 서버에서 다른 서버로 이동할 수 있습니다.
저는 호스트 OS(dom0)로 우분투 하디 헤론(i386)을 사용하고, 게스트 운영 체제로는 우분투 하디 헤론과 우분투 거치 기린(7.10)을 사용할 것입니다. xen-tools를 사용하여 설치할 수 있는 다른 Debian 기반 배포판으로는 Debian Etch, Debian Lenny, Debian Sid, Debian Sarge, 그리고 우분투 대퍼 드레이크, 우분투 엣지 이프트, 우분투 파이시티 폰이 있습니다.
이 방법서는 실용적인 가이드로 작성되었습니다; 이론적 배경은 다루지 않습니다. 이론적 배경은 웹의 많은 다른 문서에서 다루어집니다.
이 문서는 어떤 종류의 보증 없이 제공됩니다! 이는 이러한 시스템을 설정하는 유일한 방법이 아님을 말씀드리고 싶습니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 이것이 제가 선택한 방법입니다. 이것이 귀하에게 작동할 것이라는 보증을 제공하지 않습니다!
1 우분투 하디 헤론 호스트 시스템(dom0) 설치하기
이 튜토리얼의 1장에서 10장까지 보여준 대로 호스트 시스템(dom0)을 설치할 수 있습니다: https://www.howtoforge.com/perfect-server-ubuntu8.04-lts (물론, 이미 사용하고자 하는 우분투 8.04 호스트 시스템이 있다면 이 단계를 수행할 필요는 없습니다).
루트로 로그인했는지 확인하세요(루트가 되려면
sudo su입력하세요), 이 튜토리얼의 모든 단계를 루트 사용자로 실행해야 합니다. 또한, 이 튜토리얼에서 제안하는 대로 vi를 텍스트 편집기로 사용하려면 다음을 실행해야 합니다:
apt-get install vim-fullvim-full 패키지는 vi 텍스트 편집기가 예상대로 작동하도록 보장합니다( vim-full이 없으면 vi 텍스트 편집기에서 이상한 동작을 경험할 수 있습니다).
AppArmor를 비활성화하는 것이 좋습니다:
/etc/init.d/apparmor stop
update-rc.d -f apparmor removedom0의 FQDN은 이 예제에서 server1.example.com이 됩니다. 이 튜토리얼에서 server1.example.com의 IP 주소는 192.168.0.100이며, 제가 사용하는 게이트웨이는 192.168.0.1입니다. 따라서 가상 머신도 이를 사용해야 합니다.
2 Xen 설치하기
Xen과 필요한 모든 종속성을 설치하려면 다음 명령어를 실행하면 됩니다:
apt-get install ubuntu-xen-server이 명령은 나중에 가상 머신을 생성하는 데 사용할 xen-tools 패키지도 설치합니다.
ubuntu-xen-server 패키지는 우분투 커널 2.6.24-16-xen을 설치합니다. 불행히도 이 커널에는 가상 머신의 네트워킹이 작동하지 않게 하는 심각한 버그가 있습니다(https://bugs.launchpad.net/ubuntu/+source/xen-3.2/+bug/204010 및 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/218126 참조). 다행히도 히라노 타카히토가 이 커널을 패치하고 패치된 버전(i386 및 amd64)을 http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/에서 사용할 수 있도록 했습니다(원본 링크가 더 이상 작동하지 않을 경우를 대비해 http://downloads.howtoforge.com/ubuntu_8.04_server_xen_from_repositories/에 이 패키지의 미러를 만들었습니다). 아키텍처(i386 또는 amd64)에 맞는 올바른 linux-image 패키지를 다운로드하세요, 예:
wget http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb그런 다음 우분투 2.6.24-16-xen 커널을 다음과 같이 교체합니다:
dpkg -i linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb다음으로 다음을 수행합니다:
mv /lib/tls /lib/tls.disabled시스템을 부팅할 때마다 루프 모듈을 커널에 추가해야 하므로 /etc/modules를 편집합니다. 이미 루프 라인이 있다면 다음과 같이 수정하고, 없다면 추가하세요:
vi /etc/modules| [...] loop max_loop=64 [...] |
이제 /boot 디렉토리를 살펴보아 설치된 커널과 램디스크를 확인하세요:
ls -l /boot/root@server1:~# ls -l /boot/
total 34380
-rw-r--r-- 1 root root 426444 2008-04-10 18:55 abi-2.6.24-16-server
-rw-r--r-- 1 root root 80203 2008-04-10 18:55 config-2.6.24-16-server
-rw-r--r-- 1 root root 85149 2008-04-19 23:17 config-2.6.24-16-xen
drwxr-xr-x 2 root root 4096 2008-05-06 15:19 grub
-rw-r--r-- 1 root root 7323503 2008-04-24 11:47 initrd.img-2.6.24-16-server
-rw-r--r-- 1 root root 7047843 2008-04-24 11:45 initrd.img-2.6.24-16-server.bak
-rw-r--r-- 1 root root 7056979 2008-05-06 15:19 initrd.img-2.6.24-16-xen
-rw-r--r-- 1 root root 7062168 2008-05-06 15:09 initrd.img-2.6.24-16-xen.bak
-rw-r--r-- 1 root root 103204 2007-09-28 12:06 memtest86+.bin
-rw-r--r-- 1 root root 933296 2008-04-10 18:55 System.map-2.6.24-16-server
-rw-r--r-- 1 root root 883544 2008-04-19 23:17 System.map-2.6.24-16-xen
-rw-r--r-- 1 root root 1987288 2008-04-10 18:55 vmlinuz-2.6.24-16-server
-rw-r--r-- 1 root root 1730344 2008-04-19 23:17 vmlinuz-2.6.24-16-xen
-rw-r--r-- 1 root root 370610 2008-04-11 03:16 xen-3.2.gz
root@server1:~#/boot/vmlinuz-2.6.24-16-xen 커널은 새로운 패치된 Xen 커널이며, /boot/initrd.img-2.6.24-16-xen은 그 램디스크입니다. 우리는 곧 이것들이 필요할 것입니다.
이제 /usr/lib/xen-tools 디렉토리도 살펴볼 수 있습니다. 이 디렉토리는 xen-tools로 설치할 수 있는 배포판을 보여줍니다:
ls -l /usr/lib/xen-toolsroot@server1:~# ls -l /usr/lib/xen-tools
total 36
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-4.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-5.d
-rwxr-xr-x 1 root root 4409 2008-04-06 03:12 common.sh
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 dapper.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 debian.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 edgy.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 etch.d -> debian.d
lrwxrwxrwx 1 root root 15 2008-05-06 15:08 fedora-core-4.d -> fedora-core-6.d
lrwxrwxrwx 1 root root 15 2008-05-06 15:08 fedora-core-5.d -> fedora-core-6.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 fedora-core-6.d
lrwxrwxrwx 1 root root 15 2008-05-06 15:08 fedora-core-7.d -> fedora-core-6.d
lrwxrwxrwx 1 root root 6 2008-05-06 15:08 feisty.d -> edgy.d
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 gentoo.d
lrwxrwxrwx 1 root root 6 2008-05-06 15:08 gutsy.d -> edgy.d
lrwxrwxrwx 1 root root 6 2008-05-06 15:08 hardy.d -> edgy.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 lenny.d -> debian.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 sarge.d -> debian.d
lrwxrwxrwx 1 root root 8 2008-05-06 15:08 sid.d -> debian.d
root@server1:~#보시다시피 다음 배포판을 설치할 수 있습니다:
- Debian: Etch, Lenny (테스트), Sid (불안정), Sarge
- 우분투: 대퍼 드레이크, 엣지 이프트, 파이시티 폰, 거치 기린, 하디 헤론
- CentOS 4, CentOS 5
- 페도라 코어 4, 5, 6, 페도라 7
- 젠투
(저는 xen-tools로 CentOS, Fedora 및 Gentoo를 설치해본 적이 없으므로 얼마나 잘 작동하는지 말씀드릴 수 없습니다.)
저는 가상 머신을 /home/xen 디렉토리에 저장하고 싶으므로 지금 생성합니다:
mkdir /home/xen우리는 xen-tools를 사용하여 가상 머신을 생성할 것입니다. xen-tools는 가상 머신을 생성하는 것을 매우 쉽게 만들어줍니다 - 더 많은 정보를 얻으려면 이 튜토리얼을 읽어보세요: https://www.howtoforge.com/xen_tools_xen_shell_argo. 앞서 언급했듯이, xen-tools 패키지는 ubuntu-xen-server 패키지와 함께 설치되었습니다.
이제 /etc/xen-tools/xen-tools.conf를 편집합니다. 이 파일은 xen-create-image 스크립트에서 사용되는 기본값을 포함하고 있으며, 명령줄에서 다른 값을 지정하지 않는 한 사용됩니다. 저는 다음 값을 변경하고 나머지는 그대로 두었습니다:
vi /etc/xen-tools/xen-tools.conf| [...] dir = /home/xen [...] dist = hardy # 설치할 기본 배포판. [...] gateway = 192.168.0.1 netmask = 255.255.255.0 broadcast = 192.168.0.255 [...] passwd = 1 [...] mirror = http://archive.ubuntu.com/ubuntu/ [...] |
dist 라인은 가상 머신에 설치할 기본 배포판을 포함합니다. /usr/lib/xen-tools 디렉토리의 내용은 사용 가능한 배포판을 보여줍니다(위 참조).
kernel 라인은 우리의 Xen 커널을 포함해야 하며, initrd 라인은 그 램디스크를 포함해야 합니다. 기본 /etc/xen-tools/xen-tools.conf 파일은 kernel = /boot/vmlinuz-uname -r 및 initrd = /boot/initrd.img-uname -r 값을 가지고 있어 자동으로 올바른 커널과 램디스크로 변환되므로 이 라인들은 수정할 필요가 없습니다.
passwd = 1 라인은 새로운 게스트 도메인을 생성할 때 루트 비밀번호를 지정할 수 있게 해줍니다. mirror 라인에는 가까운 우분투 미러를 지정하세요.
게이트웨이와 넷마스크를 반드시 지정하세요. 그렇지 않으면, xen-create-image를 사용할 때 명령줄에서 게이트웨이와 넷마스크를 지정하지 않으면, IP 주소를 지정하더라도 게스트 도메인에 네트워킹이 없게 됩니다!
이제 시스템을 재부팅하세요:
reboot시스템이 문제 없이 재부팅되면 모든 것이 정상입니다!
다음 명령어를 실행하세요:
uname -r그리고 새로운 Xen 커널이 표시되어야 합니다:
root@server1:~# uname -r
2.6.24-16-xen
root@server1:~#새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.