SDLab

SDLab
SDLab.org::Adminな脳み

2014年4月16日水曜日

XenServer6.2 で RHEL7 を ParaVirtual で動かしたい

えーと、今回もNGでした。
でも、 XenServer6.2.5 でRHEL7は動作 しました。
※XenServer6.2.5 は、XenServer6.2ではありません。次のXenServerの開発版です。
※XenServer6.2.5 は正式Build番号は、6.2.50 です。

はじめに

XenCenterから「Other install media」として、完全仮想化VMとしてインストールする
今回は、MinimalでBaseシステムだけインストールした。

完全仮想化で起動する
この時、SSH接続用のアカウントやsudoの設定を行う
なお、SSHが上がっていることも確認しておく。(netstat -anとかで)

GRUB2の編集

これをしないと起動しない。
14行目から21行目をコメントアウトする
(Fedora19では 行数が2行ずれてるので注意)
[root@rhel7 ~]# vi /etc/grub2.cfg
#if [ "${next_entry}" ] ; then
#   set default="${next_entry}"
#   set next_entry=
#   save_env next_entry
#   set boot_once=true
#else
#   set default="${saved_entry}"
#fi


準仮想化への設定

Dom0での操作

現状確認
[root@xs62sp1 ~]# xe vm-list name-label=RHEL7
uuid ( RO)           : 8a4ab85b-8561-fb00-700e-20659163eb62
     name-label ( RW): RHEL7
    power-state ( RO): halted

[root@xs62sp1 ~]# xe vm-param-get uuid=8a4ab85b-8561-fb00-700e-20659163eb62 param-name=HVM-boot-policy
BIOS order
[root@xs62sp1 ~]# xe vm-param-get uuid=8a4ab85b-8561-fb00-700e-20659163eb62 param-name=PV-bootloader
[root@xs62sp1 ~]# xe vm-param-get uuid=8a4ab85b-8561-fb00-700e-20659163eb62 param-name=PV-args

変更
[root@xs62sp1 ~]# xe vm-param-set uuid=8a4ab85b-8561-fb00-700e-20659163eb62 HVM-boot-policy=
[root@xs62sp1 ~]# xe vm-param-set uuid=8a4ab85b-8561-fb00-700e-20659163eb62 PV-bootloader=pygrub
[root@xs62sp1 ~]# xe vm-param-set uuid=8a4ab85b-8561-fb00-700e-20659163eb62 PV-args=text

確認
[root@xs62sp1 ~]# xe vm-param-get uuid=8a4ab85b-8561-fb00-700e-20659163eb62 param-name=HVM-boot-policy
[root@xs62sp1 ~]# xe vm-param-get uuid=8a4ab85b-8561-fb00-700e-20659163eb62 param-name=PV-bootloader
pygrub
[root@xs62sp1 ~]# xe vm-param-get uuid=8a4ab85b-8561-fb00-700e-20659163eb62 param-name=PV-args
text

ブロックデバイスの設定

ブロックデバイスを探す
[root@xs62sp1 ~]# xe vm-disk-list uuid=8a4ab85b-8561-fb00-700e-20659163eb62
Disk 0 VBD:
uuid ( RO)             : bd67f2e3-88fd-dae4-856c-dfec18a8b869 <<<THIS!
    vm-name-label ( RO): RHEL7
       userdevice ( RW): 0
Disk 0 VDI:
uuid ( RO)             : b09e7e37-e268-4b53-a0d4-637d86581f13
       name-label ( RW): RHEL7
    sr-name-label ( RO): iSCSI virtual disk storage 4
     virtual-size ( RO): 10737418240


現状確認
[root@xs62sp1 ~]# xe vbd-param-get uuid=bd67f2e3-88fd-dae4-856c-dfec18a8b869 param-name=bootable
false

変更
[root@xs62sp1 ~]# xe vbd-param-set uuid=bd67f2e3-88fd-dae4-856c-dfec18a8b869 bootable=true

確認
[root@xs62sp1 ~]# xe vbd-param-get uuid=bd67f2e3-88fd-dae4-856c-dfec18a8b869 param-name=bootable
true

VMを起動


ですが、ここでERROR。
RHEL7は、XenServer6.2では動かないな・・・
最新のXen4.4のパッチで修正されているそうなので

[Xen-changelog] [xen stable-4.4] xen/pygrub: grub2/grub.cfg from RHEL 7 has new commands in menuentry

grub2/grub.cfg uses linux16 and initrd16 commands
とのこと。


XenServer6.2.5の対応待ちですね。
っとおもったら、XenServer6.2.5ではPatchあたってた。
つまり動くってことか。
https://github.com/xenserver/xen-4.3.pg/blob/master/pygrub-fix-for-rhel7.patch

ちなみに、修正ファイルの場所はここ
/usr/lib/python2.6/site-packages/grub/GrubConf.py

とりあえず、XenServer6.2から対象VMをExportして、XenServer6.2.5にImportした。

起動した!!

RHEL7がXenServer6.2.5で起動したよ。

Xen4.4でのテストを考えてたけど、XenServerで起動できてよかったよぉ。
というわけで、続きの作業。

XenCenterのConsoleで xs-tools.isoをセットする

xe-guest-utilitiesだけインストール。PVドライバはKernelにBuild-inなので。
[root@xs625test ~]# mount -t iso9660 -o loop /dev/xvdd /mnt
mount: /dev/loop0 is write-protected, mounting read-only
[root@xs625test ~]# cd /mnt/Linux
[root@xs625test Linux]# ./install.sh -k
-k はKernelは変更しないモードなので、Daemonだけインストールされた状態。
<2014/4/22訂正>
install.sh の中身を確認したら、rhel4/centos4系にのみ有効なオプションでした。
rhel7が見えない場合用に念のため、付けとけばって感じ。

VM再起動

確認

XenToolsの起動確認
[root@rhel7 ~]# systemctl
xe-linux-distribution.service loaded active running   LSB: XenServer Virtual Machine daemon providing host integration services 

XenCenterで見ると
Operating System: Red Hat Enterprise Linux Everything release 7.0 Beta (Maipo)
Virtualization state: Optimized (version 6.2 installed)
と表示される。

OKね。
ただ、気になる点がある。
Rebootすると
[root@xs62sp1 ~]# xe vbd-param-get uuid=bd67f2e3-88fd-dae4-856c-dfec18a8b869 param-name=bootable
が falseになって起動しない。
なんだろ。XenServer6.2.5はいろいろテストしてるので、その影響かなぁと思ってるのでスルーしておく。 

<追記 2014/4/16>
Red Hat Enterprise Linux 7 RC (release candidate) は During the week of April 21, 2014 だそうです。

Red Hat Enterprise Linux 7 release candidate arrives

0 件のコメント:

コメントを投稿