はじめに
いままでは、VPS(Virtual Private Server) といえば、完全な仮想マシンをエミュレートする VMware, VirtualPC が二大双璧でした。しかし、最近では Linux 上で動作する Xen, Linux-VServer, OpenVZなどが注目を浴びつつあります。これらが注目されるのは、オープンソースであるだけでなく、パフォーマンスを最優先として開発されてきていことが、大きな要因の一つではないかと感じています。
今回、すでに製品として大きな評価を得ている Virtuozzo をオープンソース化した OpenVZ を動かしてみました。
OpenVZ を使うための準備
とにかくマニュアルがないと手が出せないので、まずはマニュアルをダウンロードします。
英文のマニュアル
一通り目を通しておくといいですね。(自分は、途中で読み始めましたが…)
とりあえず、準備したハードウェアに Linux をインストールしておきましょう。推奨されているのは、Fedora Core 3 , Fedora Core 4 , Red Hat Enterprise Linux 4 と書いてありました。しかし、手持ちの CentOS 4 でも大丈夫でした。
注意点は、Firewall と SELinux を使用しないように設定しておくことです。(マニュアルにも書いてあります。)後は、できるだけスリムなパッケージ構成(Server Type など)にしましょう。
OpenVZ Kernel のインストール
http://openvz.org/download/kernel/ から必要とする Kernel RPM をダウンロードします。
自分の場合には、Pentium4 2.4AGHz, 1GB Memory なので、
vzkernel
をダウンロードしました。
後は、通常通りのインストールです。
# rpm -ivh ozvkernel-2.6.8-022stab070.1.i686.rpm
(くれぐれも、アップデートインストールではありませんので、ご注意を。)
ブートローダの設定
grub.conf の中身を確認しておきましょう。
sysctl パラメータの設定
/etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls proxy arp
net.ipv4.conf.default.proxy_arp = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# we do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
ここで、いったんリブートします。(無事に立ち上がってくれればいいのですが…)
Utilities をインストール
http://openvz.org/download/utils/ から
http://openvz.org/download/template/utils/ から
をダウンロードして、インストールします。
# rpm -Uvh vzctl*.rpm vzquota*.rpm vzpkg*.rpm vzyum*.rpm vzrpm*.rpm
OpenVZ の起動
# /sbin/service vz start
OS テンプレートのインストール
本当であれば、Metadata を作成して、Cache を作るようなのですが、作り方がよくわからないので、ダウンロードしてインストールします。
http://openvz.org/download/template/metadata/ には、
の Template metadata がおいてあります。
# rpm -ivh vztmpl*.rpm
ここで cache を作成するために、
# vzpkgcache
を実行するのですが、時間がかかりそうなので、cache も作られているものをダウンロードしちゃいます。
http://openvz.org/download/template/cache/ から
- CentOS 4(defualt) 105MB
- CentOS 4(minimal) 33MB
- Debian 3.1(minimal) 42MB
- Fedora Core 3(default) 104MB
- Fedora Core 3(minial) 33MB
- Fedora Core 4(default) 111MB
- Fedora Core 4(minimal) 43MB
一緒に signature もダウンロードしておくといいと思います。
これらのファイルは、/vz/template/cache においておきます。
これでだいたい準備が完了しました。(お疲れ様です。)
テンプレートの確認
# vzpkgls
centos-4-i386-default
centos-4-i386-minimal
fedora-core-4-i386-default
fedora-core-4-i386-minimal
VPS の作成
# vzctl create 101 --ostemplate fedora-core-4-i386-default --config vps.basic
Creating VPS private area
VPS private area was created
# vzctl create 102 --ostemplate centos-4-i386-default --config vps.basic
Creating VPS private area
VPS private area was created
VPS の環境設定
スタートアップ時に自動起動させる場合
# vzctl set 101 --onboot yes --save
Saved parameters for VPS 101
# vzctl set 102 --onboot yes --save
Saved parameters for VPS 102
ネットワークの設定
ホスト名、IP アドレス、DNS サーバアドレス
# vzctl set 101 --hostname test101.mydom.org --save
# vzctl set 101 --ipadd 192.168.xx.yy --save
# vzctl set 101 --nameserver 192.168.xx.zz --save
VPS の起動
# vzctl start 101
root のパスワード変更
# vzctl set 101 --userpasswd root:password
起動の確認
# vzlist
VPSID NPROC STATUS IP_ADDR HOSTNAME
101 17 running 192.168.xx.yy test101.mydom.org
VPS の停止
# vzctl 101 stop
ssh で接続してみる
# ssh test101.mydom.org
root@test101's password:
Last login: ほにゃらら
[root@test101 ~]#
やったー!!
※コメント投稿者のブログIDはブログ作成者のみに通知されます