--- layout: old_post title: Rails環境の整備-CentOSにLinuxVServerを入れてみる permalink: /tatsuya/show/339-rails-centos-linuxvserver ---

最近実験用にサーバを追加した、どうせなのでOS仮想化して環境を作ろうと思う。仮想化しとけばハードさえ買ってくれば環境のセットアップが楽なので
最近の流行りからいうとXenが良さそうだけど、ちょっと大げさな気もするなーと思ってたらVServerってのが良さそうだ

dara日記 - Debian etch + Linux-VServer Rails向きのVM環境を構築する
Z手帖 - OpenVZについて

現在の仮想化技術は大きく3種類に分かれて

1) Virtual machines (仮想マシン)
 Vmware、Parallels、Virtual Server等

2) Paravirtualization(準仮想化)
 Xen、UML等

3) Virtualization on the OS levelOSレベルの仮想化)
 OpenVZ、Linux-Vserver、Solaris Zone

で仮想化レベルは1が一番高い、1は完全にハードウェアをエミュレートするのでクライアントは何でもOK
逆に仮想化に必要なオーバヘッドが高いのでパフォーマンスが悪い、らしい。
Vserverが属する3は逆にオーバヘッドが低く、その代わり仮想化レベルも低い(カーネルは共有)。

ということでVServerセットアップをメモ、ベースはCentOS5

1) CentOS5を普通にインストール
 GUIで楽々インストール、適当に

2) RPMでVServer対応カーネルへ差し替えて再起動(参考:http://linux-vserver.org/Installation_on_CentOS
 wget -c http://rpm.hozac.com/dhozac/fedora/6/vserver/i386/kernel-2.6.20-1.2936.fc6.vs2.2.0.1.i686.rpm 
 rpm -ivh kernel-2.6.20-1.2936.fc6.vs2.2.0.1.i686.rpm
 reboot

3)ホスト環境のsshd設定(参考:http://d.hatena.ne.jp/darashi/20070328/1175089122
 ListenAddressをホスト環境のIPに変更しておく
 vi /etc/ssh/sshd_config
 ListenAddress 192.168.1.99  と追加して保存(ホスト環境のIP)

4) util-vserver を入れる(参考:http://opentechpress.jp/developer/article.pl?sid=06/06/25/0257254
 準備dietlibcとbeecrypt-develを入れておく
 yum install -y dietlibc beecrypt-devel

 util-vserverのソースを落としてくる
 wget http://ftp.linux-vserver.org/pub/utils/util-vserver/util-vserver-0.30.212.tar.bz2
 tar -zxvf util-vserver-0.30.212.tar.bz2
 cd util-vserver-0.30.212

 ./configure
 make && make install && make install-distribution

 インストールの結果を確認
 wget http://vserver.13thfloor.at/Stuff/SCRIPT/testme.sh
 chmod 700 testme.sh
 ./testme.sh

 次のように表示されればOK
 Linux-VServer Test [V0.15] Copyright (C) 2003-2006 H.Poetzl
 chcontext is working.
 ・・・・・・・・・・・・・・
 [000]# succeeded.
 [001]# succeeded.
 [011]# succeeded.
 [031]# succeeded.
 [101]# succeeded.
 [102]# succeeded.
 [201]# succeeded.
 [202]# succeeded

5) ゲスト環境をセットアップ(参考:http://www.ne.jp/asahi/open/gallery/linux/vserver/vserverfc5/vserverfc5.htm
 sudo vserver template build -m yum --hostname=template --interface eth0=eth0:192.168.1.100/24 -- -d fc6
 で自分の環境だと /vservers/template が作られる。
 これ以後割と自分の環境用メモへと

 cp /etc/resolv.conf /vservers/template/etc/. #ホストからゲストへコピー
 vyum template -- install yum #ゲスト環境へyumをセットアップ
 vserver template start #開始
 yum install openssl-server
 yum install rootfiles
 yum instlal emacs
 ・・・・・・普段使用するツールを入れていく

 yum install mysql-server
 yum install ruby
 wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
 gem install rails
 ・・・・・・・・・続く
 
 ホスト起動時にゲスト環境も自動で立ち上げるには以下のように
 echo default > /etc/vservers/basil/apps/init/mark

これであとは /vserver/template 配下をtarで固めて持って行けば、サーバ追加しても同じ環境が動く、で良いんだよね?実験用にサーバ追加も簡単。
よし、セットアップを続けよう。基本になる環境ができたら保管しておこうかな。