仮想マシンのI/Oスタックを理解する
Hyper-V性能向上の鍵になるドライバ選択のヒント
Hyper-Vで提供される完全統合型のドライバセット「Synthetic Drivers」は、Hyper-Vの性能を出すのに重要な役割を果たす。以下では、Hyper-Vを使った仮想マシンの性能向上に関するヒントが書かれている。
進化を続けている米Microsoftの仮想化プラットフォーム「Hyper-V」の鍵の1つには、仮想マシン(VM)がハードウェアと通信する際の性能向上がある。だがシステム管理者の中には、Hyper-Vに直接関係していると思われる性能レベルに不満を抱いている向きも少なくない。実際のところ、そうした性能面の懸念は、仮想マシンのI/Oスタックを理解し、I/OスタックがHyper-Vとどのように通信しているのかを理解すれば解消されるはずのものだ。
Hyper-Vでは完全統合型のドライバセット「Synthetic Drivers」が提供される。管理者が最新OSのいずれかを実行するときに必要となるドライバの80%は、このSynthetic Driversによってカバーされる。実際、最新OSを使うのであれば、ストレージもネットワークも動画も全て対応可能だ。Synthetic DriversはVMBusと呼ばれる仮想バスを介して、Hyper-VのHypercallインタフェースから指示を受け取る仕組みになっている。
Hyper-Vではエミュレーションドライバもサポートされている。エミュレーションドライバにはHyper-Vに関する知識は一切ないが、よりベーシックな方法でハイパーバイザーと通信しながら、マシンをスタンドアロンマシンとして機能させられる。Synthetic Driversを実行するVMが「Enlightened」と見なされ、こうしたエミュレーションドライバ(つまりレガシードライバ)を実行するVMが「Unenlightened」と見なされるのは、こうした理由からだ。管理者はほとんどの場合、最適な性能を実現するためにSynthetic Driversを実行することになる。
親パーティションの役割
パーティションドライバの管理に関しては、Hyper-Vでの仮想化はかなり容易になっている。Windows Server 2008またはWindows Server 2008 R2との互換性が認定されているドライバであれば、Hyper-Vでも使用できるようになっているのだ。つまり、ハードウェア互換性リスト(HCL)をチェックするだけでいい。おかげで、Hyper-Vは親パーティションをうまく活用し、そのリソースを仮想マシンの管理に充てることで、さまざまなコンピュータ構成設定に極めて柔軟に対応できる。
ただし、ドライバの動作不良などの問題が起きる可能性もある。一部のネットワークドライバのデフォルト設定が問題を引き起こすケースも考えられる。こうしたネットワークドライバは、一部の機能をNIC(Network Interface Card)上のプロセッサにオフロードする設定でインストールされる場合が多い。例えば、TCPチェックサムオフロード機能のエラーやジャンボフレームのサポートの問題などだ。そのため、何かネットワークの性能上の問題に直面した場合には、管理者はHyper-Vの親パーティション上のドライバのこうした拡張機能を無効にするといい。これは、サーバクラスの製品として設計されたのではないネットワークインタフェースにとっては、特に重要なポイントだ。
ベンダーが仮想化について考える上で重要となるハードウェアは、最小の手間で最高の性能を提供できるようなアダプターだ。従って、もしサーバクラスのアダプターを利用できるのなら、TCPのLarge Send Offload(大量送信オフロード)などの機能を利用しているネットワークインタフェースを探すといい。Large Send Offloadを使えば、セッションレイヤーでより大きなTCPメッセージを作成できるため、仮想環境におけるチェックサムの必要性を低減できる。
Windows Serverの旧バージョン
時には、仮想マシン上で通常とは異なるものが必要となる場合もある。例えば、私にはかつて、Windows 2000 Serverを必要とするカスタムアプリケーションを実行している顧客がいた。ハードウェアは劣化していたが、この古いソフトウェアとの互換性の都合上、OSをアップグレードするという選択肢はなかったのだ。だが私は、Hyper-Vの仮想マシンの1つにWindows 2000 Serverをインストールすることができた。私がすべきことをHyper-Vがしてくれたのだ。ただし、全てがスムーズにいったわけではない。
Hyper-Vの管理者がOSをインストールした後にまず行うのは、統合サービスをインストールすることだ。それによって、仮想端末、特にNICの性能アップにつながる統合ドライバがインストールされる。統合サービスは、特にストレージとネットワークのドライバにとっては重要だ。だがWindows 2000 Serverは古いOSであるため、統合サービスは多少の互換性はあっても、サポートはされていない。このようなケースでは、レガシーアダプターを使うのが好ましい。なぜなら、たとえ性能が劣ることになるにせよ、レガシーアダプターはフルサポートされているからだ。
サポートの問題に加えて、管理者はコンソールとマウスの統合が限られているという問題にも気付かされるだろう。だが、衰えつつあるサーバに命を吹き込み、バックアップやスナップショットを行いやすい安定したハードウェアプラットフォーム上に置けるのであれば、この程度のマイナス要因は大した犠牲とはいえないはずだ。
Linuxのサポートは?
Hyper-Vでは、Linuxのサポートが徐々に強化されているが、依然として限定的だ。実際、統合サービスでサポートされているのは、例えば、「Red Hat Enterprise Server」や「SUSE Linux Enterprise Server」の一部のバージョンなど、サポート付きの有料のLinuxエディションだけだ。だが、もし管理者が別のバージョンのLinuxを必要とするのであれば、レガシードライバを利用すればいい。例えば、オープンソースのVoIP「Asterisk Now」をインストールした最近の事例では、レガシーネットワークアダプターとその他各種のエミュレーションドライバを使ったが、性能への目立った影響はほとんどなかった。
大抵の場合は、Synthetic DriversをサポートするOSを利用するのが最も理にかなっている。ただし、もしレガシードライバに頼る必要があったとしても、それに伴う性能面での多少の犠牲をはるかに上回るメリットが 得られるはずだ。
本稿筆者のエリック・ビーラー氏は、90年代半ばからIT業界に携わっており、そのはるか前からコンピュータ技術に親しんでいた。現在、共同所有するConsortio Servicesを通じてコンサルティングとトレーニングを提供している。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー