2013/11/07

Windows Server 2012 R2 Hyper-V and Oracle Linux 6.4 Guest

Hyper-V のサポート対象ゲスト OS として Oracle Linux 6.4 が追加されましたが、リストには"Note: Oracle Linux is only supported when running the Red Hat Compatible Kernel."なんて注意書きがあります。

Hyper-V サポート対象ゲスト OS リストの更新 (2013/10/10)

Oracle Linux は触ったことがないので、何のことやら?と思っていましたが、実際に Hyper-V 仮想マシンに Oracle Linux Release 6 Update 4 をインストールしてみたらガッテン、ガッテン、ガッテンしました。


Oracle Linux のサイトから「Oracle Linux Release 6 Update 4 for x86_64 (64 Bit) - V37084-01.iso」をダウンロードして、Hyper-V 仮想マシンにインストールしました。起動して確認すると、Hyper-V 関連のコンポーネント (hv_vmbusとか)が見当たりません。

ちょっこし調べてみたところ、Oralce Linux は以前は Red Hat Enterprise Linux (RHEL) と互換性のあるカーネルでしたが、 Oracle Linux 5.5 以降は Unbreakable Enterprise Kernel (UEK) カーネルが既定になったとのこと。Red Hat互換カーネルも引き続きサポートされるそうな。Oracle Linux の uname の出力を見ると el6uek の文字があるので、UEK カーネルが起動しているっぽい。

起動時に GRUB メニューを確認すると、既定のインストールで Red Hat Compatible Kernel とのデュアルブートになっていました。


Red Hat Compatible Kernel を選択して起動すると、めでたく Hyper-V 対応に。既定の起動エントリを修正するには、/boot/grub/menu.list (または /boot/grub/gub.conf または /etc/grub.conf) で default 0 を default 1 に変更。
 もう1つ問題を発見。ネットワーク(eth0)が起動していません。この問題?に対処するには...

(1) /usr/sbin/system-config-network を使って eth0 のネットワーク設定を行う。
(2) /etc/sysconfig/network-scripts/ifcfg-eth0 をエディター (vi とか) で開いて次のように変更。
ONBOOT=no → yes
NM_CONTROLLED=yes → no
(3) /etc/rc.d/init.d/network restart

これで解消。この手順は RHEL 6.4 の場合と同じです。

ところで、Oracle Linux 6.4 (の Red Hat 互換カーネル) は、たぶん RHEL 6.4 互換なので、Linux  Integration Services(LIS) v3.4 for Hyper-V 相当の Hyper-V ドライバーがビルトインされているんだと思います。RHEL 5.8 および RHEL 6.3 まではマイクロソフトから LIS v3.4 for Hyper-Vが提供されましたが、RHEL 5.9 および RHEL 6.4 からはLIS v3.4 相当がビルトインされました。動的メモリのコンポーネント (hv_balloon) も入っていてますが、RHEL 6.4 や CentOS 6.4 のものがサポート対象 (→ Hyper-V 動的メモリのサポート対象 OS 更新) に入っていないので、使わないほうが無難でしょう。もしかしたら何気に動くかもしれません。1024 MB割り当てて有効化したら、起動後、最小メモリの 512MBに落ちました。

Oracle Linux 6.4 (の Red Hat 互換カーネル)には、KVP デーモン (hv_kvp_daemon) が入っていませんが、yum で検索したところ、hypervkvpd というパッケージがありました。ネットワーク (eth0) をちゃんと構成したあとなら、yum install hypervkvpd でインストールできます。この手順は RHEL 6.4 の場合と同じです。

hypervkvpd のインストールで、hv_kvp_daemon サービスがランレベル 3, 4, 5 で有効になってました。ので、次回 OS 起動時に自動開始します。手動で開始するには、/etc/init.d/hypervkvpd start






というわけで、"Note: Oracle Linux is only supported when running the Red Hat Compatible Kernel."の意味、ガッテンしていただけたでしょうか?

最後に、yum updateでカーネルをアップデートすると、既定の起動エントリがまたUEKカーネルになってしまうのでご注意。

2013/12/09 追記)
/etc/sysconfig/kernel で DEFAULTKERNEL=kernel-uek を DEFAULTKERNEL=kernel に変更すればいいみたい。

おまけ...

現時点での Linux 統合サービスの機能のサポート状況をまとめると、こんな感じかな?(情報の正確性には責任持ちませぬ)


Distribution
LIC
LIC v3.4 Features
KVP IP Injection
Dynamic Memory
VSS Backup
CentOS 5.7-5.8
×
×
×
CentOS 6.0-6.3
×
×
×
RHEL 5.7-5.8
×
×
×
RHEL 6.0-6.3
×
×
×
CentOS 5.9,6.4
Built-in
×
(hv_balloonあり)
×
RHEL 5.9,6.4
Built-in
×
(hv_balloonあり)
×
Oracle Linux 6.4
Built-in
×
(hv_balloonあり)
×
SLES 11 SP2
Built-in
( Update)
(hv_balloonあり)
×
SLES 11 SP3
Built-in
openSUSE 12.1
Built-in
×
(hv_balloonあり)
×
openSUSE 13.1
Built-in
Ubuntu 12.04,12.10,13.04
Built-in
×
(hv_balloonあり)
×
Ubuntu 13.10
Built-in

2013/12/05 追記)
RHEL 6.5
Built-in
×
CentOS 6.5
Built-in

×
Debian 7.2
Built-in
×
×
×

1 件のコメント:

山市 良 さんのコメント...

2014 年 2 月リリースの Unbreakable Enterprise Kernel Release 3 Quarterly Update 1 で、UEK カーネルも Hyper-V に対応しました。

速報: Hyper-V and Oracle Linux UEK