Webサーバを構築する その1
ゲストOSにApacheをインストール〜設定をします。
といってもServerパッケージでOSを構築しているので、個別にインストールする必要はありません。
ファイアウォールが有効になっている場合、ポートを空けてやる必要があります。
[root]# vi /etc/sysconfig/iptables #80、443のポートを受け付ける -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -s 192.168.1.10 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -s 192.168.1.10 -j ACCEPT #ファイアウォールを再起動する [root]# /etc/init.d/iptables restart
Apacheの設定ファイルを変更します。
設定する項目はたくさんありますが、まずはサーバ名を変更しておきます。
[root]# vi /etc/httpd/conf/httpd.conf #ServerName www.example.com:80 ↓ ServerName 192.168.1.14:80 [root]# service httpd start
ゲストOSのクローン
クローンなんつってもただのファイルコピーであります。
ここをみれば詳しいことが。
ゲストOSを停止する
ホストOSのコンソールからxmコマンドでゲストOSを停止します。
[root@xen ~]# xm destroy cos1 [root@xen ~]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 994 1 r----- 1019.1
ゲストOSのファイルをコピーする
ゲストOS作成時に指定したイメージファイルをコピーします。
ディスクの空き容量がちゃんと足りているか確認しましょうね。
[root]# cp -p cos1.img cos2.img
定義ファイルを作成する
/etc/xen/ディレクトリに定義ファイルがあります。
ゲストOSの名前のファイルとなっていますので、コピーして編集します。
ここではname、uuid、vif、diskを変更する必要があります。
uuidは「uuidgen」コマンドでユニークなIDを作ることが出来ます。
[root]# uuidgen
vifはスクリプトで生成します。
[root]# vi macgen.py #! /usr/bin/python # macgen.py script generates a MAC address for Xen guests import random mac = [ 0x00, 0x16, 0x3e, <-- 実際のMACアドレスの上位3オクテット(ベンダーID)を指定します。 random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff) ] print ':'.join(map(lambda x: "%02x" % x, mac))
実行権限をつけて、スクリプトを実行します。
[root]# chmod +x macgen.py [root]# ./macgen.py
コピーして、エディタで変更してください。
[root]# cp -p cos1.img cos2.img [root]# vi cos2 name = "cos2" <-- 修正 uuid = "c121db9d-6016-4ee5-a75f-f28b5352822f" <-- 修正 maxmem = 256 memory = 256 vcpus = 1 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [ ] disk = [ "tap:aio:/var/lib/xen/images/cos2.img,xvda,w" ] <-- 修正 vif = [ "mac=00:16:3e:60:cf:c4,bridge=xenbr0" ] <-- 修正
「xm create」コマンドで新規ドメインを作成して完了です。
[root@xen xen]# xm create cos2 Using config file "./cos2". Started domain cos1
ゲストOS上のホスト名、IPアドレス等についてはネットワーク環境によって変更する必要が発生することもありますが、DHCP使ってる場合は特に必要ありません。
仮想環境のちょっとした設定変更をする
ホストOSにログインして、Xenの状況を確認してみる。
[root@xen ~]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 994 1 r----- 472.1 cos1 2 255 1 -b---- 43.3
「cos1」が作成したゲストOSです。
ゲストOSを自動起動するには、設定ファイルを/etc/xen/autoしたに配置すればOKです。
コピーするか
[root]# cp -p /etc/xen/cos1 /etc/xen/auto/
シンボリックリンクをはります。
[root]# ln -s /etc/xen/cos1 /etc/xen/auto/cos1
Xen@CentOSで仮想サーバを構築する
ググってみたところ、何気にXenで仮想環境をつくるのも簡単そうである。
便利な世の中になったものです。
まずはホストOSをインストール
CentOSをインストールします。
さくっと簡単にインストールできます。本当に便利な世の中です。
インストールパッケージは下記を選択しました。
- Gnome
- 仮想化
※Gnomeは別にいらない気もするけど、ホストOSなんであったほうが何かしら便利かも知れないという安易な考え。
よくわからん人はhttp://centossrv.com/centos5.shtml見るがいいw
別に笑うとこじゃないですが。
・・・猫たちが喧嘩はじめた。騒がしい・・・。
ゲストOSをインストール
ホストOSのインストールが完了して、ネットワークがちゃんとつながりましたら、早速XenでゲストOSを構築してみます。
- Xenの稼動状況を確認する。
[root]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 1095 1 r----- 131.2
Stateの"r"はRunning。はい。動いてますね。
- ゲストOSをインストールする。
いろいろ聞かれますので、適当に入力します。
[root]# virt-install --nographics 仮想マシンの名前は何ですか? cos1 どれだけの RAM を割り当てますか (メガバイト単位で)? 128 エラー: インストールには現在 256 メガの RAM が必要です。 どれだけの RAM を割り当てますか (メガバイト単位で)? 256 What would you like to use as the disk (file path)? /var/lib/xen/images/cos1.img どの位の大きさのディスク (/var/lib/xen/images/cos1.img) にしたいですか(ギガバイト単位で)? 12 インストール場所は何ですか? http://ftp.riken.jp/Linux/centos/5.3/os/i386/ インストールを開始しています...
多少時間がかかりますが、あっけにとられるほど簡単に終わります。
参考URL
Xenユーザーズマニュアル日本語版2.0
http://itpro.nikkeibp.co.jp/article/COLUMN/20080205/293099/?ST=lin-os
※参考URLで使用されているCentOSのバージョンは4.x系だが、最新版の5.3を使う。
http://d.hatena.ne.jp/rdera/searchdiary?word=*[xen]
http://d.hatena.ne.jp/tacke/20090813/1250183942