- 仮想ハードディスクのExt2/Ext3初期化問題回避
SLES 11ではファイルシステムとしてExt2, Ext3, BtrFSの中から選択することになりますがBtrFSではブートローダのインストールに失敗することがある(BtrFS選択時に警告が出ます)ためExt2かExt3を使用することになります。
「仮想マシンの新規作成ウィザード」で作成される仮想ハードディスクは「フォーマット:VHDX, 種類:容量可変」となっておりExt2/Ext3初期化で問題が発生します。
この仮想ハードディスクを使用したHyper-V仮想マシンでExt2/Ext3ファイルシステムで初期化すると仮想ハードディスク容量が肥大化してフォーマットエラーとなる可能性が高いです。
どうしても「フォーマット:VHDX, 種類:容量可変」という仮想ハードディスクを使用したい場合はPowerShellでNew-VHDコマンドレットを使用して小さいブロックサイズ(例:1MB)の仮想ハードディスクを作成して利用します。
今回は「フォーマット:VHD, 種類:容量可変」である仮想ハードディスクを利用することにしました。
またSLES 11でのファイルシステムはExt3を選択しました。
※SLES 12からサポートされているExt4ではこの初期化問題は発生しません。
- Xenカーネルブート問題回避
Hyper-V仮想マシンにSLES 11をインストールするとルートパーティションのデフォルトデバイス(/dev/sda2)は「
/dev/disk/by-id/scsi-xxx...-part2」となりそれが/etc/fstabや/boot/grub/menu.lstに登録されます。
※/etc/mtabは/dev/sda2となります。
通常カーネルのブートでは「
/dev/disk/by-id/scsi-xxx...-part2」指定のGRUBでも正常ブートできます。
しかしXenカーネルのブートでは「
/dev/disk/by-id/scsi-xxx...-part2」を見つけられずにブートが失敗します。
Could not find /dev/disk/by-id/scsi-xxx...-part2.
Wnt me to fall back to /dev/disk/by-id/scsi-xxx...-part2? (Y/n)
※y, n どちらの応答でもブート続行不可となります。
|
この問題の対策は通常カーネルでブートした状態で/etc/fstab及び/boot/grub/menu.lst内の記述を以下のように変更して再起動することです。
・「
/dev/disk/by-id/scsi-xxx...-part1」を「/dev/sda1」に変更
・「
/dev/disk/by-id/scsi-xxx...-part2」を「/dev/sda2」に変更
※SLES 12では「
/dev/disk/by-id/scsi-xxx...-part2」ではなく「UUID=...」が使用されるためXenカーネルブート問題は発生しません。
- Xenカーネルブートでの物理ネットワーク接続問題
Hyper-V標準のネットワークアダプタまたはレガシーネットワークアダプタ使用では以下の問題が発生します。
(1)通常カーネルでブートした場合はSLES 11をゲストOSとするHyper-V仮想マシンから物理ネットワークへの接続は問題なく行えます。
(2)しかしXenカーネルでブートした場合はSLES 11をゲストOSとするHyper-V仮想マシンから物理ネットワークへの接続はできません。
(3)SLES 11をインストールするHyper-V仮想マシンに対してEnable-NestedVm.ps1を使用してNested Virtualization(実態としてはNested Hyper-V)機能を有効にしてもしなくてもこのネットワーク接続問題は発生します。
(4)レガシーネットワークアダプタだけを使用した場合のネットワーク状態;
・通常カーネルでブートした場合:物理ネットワーク接続OK
・Xenカーネルでブートした場合:物理ネットワーク接続不可
※SLES 12 SP1でもXenカーネルブートでの物理ネットワーク接続問題は発生します。
- 完全仮想化未サポート(準仮想化サポート限定)
SLES 11をインストールするHyper-V仮想マシンに対してEnable-NestedVm.ps1を使用してNested Virtualization(実態としてはNested Hyper-V)機能を有効にしてもしなくても準仮想化しかサポートされません。
したがって今回Hyper-V環境で構築するXen仮想化ホストは「Xen完全仮想化ホスト」ではなく「Xen準仮想化ホスト」となります。
※Xen 4.5.1搭載のSLES 12 SP1でもHyper-V環境では完全仮想化未サポートのままです。
尚、XenカーネルでブートしたSLES 11と準仮想化DomainUとの間のネットワーク接続は可能となります(SLES 12 SP1でも同様)。
|