[Debianセットアップ]OpenVZを使う |
なんとも素晴らしい!
自由にサービスを物理サーバ間で移動できるとなると、設計時からサーバスペックにかなりの余裕を持たせて構築する必要はありませんよね。 |
Debian 環境セットアップ |
hda3 | boot |
4096MB
|
/ | ||
hda5 | SWAP |
3072MB
|
|||
hda6 |
20480MB
|
/var | |||
hda7 |
65000MB
|
/vz |
iface eth0 inet static | ||
address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 auto eth0 |
# vi /etc/resolv.conf (下記はDNS設定の例)
----------------------------------------------
nameserver 192.168.1.2
nameserver 192.168.10.2
(2)最低限必要なサービスをインストールする
最低限必要なのは、SSHとFTPDのみ。
この2つさえあれば、リモートからサーバをコントロールできるので、2つをインストールした時点でサーバコンソールから離れて、自分のパソコンから設定ができるのでとても楽になります。
昔は直接コンパイルしていましたが、最近パッケージのバージョンも上がってきているので、今回はパッケージからインストールします。
・ProFTPD 1.2.10のインストール
# apt-get install proftpd
# mkdir /var/log/proftpd (ログ出力のためのディレクトリを切っておく。)
・OpenSSHのインストール
# apt-get install ssh
設定中にいくつか質問されるが、特別理由がない限りデフォルトでOK。
標準インストールではSSHでログインするために証明書が必要になりますが、まだ設定していないので、パスワードによる認証でもログインできるように変更します。
# vi /etc/ssh/sshd_config
----------------------------------------------
PasswordAuthentication no→yes (とりあえずパスワードログインOKに)
adduserでユーザが作ってあれば、これでSSHでログインできるはず。
但し、これは暫定設定なので、サーバを外部に出す前までには、PasswordAuthentication noに戻す必要があります。
(3)OpenVZのインストール準備
まずはネットワークからインストールするための準備を行なう必要があります。
・debianパッケージを追加するために、sources.listを編集。
# vi /etc/apt/sources.list
----------------------------------------------
deb http://debian.systs.org/ stable openvz (の記述を追加)
# apt-get update (sources.listを変更した場合は、必ず情報を更新)
※Debianでは既にOSテンプレートをパッケージで提供しているため、特に独自にダウンロードする必要はなくなりましたが、必要な場合は
http://download.openvz.org/template/precreated/ よりダウンロードすることができます。
ファイル名はdebian-3.1-i386-minimal.tar.gz
※apt-getコマンド の使い方はこちら
このファイルをopenVZの[INSTディレクトリ]/template/cache下にそのまま配置することで、仮想OSが展開できるようになります。(今回は配置しない:自動的に配置されるので)
(4)OpenVZのインストール
前述したように、カーネル2.6.16をインストールします。
# aptitude install ovzkernel-2.6.16 vzctl vzquota vzctl-ostmpl-debian
# /sbin/update-grub (grubの設定を更新する)
# reboot
これで立ち上がってこれば仮想化の準備はすべてOKということになります。
【追記】2007.03.23時点で 「ovzkernel-2.6.18」がリリースされていました。
(5)バーチャルサーバの設定変更
めでたくサーバーが立ち上がってきたら、OpenVZの設定を少し変更することにします。
# vi /etc/vz/vz.conf
----------------------------------------------
VE_ROOT=/var/lib/vz/root/$VEID → /vz/root/$VEID(バーチャル用のパーティションに割り当て)
VE_PRIVATE=/var/lib/vz/private/$VEID → /vz/private/$VEID(上に同じ)
# vi /etc/vz/conf/ve-vps.basic.conf-sample 規定値ではディスク容量が少なすぎるので変更する。
----------------------------------------------
DISKSPACE="1572864:1730151" (例では、ディスク容量を1.5GBに設定した状態)
(6)バーチャルサーバの新規構築
あとはテンプレートを使って新しいサーバを設定するだけです。
# vzctl create 101 --ostemplate debian-3.1-i386-minimal --config vps.basic
(上記ではdebian-3.1-i386-minimalのテンプレートを使って、サーバを構築する設定である。)
# vzctl set 101 --hostname VS001 --save (ホスト名の設定)
# vzctl set 101 --ipadd 192.168.1.20 --save (IPアドレスの設定)
# vzctl set 101 --nameserver 61.197.1.2 --save (DNSの設定)
# vzctl set 101 --onboot yes --save (自動起動を可能にする)
(7)バーチャルサーバの起動・停止
バーチャルサーバの起動は、マスターのコンソールから下記を入力するだけでOK
# vzctl start 101 (起動)
# vzctl stop 101 (停止)
# vzctl restart 101 (リスタート)
ちなみにバーチャルサーバー起動状況の確認は下記のコマンドで確認できます。
# vzlist
また、コンソールからバーチャルサーバにログインするには、次のように入力します。
# vzctl enter 101
バーチャル環境が一つだけなら問題ないのですが、複数立ち上げるようになると、どのバーチャルサーバを触っているのか混乱することがあります。私もずいぶん混乱した。(笑)
混乱を避けるためにも、バーチャルサーバには別々のSSHでログインしたほうが、いいかもしれませんね。