virtualization/parallels

Virtuozzo EZ템플릿 작성

yueisu 2009. 10. 30. 18:38
Parallels사의 OS가상화 소프트웨어인 Virtuozzo Containers for Linux에는 기본적으로 Fedora Core, Ubuntu의 EZ템플릿이 등록되어있습니다. 또한 Parallels사 홈페이지로부터 CentOS 등의 Linux 디스트리뷰션 버전별로 템플릿을 공개하고 있기에 간단하게 Virtuozzo상에 OS템플릿을 추가할 수 있습니다. 하지만  특정한 어플리케이션을 추가한 상태의 컨테이너를 대량으로 작성하기 위해서는 독자적으로 새로운 OS템플릿을 작성하여 Virtuozzo상에 등록을 해줘야 합니다.

다음은 vzmktmpl 유틸리티를 이용하여 독자적으로 OS템플릿을 작성하는 방법입니다.
(예로 CentOS 5.4의 EZ템플릿을 작성해보겠습니다.)

1. vzmktmpl 유틸리티를 인스톨하기 위해서는 virtuozzo 디렉토리를 전개해서 vztt-build 팩키지를 취득해야 됩니다.
[root@localhost ~]# virtuozzo/download/Linux/i386/virtuozzo-4.0.0-448-i386.sfx
디렉토리의 전개는 virtuozzo-4.0.0-448-i386.sfx를 실행함으로써 전개됩니다. 위의 화일을 실행후, 자동 인스톨러가 기동하면 'cancel'로 자동 인스톨러를 취소하면 [distrib.xxxxxxxx]란 디렉토리가 만들어집니다. vztt-build 팩키지는 바로 이 [distrib.xxxxxxxx]란 디렉토리안에 있습니다.
[root@localhost ~]# cd virtuozzo/download/Linux/i386/distrib.heQp2156/virtuozzo/RPMS/

2. vztt-build 팩키지를 인스톨합니다.
  (vztt-build 팩키지를 인스톨하기 전에 rpm-build 팩키지를 먼저 인스톨합니다.)
[root@localhost RPMS]# yum -y install rpm-build
[root@localhost RPMS]# rpm -ihv vztt-build-4.0.0-126.swsoft.i386.rpm

3. EZ템플릿 작성을 위한 metafile을 작성합니다. metafile은 기존의 화일을 복사, 편집하면 편리합니다.
[root@localhost RPMS]# cp /usr/share/vztt/samples/fedora-core-4-x86/metafile /root/centos/centos.metafile ※centos란 metafile을 편집합니다.

4. centos.metafile을 간단하게 다음과 같이 편집합니다.
[root@localhost RPMS]# cd /root/centos
[root@localhost centos]# vi centos.metafile
%osname
centos    <--OS명

%osver
5.4    <--OS버전

%osarch
x86    <--OS아키텍쳐

%packages
        <--필요한 팩키지명

# system
authconfig
bash
crontabs
diffutils
rootfiles
info
passwd
rpm
man
man-pages
tmpwatch

# services
bind
caching-nameserver
finger
finger-server
ftp
httpd
iproute
iptables
jwhois
openssh-clients
openssh-server
net-snmp
net-snmp-utils
nscd
rsync
samba
samba-client
samba-swat
sendmail
sendmail-cf
sendmail-doc
stunnel
talk
talk-server
xinetd
vixie-cron

# spell
aspell
aspell-en

# languages
perl
python
slang
tcsh

# editors
ed
less
vim-minimal
vim-enhanced

# web browser
lynx

# utils
binutils
curl
elfutils
fetchmail
gnupg
gzip
make
mailx
ncompress
ntsysv
lsof
portmap
quota
tcpdump
telnet
time
traceroute
screen
setuptool
sharutils
slocate
sudo
unzip
utempter
wget
which
tar

%package_manager
rpm44x86

%distribution
CentOS 5.4

%repositories
http://ftp.riken.jp/Linux/centos/5.4/os/i386/     <--OS취득이 가능한 URL

%description
CentOS 5.4 packaged as a Virtuozzo template.    <--OS설명

5. vzmktmpl을 이용해서 OS템플릿의 rpm을 작성합니다.
[root@localhost centos]# vzmktmpl centos.metafile

6. 작성한 rpm을 인스톨합니다.
[root@localhost centos]# rpm -ivh centos-5.4-x86-ez-2.7.0-3.swsoft.noarch.rpm

7. 작성한 OS템플릿을 Virtuozzo상에서 이용가능하도록 등록을 합니다.
[root@localhost centos]# vzpkg update cache centos-5.4-x86

8. 정상적으로 OS템플릿이 등록되어있는지 확인을 합니다.
[root@localhost centos]# vzpkg list
fedora-core-9-x86                  2008-08-23 01:02:27
fedora-core-9-x86    mysql
fedora-core-9-x86    proftpd
centos-5.4-x86                     2009-10-30 15:48:43   <--정상적으로 작성, 등록되었습니다.
centos-5-x86                       2009-10-29 12:13:48
centos-5-x86         devel
centos-5-x86         plesk9-qmail
centos-5-x86         plesk9