最終的にXenの環境は他のHDDへ引っ越せた

まず、XenServer ClientコンソールがXenServerに接続できなかった件だが、xenargentdというデーモンが動いていなかったためと分かった。上のxe host-sr-setコマンドが実行できなかったメッセージ「Could not connect to agent」を見ていて「どうもagentが動いていないらしい」と気付いて、/opt/xensource/xenargentd/bin/xenargentdというデーモンを-tオプションで手動で起動したら、/bootのカーネルやinitrdイメージを参照していたが、オリジナルのファイルシステムではあったシンボリックリンクを設定していなかったために「ファイルが見つからない」と実行を停止していた。

xenargentdを継続動作させるためには次のシンボリックリンクを/boot内に構成する必要ある。

# cd /boot
# ln -s ./initrd-2.6.16.38-xs3.2.0.531.3960xen.img initrd-2.6-xen.img
# ln -s ./vmlinuz-2.6.16.38-xs3.2.0.531.3960xen vmlinuz-2.6-xen
# ln -s ./vmlinuz-2.6.16.38-xs3.2.0.531.3960kdump vmlinuz-kdump
# ln -s ./xen-3.0.4.1.gz xen-3.0.gz
# ln -s ./xen-3.0.4.1.gz xen-3.gz
# ln -s ./xen-3.0.4.1.gz xen.gz

その後、リブートしたらxenargentdも存在し、無事にXenServer Clientコンソールからもコネクトできた。

さて、この状態で、仮想マシンを生成してみたら「却下(リフューズ)」された。考えられる原因とすれば、先程実験的に作成したStorage Repositoryが小さすぎる(4GBだけ)のでは?と言うくらいしか思い当たらない。ディスクを整理してSR用の大きなファイルを設定できるようにした。以下はそのスクリプト

まずは、16GBのファイルを作る。(mkfsはしなくても大丈夫。後でsm createでやってくれる。)

# dd if=/dev/zero of=SR.img bs=1M count=1 seek=16000
読み込んだブロック数は 1+0
書き込んだブロック数は 1+0
# ls -l
 -rw-r--r--  1 root root 16778264576  7月 16 12:39 SR.img

次に、/dev/loop9に関連付けして、初期化をする。新たにUUIDが与えられる。

# losetup /dev/loop9 /home/Xen/SR.img

# sm create -v /dev/loop9
WARNING: All existing data in [/dev/loop9] will be overwritten
Do you wish to continue? (y or n)  y
Create operation succeeded
4a3e73a7-4b55-167c-4118-6d366e415337

新しいUUIDを使って xe host-sr-setを行なう。今度は成功。/etc/smtabをみると情報が書き込まれている。

# xe host-sr-set -u root sr-id=4a3e73a7-4b55-167c-4118-6d366e415337 active=true

# cat /etc/smtab
4a3e73a7-4b55-167c-4118-6d366e415337    null    lvm     default auto

最後に、手動でSRをアタッチして、デーモンを再起動する。

# sm attach -v 4a3e73a7-4b55-167c-4118-6d366e415337 none
SRM -> 4a3e73a7-4b55-167c-4118-6d366e415337 (name [NULL])
        Physical Size: 16000(MB)
        Allocated Size: 2048(MB)
        Num VDIs: 0
4a3e73a7-4b55-167c-4118-6d366e415337

# sm info
SR ID: [4a3e73a7-4b55-167c-4118-6d366e415337]
        Name:   [NULL]
        Descr:  [DESCR]
        Device: [/SR-4a3e73a7-4b55-167c-4118-6d366e415337/images]
        Host:   [127.0.0.1]
        Type:   [0]
        Shared: [0]
        State:  [2]
        Phys_size:      [16000 MB]
        Alloc_size:     [2048 MB]

# service smtab restart
Stopping xenagentd:                                        [  OK  ]
Detaching Storage Repositories:                            [  OK  ]
Attaching Storage Repositories:                            [  OK  ]

# service xenagentd restart
Stopping xenagentd:                                        [失敗]
Starting xenagentd:                                        [  OK  ]

これでXenServer ClientコンソールでXenServerに接続して、仮想マシンを生成したところ成功。Windows 2000が動いている。

この状態でのdevice-mapperの状態を載せておく。

# mount
/dev/sda5 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda2 on /boot type ext3 (rw)
/dev/sda7 on /foreign type ext3 (rw)
/dev/sda6 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/VG_XenStorage--4a3e73a7--4b55--167c--4118--6d366e415337-SRM on /SR-4a3e73a7-4b55-167c-4118-6d366e415337/SRM type ext3 (rw)

# dmsetup info
Name:              VG_XenStorage--4a3e73a7--4b55--167c--4118--6d366e415337-LV--be9387ec--8d11--49a3--90d5--392d3da51f50.hda
State:             ACTIVE
Tables present:    LIVE
Open count:        2
Event number:      0
Major, minor:      253, 1
Number of targets: 1
UUID: LVM-px1TIAMW92M3DVNQ1aSFAV0pvJC066h16MnSUQWX3v0r93WrdRiKzwGhtHxPI3YN

Name:              VG_XenStorage--4a3e73a7--4b55--167c--4118--6d366e415337-SRM
State:             ACTIVE
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      253, 0
Number of targets: 1
UUID: LVM-px1TIAMW92M3DVNQ1aSFAV0pvJC066h1tS7DXFzm0gT2yNWb3RH9FKuW1ra8AdF1