XenServerのインストールと仮想マシンの作成

XenServerでサーバ仮想化+DeleGateでグローバルIPひとつを使い回す - yuhei.kagayaの続き。



ダウンロード | XenServer | 製品情報 | シトリックスから、英語の質問に答えてXenServerとLinuxパックをダウンロード。
ダウンロードしたら、isoイメージをCD-Rに焼く。
あと、管理ツールのXenCenterもダウンロードして、ノートパソコンにインストールしておく(要.NET Framework)。

下記のページを参考にさせていただき、XenServerとLinuxパックをインストール。
[XenServer 5.0] インストール(XenCenter) - BLUE21(xe5_install_center1)
[XenServer 5.0] インストール(XenServer) 1/3 - BLUE21(xe5_install_server1)
[XenServer 5.0] インストール(XenServer) 2/3 - BLUE21(xe5_install_server2)


次に、XenCenterから各XenServerに接続して、仮想マシンを作る。
の前に、各XenServerに入れるOSのISOイメージを192.168.11.2のサーバに置き、各XenServerから共通で使えるようにする。
これで、XenCenterのドライブメニューから選択できるようになる。

ISOライブラリ登録用NFSサーバの構築

DeleGateサーバ兼ISOライブラリ登録用NFSサーバ(192.168.11.2)のOSはCentOS4.7。
/home/storageを共有するように設定。

mkdir -p /home/storage/INSTALL/iso/Tools
vi /etc/exports
/home/storage 192.168.11.0/24(ro)

設定を反映させる。

exportfs -r

設定できたか確認。

exportfs -v
/home/storage   192.168.11.0/24(ro,wdelay,root_squash)

allowとdenyの設定。

vi /etc/hosts.deny
portmap mountd statd nfsd lockd rquotad: ALL

vi /etc/hosts.allow
portmap mountd statd nfsd lockd rquotad: 192.168.11.0/255.255.255.0

リスタートして確認。

/etc/init.d/portmap restart
/etc/init.d/nfs restart
rpcinfo -p
   プログラム バージョン プロトコル ポート
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp    635  status
    100024    1   tcp    638  status
    100011    1   udp    647  rquotad
    100011    2   udp    647  rquotad
    100011    1   tcp    650  rquotad
    100011    2   tcp    650  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    1   udp  35272  nlockmgr
    100021    3   udp  35272  nlockmgr
    100021    4   udp  35272  nlockmgr
    100021    1   tcp  40352  nlockmgr
    100021    3   tcp  40352  nlockmgr
    100021    4   tcp  40352  nlockmgr
    100005    1   udp    663  mountd
    100005    1   tcp    666  mountd
    100005    2   udp    663  mountd
    100005    2   tcp    666  mountd
    100005    3   udp    663  mountd
    100005    3   tcp    666  mountd


XenCenterから下記のように行う。

  1. New Storage
  2. NFSを選択して、Next
  3. 以下のように入力
    1. Name NFS ISO library(tools)
    2. ShareName 192.168.11.2:/home/storage/INSTALL/iso/Tools
  4. Finish


が、NFSマウントできず、失敗する。。。

xensv01から調べてみたところ、portmapperにたどり着けてないっぽい。

[root@xensv01 ~]# /usr/sbin/rpcinfo -p 192.168.11.2
rpcinfo: can't contact portmapper: RPC: Remote system error - No route to host

ファイヤーウォール開けてなかった。。。

NFSのポート番号を固定

rpc.statdやrpc.mountdはportmapでころころかわるらしい。
ファイヤーウォール全開は嫌なので、NFSのポート番号を固定にする。

portmap tcp,udp 111 既に固定されてる
nfs tcp,udp 2049 既に固定されてる
lockd tcp,udp 10001 今回固定する
statd tcp,udp 10002,10003 今回固定する
mountd tcp,udp 10004 今回固定する
rquotad tcp,udp 10005 今回固定する


設定ファイルを作成する。

vi /etc/sysconfig/nfs

### NFS port numbers ###
# rpc.statd
STATD_PORT=10002
STATD_OUTGOING_PORT=10003

# rpc.mountd
MOUNTD_PORT=10004

# rpc.rquotad
RQUOTAD_PORT=10005

# nlockmgr
LOCKD_UDPPORT=10001
LOCKD_TCPPORT=10001

ファイヤーウォールを開ける。

iptables -I RH-Firewall-1-INPUT 15 -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 15 -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT

iptables -I RH-Firewall-1-INPUT 15 -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 15 -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT

iptables -I RH-Firewall-1-INPUT 15 -p tcp -m state --state NEW -m tcp --dport 10001:10005 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 15 -p udp -m state --state NEW -m udp --dport 10001:10005 -j ACCEPT

/etc/init.d/iptables save
/etc/init.d/iptables restart


設定を反映する。(nfslock、nfsの再起動)

service nfslock restart
service nfs restart

/usr/sbin/rpcinfo -p
   プログラム バージョン プロトコル ポート
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  10002  status
    100024    1   tcp  10002  status
    100011    1   udp  10005  rquotad
    100011    2   udp  10005  rquotad
    100011    1   tcp  10005  rquotad
    100011    2   tcp  10005  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100021    1   udp  10001  nlockmgr
    100021    3   udp  10001  nlockmgr
    100021    4   udp  10001  nlockmgr
    100021    1   tcp  10001  nlockmgr
    100021    3   tcp  10001  nlockmgr
    100021    4   tcp  10001  nlockmgr
    100005    1   udp  10004  mountd
    100005    1   tcp  10004  mountd
    100005    2   udp  10004  mountd
    100005    2   tcp  10004  mountd
    100005    3   udp  10004  mountd
    100005    3   tcp  10004  mountd

コレでオッケー。固定したら、XenCenterからISOライブラリの登録ができた。


参考にさせていただきました。
Linuxシステム構築Tips - NFSサーバのポートを固定する設定方法 (RHEL編)
How can I configure a system as an NFSv3 server which sits behind a firewall with NFS clients outside of the firewall? - Red Hat Customer Portal

ISOライブラリをもってくる。

CentOSのホームページから、CentOS5.2をDVDイメージをダウンロードしてもってきた。
ファイルがかなりでかいので、nohupでバックグラウンドで動かしておく。
夜だったし、一晩寝た。起きたら終わってた。

cd /home/storage/INSTALL/iso/Tools
nohup wget http://www.ftp.ne.jp/Linux/packages/CentOS/5.2/isos/i386/CentOS-5.2-i386-bin-DVD.iso &

仮想マシンの作成

こちらを参考にさせていただき、各XenServerにCentOS5.2の仮想マシンを作成。
[XenServer 5.0] XenVM作成 - CentOS 5.0 ( 1/3 ) - BLUE21(xe5_centos5_1)


作成完了後自動起動してるので、XenCenterのConsoleタブを選択して、いつものOSインストールウィザード開始。


ちなみに、日本語UTF-8でインストールしたら、XenCenterのコンソールで文字化けして何してんだかわからない。。。
なのでEnglishでインストールしたほうがいい。
XenCenterのコンソールの文字コード、変えられないのかな?


XenServer自体にログインして、/etc/sysconfig/i18n のファイルを編集して文字コードを変え、再起動してみたけどダメだった。。
デフォルト。

LANG="en_US.UTF-8"
SYSFONT="drdos8x8"

これにしてみた。

LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"

意味なし。。。とりあえず元に戻してEnglishのままにする。


XenCenterから仮想マシンのVirtualization Stateがとれない

仮想マシンにxs-tools.isoからツールを入れないといけないっぽい。


まずはXenCenterから仮想マシンを選択し、XenCenterのドライブメニューからxs-tools.isoを選択。

次に、XenCenterのConsoleタブを選択してログイン。

ドライブメニューで選択したxs-tools.isoをマウントしてインストール。

mount /dev/xvdd /mnt
/mnt/Linux/install.sh
/vinstall.sh 
Detected `CentOS release 5.2 (Final)' (centos version 5).

The following changes will be made to this Virtual Machine:		
  * packages to be installed/upgraded:
    - kernel-xen-2.6.18-92.1.10.el5.xs5.0.0.39.i686.rpm
    - xe-guest-utilities-5.0.0-361.i386.rpm

Continue? [y/n] ^[[A
Invalid response `ontinue? [y/n] 
Invalid response `['
Continue? [y/n] 
Invalid response `A'
Continue? [y/n] y

Preparing...                ########################################### [100%]
   1:xe-guest-utilities     ########################################### [100%]
Preparing...                ########################################### [100%]
   1:kernel-xen             ########################################### [100%]

You should now reboot this Virtual Machine.

んで、再起動。
すると、XenCenterから情報がとれた。
Virtualization State:Optimized(version 5.0 installed) になった。


参考にさせていただきました。
4.4.Linuxゲストエージェントのインストール
Chapter5.VMの更新