TenForward

技術ブログ。はてなダイアリーから移転しました

CentOS 5 で OpenVZ

基本的には Quick installation - OpenVZ Virtuozzo Containers Wiki にある方法で OK です.

# cd /etc/yum.repos.d
# wget http://download.openvz.org/openvz.repo
# rpm --import  http://download.openvz.org/RPM-GPG-Key-OpenVZ
# yum install ovzkernel
# yum install vzctl vzquota vzpkg vzyum vzrpm*

sysctl.conf の編集をして,とりあえず OpenVZ カーネルで起動するために再起動.

yum で入るテンプレートは少ししかない.

# yum search vztmpl
  : (snip)
=============================== Matched: vztmpl ================================
vztmpl-centos-4.i386 : OpenVZ template metadata for centos-4 i386.
vztmpl-fedora-7.i386 : OpenVZ template metadata for fedora-7 i386.
vztmpl-fedora-core-3.i386 : OpenVZ template metadata for fedora-core-3 i386.
vztmpl-fedora-core-4.i386 : OpenVZ template metadata for fedora-core-4 i386.
vztmpl-fedora-core-5.i386 : OpenVZ template metadata for fedora-core-5 i386.
vztmpl-fedora-core-6.i386 : OpenVZ template metadata for fedora-core-6 i386.

CentOS 5 用は http://www.neonhost.com/openvz/vztmpl-centos-5-2.0-2.i386.rpm にある.

# yum install vztmpl-centos-4.i386
# rpm -ivh vztmpl-centos-5-2.0-2.i386.rpm
# vzpkgls
centos-5-i386-default
centos-5-i386-minimal
centos-4-i386-default
centos-4-i386-minimal
# vzpkgcache

以上のように vzpkgcache で CT インストールの元となる tar.gz ファイルを /vz/template/cache に作成する (CT の / 以下のファイルを tar.gz で固めただけ).

というはずだけど,取得した rpm では,現時点ではキャッシュの生成に失敗する.メッセージを見てると,キャッシュ作成中に走るスクリプトで,CT 内の /etc/init.d/syslog を何かしようとしているが,CT にインストールするリストには sysklogd パッケージがないので,そんなファイルはない!!と言われてしまう.

そこで /vz/template/centos/5/i386/config/ 以下の default.list と minimal.list に sysklogd という行を追加する.これで vzpkgcache が成功する.

# cd /vz/template/centos/5/i386/config/
# echo sysklogd >> default.list
# echo sysklogd >> minimal.list

(2010.07.02 追記)
現時点で vzpkgcache やると

cp: cannot stat `/etc/sysconfig/vz-scripts//ve-vps.basic.conf-sample': No such file or directory
ERROR: Can't copy VPS config

と怒られる模様.

# sed -i -e 's/ve-vps\.basic/ve-basic/' /usr/share/vzpkg/cache-os

で修正.

これは,従来 vzpkg に含まれていた CT 作成の config ファイルの名前が "ve-vps.basic.conf-sample" というような名前だったのが,"ve-basic.conf-sample" というような名前に変わっているためです (vzpkg-3.0.24 から?).でも vzpkg パッケージはまだ更新されてなくて,元のファイル名を期待していると... (>_<)

vzpkg 系使わないで手っ取り早く CT 作るには

CT を作るには,別に vztmpl とか不要で,/vz/template/cache に CT の全ファイルを含む tar.gz ファイルがあれば良いので,http://download.openvz.org/template/precreated/ (http://ftp.iij.ad.jp/pub/openvz/template/precreated/) で探すとか,自作すれば.

# wget http://ftp.iij.ad.jp/pub/openvz/template/precreated/centos-5-x86.tar.gz
# cp centos-5-x86.tar.gz /vz/template/cache

これで

vzctl create 101 --ostempalte centos-5-x86 --config vps.basic

などと CT 作成が可能.