Xen 관리 · 3 min read · Oct 23, 2025
Xen 도구, Xen 셸 및 Argo로 Xen 관리하기
Xen 도구, Xen 셸 및 Argo로 Xen 관리하기
버전 1.0
저자: Falko Timme
이 가이드는 Debian 시스템에서 xen-tools, xen-shell 및 Argo를 설치하고 사용하는 방법을 설명합니다. 이 세 가지 패키지는 가상 Xen 머신의 관리에 유용한 도구를 제공합니다. Xen-tools는 Xen 게스트 도메인을 쉽게 생성, 업데이트 및 삭제할 수 있도록 해주는 Perl 스크립트 모음입니다. xen-shell은 Xen 도메인 소유자가 서버 관리자 없이도 Xen 도메인을 관리할 수 있도록 하는 명령줄 인터페이스를 제공합니다. Argo를 사용하면 웹 인터페이스나 명령줄 메뉴를 통해 Xen 도메인을 제어할 수 있습니다. 이 세 가지 패키지는 Debian 시스템을 위해 개발되었지만 다른 배포판에서도 작동할 수 있습니다.
먼저, 이러한 시스템을 설정하는 유일한 방법이 아니라는 점을 말씀드리고 싶습니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 이것이 제가 선택한 방법입니다. 이것이 여러분에게도 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
Debian 시스템에 Xen 3을 이미 설치했다고 가정합니다(이것은 Xen 2와는 작동하지 않습니다!), 예를 들어 이 튜토리얼의 4장에 나와 있는 대로 소스에서 설치했을 것입니다: https://www.howtoforge.com/debian_sarge_xen_3.0.3. 저는 바이너리 Xen 설치(5장에 나와 있음)에서 xen-tools가 작동하지 않았지만, 여러분에게는 작동할 수 있습니다. 하지만 xen-tools는 소스에서 설치한 Xen에서 저에게는 완벽하게 작동합니다.
이 튜토리얼에서 제 Xen dom0 도메인의 호스트 이름은 server1.example.com이며, IP 주소는 192.168.0.100이고, 게이트웨이는 192.168.0.1입니다. 저는 게스트 도메인을 /vserver/images 디렉토리에 저장하고 싶습니다. 이 값들은 여러분에게는 다를 수 있습니다.
/etc/hosts에 다음과 같은 줄이 있는지 확인하십시오:
vi /etc/hosts| [...] 192.168.0.100 server1.example.com server1 [...] |
2 Xen-Tools
http://www.steve.org.uk/apt/에서 xen-tools 및 xen-shell에 대한 Debian 패키지가 제공되지만, xen-tools Debian 패키지가 저에게 잘못된 Xen 구성 파일을 작성했기 때문에 소스에서 xen-tools 및 xen-shell을 설치하기로 결정했습니다.
먼저 xen-tools의 몇 가지 필수 패키지를 설치합니다:
apt-get install libtext-template-perl perl-doc그런 다음 다음과 같이 xen-tools를 설치합니다:
cd /tmp
wget http://xen-tools.org/software/xen-tools/xen-tools-2.7.tar.gz
tar xvfz xen-tools-2.7.tar.gz
cd xen-tools-2.7
make install다음으로 /etc/xen-tools/xen-tools.conf를 편집합니다. 이 파일은 xen-create-image 스크립트에서 사용되는 기본 값을 포함하고 있으며, 명령줄에서 다른 값을 지정하지 않는 한 사용됩니다. 저는 다음 값을 변경하고 나머지는 그대로 두었습니다:
vi /etc/xen-tools/xen-tools.conf| [...] gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6-xenU #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...] |
passwd = 1 줄은 새 게스트 도메인을 생성할 때 루트 비밀번호를 지정할 수 있게 해줍니다. kernel 줄에서는 게스트 도메인에 사용할 domU 커널을 지정해야 합니다. 게스트 도메인이 부팅하는 데 ramdisk가 필요하지 않다면 initrd 줄을 주석 처리하십시오(저는 설치에서 이렇게 해야 했습니다), 그렇지 않으면 올바른 ramdisk를 지정하십시오. mirror 줄에서는 가까운 Debian 미러를 지정하십시오.
게이트웨이와 넷마스크를 반드시 지정해야 합니다. 그렇지 않으면, xen-create-image를 사용할 때 명령줄에서 게이트웨이와 넷마스크를 지정하지 않으면 IP 주소를 지정했더라도 게스트 도메인에 네트워킹이 제공되지 않습니다!
이제 IP 주소 192.168.0.103을 가진 첫 번째 게스트 도메인 vm03.example.com을 생성해 보겠습니다:
xen-create-image --hostname=vm03.example.com --ip=192.168.0.103 \
--netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \
--dist=sarge --debootstrap–netmask 및 –gateway 스위치는 /etc/xen-tools/xen-tools.conf에서 동일한 세부 정보를 지정했기 때문에 여기서는 불필요하지만, 명령줄이나 /etc/xen-tools/xen-tools.conf에서 원하는 설정을 지정할 수 있음을 보여줍니다.
이 명령은 이제 Debian Sarge가 포함된 게스트 도메인 vm03.example.com을 생성합니다. 이 작업은 몇 분이 걸리므로 인내심을 가지십시오. 그동안 다른 셸 창을 열고 다음을 실행하여
tail -f /var/log/xen-tools/vm03.example.com.log무슨 일이 일어나고 있는지 확인할 수 있습니다.
새 게스트 도메인이 생성된 후 /etc/xen/vm03.example.com.cfg를 확인하십시오. 이제 다음과 같이 보여야 합니다(여기서는 주석을 제거했습니다):
vi /etc/xen/vm03.example.com.cfg| kernel = '/boot/vmlinuz-2.6-xenU' memory = '128' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm03.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm03.example.com/swap.img,sda2,w' ] name = 'vm03.example.com' vif = [ 'ip=192.168.0.103' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |
이제 다음과 같이 새 가상 머신을 시작할 수 있습니다:
xm create -c /etc/xen/vm03.example.com.cfgxen-create-image 명령을 사용하면 거의 모든 설정을 명령줄에서 지정할 수 있습니다. 더 많은 정보를 보려면
man xen-create-image을 참조하십시오. 또 다른 예는 다음과 같습니다:
xen-create-image --size=2Gb --swap=128Mb --hostname=vm04.example.com \
--ip=192.168.0.104 --netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \
--dist=sarge --debootstrap --fs=ext3 --kernel=/boot/vmlinuz-2.6-xenU --memory=32Mb \
--image=sparse --mirror=http://ftp2.de.debian.org/debian/ --passwd이 명령은 가상 도메인 vm04.example.com을 생성합니다. /etc/xen/vm04.example.com.cfg는 이후 다음과 같이 보여야 합니다(다시 한 번 주석을 제거했습니다):
vi /etc/xen/vm04.example.com.cfg| kernel = '/boot/vmlinuz-2.6-xenU' memory = '32' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm04.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm04.example.com/swap.img,sda2,w' ] name = 'vm04.example.com' vif = [ 'ip=192.168.0.104' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |
새 가상 머신을 다음과 같이 시작할 수 있습니다:
xm create -c /etc/xen/vm04.example.com.cfgxen-tools와 함께 제공되는 세 가지 다른 스크립트도 있습니다:
xen-update-image는 게스트 도메인에서 패키지를 업데이트할 수 있게 해줍니다. 예를 들어 다음과 같이 사용할 수 있습니다:
xen-update-image --dir=/vserver/images vm03.example.comxen-list-images는 xen-create-image로 생성된 모든 게스트 도메인을 보여줍니다:
xen-list-images출력은 다음과 같습니다:
server1:~# xen-list-images
Name: vm03.example.com
Memory: 128
IP: 192.168.0.103Name: vm04.example.com
Memory: 32
IP: 192.168.0.104xen-delete-image를 사용하면 xen-create-image로 생성된 게스트 도메인을 제거할 수 있습니다:
xen-delete-image --dir=/vserver/images vm03.example.com새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.