2012/03/28

SLES 11 SP2 on Hyper-V

2012 年 3 月 26 日に、ノベル (Attachmate の事業部)が SUSE Enterprise Linux 11 Service Pack 2 (SLES 11 SP2) をリリースしました。
SUSE プレスリリース > ノベル、「SUSE Linux Enterprise 11 Service Pack 2」を提供開始 (2012/03/26)
(ノベル株式会社とネットアイキュー株式会社は、The Attachmate Groupの日本法人です。The Attachmate Groupは、Attachmate、NetIQ、ノベル、SUSEの4事業部を統括しています)

リリース ノートを見ると、Hyper-V についての記述があり、注意点があるようです。というわけで、試してみました。

Release Notes for SUSE Linux Enterprise Server 11 Service Pack 2 > 11.4. Hyper-V

以下、リリース ノートからの抜粋です。
--------------------------------------------------------------------------------
11.4. Hyper-V
11.4.1. Change of Kernel Device Names in Hyper-V Guests
SLES 11 SP2 has a newer block device driver, which presents all configured virtual disks as SCSI devices. Disks, which used to appear as /dev/hda in SLES 11 SP1 will from now on appear as /dev/sda.

11.4.2. Using the "Virtual Machine Snapshot" Feature
The Windows Server Manager GUI allows to take snapshots of a Hyper-V guest. After a snapshot is taken the guest will fail to reboot. By default, the guest's root file system is referenced by the serial number of the virtual disk. This serial number changes with each snapshot. Since the guest expects the initial serial number, booting will fail.

The solution is to either delete all snapshots using the Windows GUI, or configure the guest to mount partitions by file system UUID. This change can be made with the YaST partitioner and boot loader configurator.

--------------------------------------------------------------------------------

SLES 11 SP1 では、Hyper-V 環境を検出して、Hyper-V Drivers が自動的にインストールされるため、非常にインストールが簡単でした。

参考情報:
SLES 11 SP1 は Hyper-V 仮想マシンにインストールするだけで完了(2010/07/29)
SLES 11 SP1 は hv_utils モジュールでシャットダウン連携できた (2010/09/21)


SLES 11 SP2 ではどうなったか、ポイントや注意点を交えながら、レポートします。

仮想マシンの作成

SLES 11 SP2 用の仮想マシンを作成します。OS のインストール用に IDE コントローラー接続の VHD を設定します。この時点では、SCSI コントローラーにはディスクを接続しないほうが良いと思います (理由は後程)。

SLES 11 SP2 のインストール

SLES 11 SP2 の ISO イメージ (今回は試用版の SLES-11-SP2-DVD-x86_64-GM-DVD1.iso を使用) を仮想マシンのドライブに割り当て、仮想マシンを開始します。「F2」で言語を「日本語」に変更して、「インストール」を選択します。「F3」でビデオモードを「1024×768」に変更しておくこともお勧めします(画面が大きくなって操作しづらいことがあるので)。起動オプションの指定は不要です。

難しいことは考えずに、気軽にインストールを進めてください。注意点があるとすれば、「ハードウェアの時刻はUTCに設定」のチェックを外すところくらいです (理由はこちら)。

 「サーバーベースシナリオ」のページでは、「物理マシン (完全仮想化ゲスト向けも)」を選択します。

「インストールする」をクリックして、インストールを開始します。

「システム管理者「root」のパスワード」「ホスト名およびドメイン名」と進み、「ネットワーク設定」を確認します。統合タイプのネットワーク アダプターは、統合コンポーネントがゲストに入ってからでないと認識されませんが、この時点でちゃんと見えています(Virtual Ethernet Card 0)。

つまり、この時点で既に Hyper-V Drivers は組み込み済みということです。

Hyper-V Drivers を確認してみると

SLES 11 SP2 のカーネルは linux 3.0 です。

Hyper-V 用の統合コンポーネントは、GPL v2 版のものが標準でインストールされます。バージョン番号は 3.1 となっています。

YaST 2で確認すると、「Microsoft Hyper-V tools」 というパッケージで提供されています (SLES 11 SP1 のときは「Microsoft Hyper-V drivers」でした)。

hv_vmbus、hv_storvsc、hv_netvsc、hv_mouse、hv_utils、hv_timesource が含まれており、SCSI ディスクおよびネットワーク アダプター用の VSC ドライバー、Fastpath ブートのサポート、マウス統合、シャットダウン連携、時刻同期、ハートビート、データ交換サービス(KVP)の動作を確認しました。

SLES 11 SP1 は Linux IS v2.x 相当でしたが、SLES 11 SP2 は Linux IS v3.x 相当で、時刻同期やハートビート、マウス統合、データ交換サービスの機能が追加で使えるようになったということです。

データ交換サービスの動作確認に使用できるスクリプト (hvvminfo.vbs) はこちら






(実は)マウス統合はインストール時から

Hyper-V 仮想マシンに Linux ゲストをインストールしたことがある方なら、インストールを開始して、すぐに大きな改善点に気が付くことと思います。マウス統合が最初から (インストールの GUI で) 有効なんです。通常は「マウスを解放するには...」と表示されますが、SLES 11 SP2 ではそんなキー操作をすることなく、ホストとゲスト間でマウスを行き来できます。

SCSI ディスクの認識もインストール時から?

仮想マシンを作成する際に、SCSI ディスクの割り当ては、後でした方がよいようなことを書きました。

なぜかと言うと、最初から割り当てた場合、インストーラーが SCSI ディスクを検出できてしまうからなんです。最初、大きなサイズの VHD を SCSI に割り当てたところ、/ と swap がそちらに作成され、ブートローダーが IDE ディスクに構成されてしまいました。ディスク認識に関して、赤字で怪しげなメッセージが出てきたので、このまま続行することはせず、いったん停止して、SCSI ディスクを削除してからインストールしました。

リリース ノートの検証

SLES 11 SP2 のリリース ノートには、Hyper-V のスナップショットを使用すると、仮想マシンを再起動できなくなると書いてあります。

試してみたところ、本当にそうでした。この問題、SLES 11 SP2 だけの問題ではないと思います。以前、SLES 11 で SCSI ディスクのマウントがエラーになる経験をしました。


SLES で SCSI ディスク (storevsc) のマウントに失敗する (2010/09/15)

原因は、/etc/fstab や /boot/grub/menu.lst でデバイス名(/dev/sda1など)ではなく、デバイス ID (/dev/disk/by-id/...)が使用されているからです。リリース ノートによると、スナップショットを作成すると、ID (シリアル番号) が変更になるんだそうです。スナップショットごとにディスクの ID が変更になるという仕様は、初めて知りました。これで、以前のエラーの謎も解けました。

この問題を回避するには、YaST2の「ディスクの分割」(エキスパート パーティショナ)を使用して、マウント方法を「デバイス ID (ID)」から「デバイス名(Kernel)」に変更します。マウント方法は、「fstab オプション」にあります。

端末環境で変更したい場合は、/etc/fstab を直接変更します。

YaST2 の「ブートローダー」で、既定のエントリのパスを ID から デバイス名に変更しておきます。フェイルセーフ用のエントリも忘れずに変更しておきましょう。



端末環境で変更したい場合は、/boot/grub/menu.lst を直接変更します。


SCSI ディスクを追加して、起動時にマウントするように構成する場合も、ID ではなく、デバイス名でマウントするように構成してください。

よく考えたら、インストール時にカスタム パーティション構成すれば、問題になることはなさそうですね。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。