■NFSv4の導入
2つの仮想XenのホストOSに入れる。
$ sudo apt-get install -y nfs-kernel-server
$ sudo nmap -sT localhost | grep ^111
111/tcp open rpcbind
$ mkdir ~/nfs
$ echo '/home/labunix/nfs 192.168.152.0/24(rw,sync,fsid=0,crossmnt,no_root_squash,no_subtree_check)' | sudo tee -a /etc/exports
$ sudo /etc/init.d/nfs-kernel-server restart
$ netstat -an | grep 2049
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN
tcp6 0 0 :::2049 :::* LISTEN
udp 0 0 0.0.0.0:2049 0.0.0.0:*
udp6 0 0 :::2049 :::*
■NFSv4なので本来ならば以下のようにすべきですが、今回はスルーします。
NFSv4 + Kerberos で セキュリティとユーザーマッピングを解決
http://masahir0y.blogspot.jp/2012/12/nfsv4-kerberos.html
■2つのXenではnfsクライアントの設定を行う。
$ sudo apt-get install -y nfs-client
■それぞれマウントし、マウント出来たらfstabに追記。
$ test -d /media/nfs || sudo mkdir /media/nfs
$ sudo mount -t nfs4 192.168.152.1:/ /media/nfs
$ echo '192.168.152.1:/ /media/nfs nfs4 hard,intr 0 0' | sudo tee -a /etc/fstab
192.168.152.1:/ /media/nfs nfs4 hard,intr 0 0
$ sudo umount /media/nfs
$ sudo mount -a
■とりあえず使うだけなら、「xend-relocation-server yes」にする。
$ grep "#(xend-relocation-server" /etc/xen/xend-config.sxp
$ sudo sed -i s/"#(xend-relocation-server no)"/"(xend-relocation-server yes)"/ /etc/xen/xend-config.sxp
■デフォルトでFWも無い方はご注意を。
他にも要件はあるにせよ、どこからの命令でもマイグレートしてしまいます。
最後までIP書いて$で終わりを指定する方がベターです。
$ grep "hosts-" /etc/xen/xend-config.sxp
$ grep "^(.*hosts" /etc/xen/xend-config.sxp
(xend-relocation-hosts-allow '^localhost$ ^192\\.168\\.152\\.')
$ sudo /etc/init.d/xen restart
$ netstat -an | grep 800[02]
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8002 0.0.0.0:* LISTEN
■nfsv4内にライブマイグレーション用の仮想マシンを作成
root権限はnobodyになるので、直接は作成できない。
mountにもroot権限が要るのでdebian固有の問題かな。
$ sudo xen-create-image --hostname livevm-wheezy \
--ip 192.168.152.85 --netmask 255.255.255.0 --gateway 192.168.152.2 \
--passwd --dir /media/nfs/
■コンソールだと意味が無いので、ip設定をしてping疎通でもとりながら、
ライブマイグレーションします。
$ sudo xm create livevm-wheezy.cfg -c
$ sudo xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 880 2 r----- 415.5
livevm-wheezy 4 128 1 -b---- 7.0
$ sudo xm migrate -l 4 xen-debian
$ ssh xen-debian
$ sudo xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 624 2 r----- 337.6
livevm-wheezy 10 128 1 -b---- 0.2
vmvm0 9 128 1 -b---- 17.3
vmvm2 8 128 1 -b---- 26.9
■まあ、あっという間でした。