とむむの日々○○ Linux
fc2ブログ

とむむの日々○○

埼玉県某市に住む「とむむ」の日記です。 日々前進であったり、日々更新であったり、時には日々後進な日常の記録です。

fedora 19がXenの準仮想化ゲストとして、動かない?

fedora19


どうも、とむむです。

先週の火曜日(7月2日)に、リリースされた「シュレディンガーの猫」ことfedora19XenSerevr6.2の環境でインストールし、いつもの手順でサックリと準仮想化で動く筈が思いの外、ハマってしまったので、ブログに書くことにした。。

何故、fedora19を試すことになったのか…は後日書くとして、まずはXenServerで非対応OSを準仮想化で動かす手順を振り返っておこう。
当たり前だが、XenがKernelに取り込まれている2.6.23以降を利用していることが前提になっていることをお忘れなく…。

以下の2ステップだ。

1. インストール時のVMテンプレートの選択で「Other install media」(完全仮想化)を選択する。

2. OSインストール後、ホストのコンソールからコマンドラインで準仮想化ゲストへ変更する。
あらかじめ、ゲストのUUIDを調べておく必要があるが、必要なコマンドは以下の3コマンド + 2コマンドだ。

xe vm-param-set uuid=<ゲストのuuid> HVM-boot-policy=
xe vm-param-set uuid=<ゲストのuuid> PV-bootloader=pygrub
xe vm-param-set uuid= PV-args="console=hvc0″

xe vm-disk-list uuid=<ゲストのuuid>
xe vbd-param-set uuid= bootable=true


普通ならこれで終わり…のところが、気まぐれ子猫ちゃんのfedora19は、このままで動かなかった。。。

きっと、同じ問題にぶつかっている人がいるはずとググってみると、とあるMLの過去ログにそれっぽいタイトルを見つけた。
XEN and Fedora-19 domU」を読んでみると、何やらgrubconfに問題があって、set default="${next_entry}"あたりのif文をゴッソリとコメントアウトするように書かれている。

実際にやった内容は、完全仮想化で起動中に、/etc/grub2.confの該当行をコメントアウトするだけだ。

変更箇所は以下のとおり。

# diff /etc/grub2.cfg.org /etc/grub2.cfg
12,19c12,19
< 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
---
> #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

このコメントアウト実施後、いつもの手順で準仮想化すると、サックリと上がってきた。

さきほどのMLによると、初期リリースでは修正が間に合わない的なことが書かれていた。今後のアップデートで解消されることになるのかな?

とりあえず、fedora19をベースとするRedHat EL7(CentOS7)が出る頃には直っているんじゃないかと思う。

ちなみに、Fedora19では、Xen-hypervisor関連の標準パッケージが充実しているようなので、RedHat EL7系では、RedHat EL5(CentOS5)の頃のようにXenをOS標準のHypervisorとして選択できるようになるんじゃないかと期待している。



スポンサーサイト



Comment0
PageTop