過日にetch下でのテストを書いたが、今回はlenny下で実可動させてみる。対象はWebサーバで、うちのバイク分室・セリオ専科など現在の実稼働ドメイン、それから空転状態で休眠しているイリヤ鯖である。
留意点は過去のページと同じです。
apt-lineを用意しよう。
# vi /etc/apt/sources.list ---------------------------------------------- # openvz deb http://download.openvz.org/debian-systs lenny openvz
上の参考ページの方も書かれていますが、DebianではOSテンプレートが既にあるのでそっちの心配はいらないです。
あれ?公式リポジトリがある?むむむ、もしかして上のは無理にはいらないかも。
うちはこんなん入ってます。
# dpkg -l|grep vz ii linux-image-2.6.26-2-openvz-686 2.6.26-21lenny4 Linux 2.6.26 image on PPro/Celeron/PII/PIII/ ii linux-image-openvz-686 2.6.26+17+lenny1 Linux image on PPro/Celeron/PII/PIII/P4, Ope ii vzctl 3.0.23-1dso1 OpenVZ - server virtualization solution - co ii vzctl-ostmpl-debian-5.0-i386-minimal 20090121 OpenVZ - OS Template debian-5.0-i386-minimal ii vzquota 3.0.12-1dso1 OpenVZ - server virtualization solution - qu # update-grub # shutdown -r now
/home/vz配下にしたので、オリジナルのツリーをもらってきた。
# cd /var/lib/ # tar pcvf /home/vz.tar vz # cd /home # tar -xvf vz.tar # ls -ltr
#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
初期ディスク容量である。いじってもいいがもっと簡単な方法を示しておく。つまり 稼働後にコマンド一発で変えられる 。
# vzctl set 101 --diskspace 12G:13G --save # vzquota show 101 resource usage softlimit hardlimit grace :
うおお、こんな方法があったのか。参考になります(汗
ちなみに現在既に動いているノードがあるなら、使用量をこれで確認もできる。
# vzctl exec 101 df -h Filesystem Size Used Avail Use% Mounted on simfs 14G 5.7G 8.4G 41% / tmpfs 755M 0 755M 0% /lib/init/rw tmpfs 755M 0 755M 0% /dev/shm #
もし上記でディスク容量を少し増やしたいなら、こうすればいいわけだ。ちなみに左側がSoftLimit、右側がHardLimit。意味を知りたい人は quota について調べるといいが、まぁ要するに容量制限である。
# vzctl set 101 --diskspace 10G:11G --save
手動でいじるなら以下を。でも大変そうだ。
#DISKSPACE="1048576:1153024" DISKSPACE="1572864:1730151"
参考ページにFair CPU Schedulerというのがあった。さっそく参考にさせてもらいます。以下少し引用
Fair schedulerはそれぞれのVEにCPUリソースを割り当て、管理を行います。 これは二段階に分けて行われます。 まず第一段階で、VEのcpuunitsの値を元にリソースを割り当てます。 次の第二段階で、VE上で動いているプロセスに割り当てます。(この時は通常のlinuxのプロセス優先順に従います) CPU使用率を以下二つのパラメーターで定義します。 cpuunits:最低保障されるリソース cpulimit:最大リソース まずCPU使用率を確認 # vzcpucheck Current CPU utilization: 7000 Power of the node: 149784 cpuunitsを1% cpulimitを3%とするには # vzctl set 101 --cpuunits 1497 --cpulimit 3 --save Setting CPU limit: 3 Setting CPU units: 1497 Saved parameters for VE 101
もちろん他にも稼働中にいろいろといじれる。なお、このへんは参考ページの丸写しであるが細部はうちの環境にあわせて変えてあります。
# vzctl set 101 --vmguarpage 256M # メモリの最低割り当て保障値 (ギャランティ) # vzctl set 101 --privvmpages 1G # メモリの利用最大値 # vzctl set 101 --shmpages 512M # 共有メモリとtmpfsへの上限 # vzctl set 101 --numproc 192 # プロセス数上限 (No more processes.と出たときに) # vzctl set 101 --numfile 3072 # ファイルオープン数上限 # vzctl set 101 --tcpsndbuf 1280000 # TCP通信送信バッファ # vzctl set 101 --tcprcvdbuf 1280000 # TCP通信受信バッファ # vzctl set 101 --dcachesize 50M # /dev/shm/ 割当量
マシン名は以前と同じく 1isetta にしよう。今回、IPは 192.168.1.6 とする。
# vzctl create 101 --ostemplate debian-5.0-i386-minimal --config vps.basic # vzctl set 101 --hostname isetta --save # vzctl set 101 --ipadd 192.168.1.6 --save # vzctl set 101 --nameserver 192.168.1.7 --save # vzctl set 101 --onboot yes --save # vzctl start 101 # vzlist VEID NPROC STATUS IP_ADDR HOSTNAME 101 4 running 192.168.1.6 isetta #
ネームサーバが変なところにあるのは以下の理由による。
lenny上にlennyがいる……ちゃんとパッケージシステムもうごくDebian systemだ!@@
# vzctl enter 101 entered into VE 101 # ls bin dev home media opt root selinux sys usr boot etc lib mnt proc sbin srv tmp var # cat /etc/issue Debian GNU/Linux 5.0 \n \l #
たぶんip forward関係のフラグがたってない。よくわかんないなら、このへんを適当にチェックしてから再起動しておこう。何食わぬ顔で動き出すはずだ。
# vi /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.all.forwarding = 1 net.ipv4.conf.eth0.forwarding = 1 net.ipv4.conf.eth1.forwarding = 1 net.ipv4.conf.all.proxy_arp = 1 net.ipv4.conf.eth0.proxy_arp = 1 net.ipv4.conf.eth1.proxy_arp = 1
この後、apache2と周辺の小さなもの、sync用のftpd、mutt環境(問い合わせや感想メールはよそに配送せずここに集約されている)と設定ファイルをいれて動作確認した。
最後に本Webを見てログと引き比べてチェック完了。
現在、一晩過ぎたが集約は無事動作しているようだ。ntpの問い合わせ先は7番で間隔は1分にしてあるが、問題なければ少し伸ばしたい。
これでしばらく様子見である。
1.