SCSI WWN、Manual Memory Hot Add、lsvmbus command、Hyper-V Socketsの4つの機能は、現状、Red Hat Enterprise Linux(RHEL)とRHEL系の以下のバージョンでサポートされます。
ただし、OSにビルトインされているHyper-Vドライバでは、これらの機能は利用できません。これらの機能のサポートは、マイクロソフトが先日リリースした「Linux Integration Services Version 4.1 for Hyper-V」(以下、LIS 4.1)」が提供します。
早速、CentOS 7.1(CentOS Linux 7 1503)でLIS 4.1を試してみました。CentOS 7.1にしたのは、たまたま筆者のWindows Server 2016 TP4のHyper-Vの仮想マシンに、新規インストールしたばかりのCentOS 7.1の仮想マシンがあったからです。
次の画面2は、CentOS 7.1にビルトインされているHyper-Vドライバの情報です。OSをインストールすると、GPLライセンスのHyper-Vドライバ(hv_vmbusなど)が自動的にインストールされます。
「Hyper-V KVP Daemon(KVPデータ交換サービス)」「Hyper-V VSS Daemon(ホストからのVSSオンラインバックアップをサポートするバックアップサービス)」「Hyper-V FCOPYデーモン(「Copy-VMFile」コマンドレットによるホストOSからのファイルコピーをサポートするゲストサービス)」の3つのサービスは、次のコマンドラインで追加できます。
yum install hyperv-daemons
ただし、CentOS 7.1の場合、Hyper-V KVP Daemonがサービスとして登録されない不具合があるようです。この問題で悩んでいる方は、以下の筆者の個人ブログをご覧ください。CentOS 7.2ではこの問題はありません。
LIS 4.1のインストールは非常に簡単で、ダウンロードしたLIS 4.1のISOメディア(LinuxIC-4-1-0.iso)を仮想マシンに接続し、ゲストOS側で以下のコマンドラインを実行するだけです。
mount /dev/cdrom /media cd /media ./install.sh reboot
なお、Linuxゲストの仮想マシンでセキュアブートが有効になっていると、再起動後のゲストOSは起動途中でストップするという問題がありました。これはWindows Server 2016 TP4側の問題なのか、CentOS側の問題なのか、それともLIS 4.1の問題なのかは分かりませんが、仮想マシンを停止して、セキュアブートを無効にすることで回避できます。
再起動後、Hyper-Vドライバの情報を確認してみると、ライセンスはGPLで同じですが、バージョンは「4.1.0」と表示されるようになります。また、「hv_storvsc」が「scsi_transport_fc」に依存するように変更されています。さらに、Hyper-V Socketsをサポートするモジュール「hv_sock」が追加されていました。このモジュールは既定では登録されませんが、必要な場合に次のコマンドラインで追加することができます。
modprobe hv_sock
再起動後に「lsvmbus」コマンドを実行してみたところ、仮想マシンバス(VMBUS)に接続された15の統合デバイス(Synthetic Device)を確認できました(画面3)。
Copyright © ITmedia, Inc. All Rights Reserved.