openvzを使ってみる。

openvzは仮想マシンである。メモリ関連が弱いと言われるがXenに比べるとインストールは非常に簡単だった。以下にメモしておく。

なお、インストールしたのはDebian etch。sargeの例のページを発見したので、喜んで参考にさせてもらった。あとカーネルを差し替えるので、いろいろカスタムしていないマシンの方が楽だと思います。

参考サイト

準備

apt-lineを用意しよう。

# vi /etc/apt/sources.list
----------------------------------------------
deb http://debian.systs.org/ etch openvz 

上の参考ページの方も書かれていますが、DebianではOSテンプレートが既にあるのでそっちの心配はいらないです。

作業開始

インストール

# aptitude install linux-image-2.6.18-12-fza-686-bigmem vzctl vzquota vzctl-ostmpl-debian
# update-grub
# shutdown -r now

展開

/home/vz配下にしたので、オリジナルのツリーをもらってきた。

# cd /var/lib/
# tar pcvf /home/vz.tar vz
# cd /home
# tar -xvf vz.tar
# ls -ltr

設定

/etc/vz/vz.conf

#VE_ROOT=/var/lib/vz/root/$VEID
#VE_PRIVATE=/var/lib/vz/private/$VEID
VE_ROOT=/home/vz/root/$VEID
VE_PRIVATE=/home/vz/private/$VEID

/etc/vz/conf/ve-vps.basic.conf-sample

ディスク容量を増やす。1.5GBってとこかな?@@; <ちゃんと把握しろ

#DISKSPACE="1048576:1153024"
DISKSPACE="1572864:1730151"

仮想マシン作るぞ:D

マシン名は 1isetta にしよう。IPは 192.168.1.8 とする。

# vzctl create 101 --ostemplate debian-4.0-i386-minimal --config vps.basic
Creating VE private area (debian-4.0-i386-minimal)
Performing postcreate actions
VE private area was created
# vzctl set 101 --hostname isetta --save
Saved parameters for VE 101
# vzctl set 101 --ipadd 192.168.1.8 --save
Saved parameters for VE 101
# vzctl set 101 --nameserver 192.168.1.1 --save
Saved parameters for VE 101
# vzctl set 101 --onboot yes --save
Saved parameters for VE 101
# vzctl start 101
Starting VE ...
VE is mounted
Adding IP address(es): 192.168.1.8
Setting CPU units: 1000
Configure meminfo: 65536
Set hostname: isetta
File resolv.conf was modified
VE start in progress...
# vzlist
      VEID      NPROC STATUS  IP_ADDR         HOSTNAME
       101          4 running 192.168.1.8    isetta
#

入ってみよ〜:D

etch上にetchがいる……ちゃんとパッケージシステムもうごくDebian systemだ!@@

# vzctl enter 101
entered into VE 101
# ls
bin  boot  dev  etc  home  initrd  lib  media  mnt  opt  proc  root  sbin  srv  sys  tmp  usr  var
# cat /etc/issue
Debian GNU/Linux 4.0 \n \l

#

最後に

仮想マシンは信頼性が落ちる。マシンの上でマシンを動かすのだから当然だ。だから土台はきちんとしたマシンにする必要がある。今までが安物ならば最低でも数ランク上に。

また、openvzは性能こそ悪くないがメモリ管理が弱いという下馬評もある。それにLinux on Linuxに特化していて異種OSが動くわけではないから、その意味でも半端ではある。

だけど実際の動作で必要なのは「他ユーザに少ない悪影響で集約」だと思う。そもそも、現在実サーバで動いているものを集約するなんて用途の場合、大抵そのサーバは暇を持て余してる奴なわけで、「確実かつ難しくない操作で集約できる」のはひとつの魅力じゃないかと思う。


1.Wikipedia情報『BMW・イセッタ』 :D