派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】VMwareと何が違う?「いまさら聞けない!Hyper-V入門」

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

6月19日には「いまさら聞けない!Hyper-V入門」を開催。グローバルナレッジネットワーク株式会社の横山哲也さんに、Hyper-Vの基本について解説していただき、インストールのデモンストレーションなども見せていただきました。そのイベントの様子をご紹介します。

■今回のイベントのポイント

・Hyper-Vは親パーティションを仮想化している点がVMwareと異なる
・仮想マシンはウィザードで簡単に作成できる
・Hyper-Vの機能やライブマイグレーションはシステムを設計する際に検討すべき

1994年よりITプロ向けのWindows Server関連教育に携わっている横山さんは、Hype-Vの基本的な解説だけでなく、実践にすぐ役立つ豆知識が豊富。デモンストレーションも交えてわかりやすく解説いただきました。


【講 師】グローバルナレッジネットワーク株式会社 横山哲也さん

▲【講 師】グローバルナレッジネットワーク株式会社 横山哲也さん
1994年より、ITプロ向けのWindows Server関連教育に携わる。2003年からマイクロソフトMVP。著書に『ひと目で分かるAzure 基本から学ぶサーバー&ネットワーク構築』『プロが教えるWindows Server 2012システム管理』(監修・共著)『グループポリシー逆引きリファレンス厳選92』(監修・共著)がある。

Hyper-VとVMwareの違いとシステム要件

今回の参加者は、Hyper-Vを使っていない人がほとんどでした。挙手をしてもらうと、60名ほどの参加者のうち、実際に使っている方が1名、VMwareを使っている方が10名ほど、AzureやAWSなど、クラウドベースのシステムを使っている人が数名、という状況でした。

Hyper-Vとは、Windows Server 2008以降に搭載されたサーバ仮想化技術で、同様の機能を提供するVMwareより後発です。そのため、「VMwareとの違いを気にする方が多い」と横山さんは言います。

イメージ

Hyper-Vが特にVMwareと違うのは、「親パーティション」の考え方、物理マシンと仮想マシンの間にある「ハイパーバイザー」の振る舞いなどが挙げられます。

「VMwareは、ハイパーバイザー内に物理ドライバを持っていて、ゲストOSの持つ仮想ドライバの入出力を仲介します。一方でHyper-Vは、親パーティション内に物理ドライバを持ちます。親パーティションとは、電源を入れてすぐに起動するWindows Server OSのことで、他の仮想マシン(子パーティション)を管理する役割があります。親パーティションの後に起動したハイパーバイザーは、物理マシンで動いていた親パーティションの動作モードを仮想化モードに切り替えます。便宜上、Hyper-Vの親パーティションを物理マシンと言うこともありますが、本来は仮想マシンなのです」(横山さん)

イメージ

システム要件としては、スライドの通り。CPUについては、インテルとAMDで同じ機能を別々に開発しているため、呼び名が異なります。それに対してマイクロソフトも別の名称を用意しており、同じ機能について3つの呼び名が存在しています。

インストールと手順の紹介

ここで、仮想マシンを作成するデモンストレーションが行われました。Hyper-Vマネージャーのウィザードで簡単に作れます。ウィザード内で指定する仮想スイッチは後ほど詳しく解説しますが、あらかじめ作っておく必要があります。

イメージ

仮想マシンには第1世代と第2世代があり、現在はさほど違いがないため、今回は第1世代を選択しました。OSのインストールには、あらかじめ用意しておいたISOイメージを利用します。

「仮想マシンの作成は手軽ですが、作った後のサーバ管理は難しい。Windowsアップデートやセキュリティパッチの適用、また、不正侵入の監視も必要です。『仮想マシンを増やしたのはいいが、サーバが増えて運用コストがかさむ』というのはよくある話。仮想マシンの統合管理ツールは必須でしょう」(横山さん)

動的メモリによってメモリを効率的に利用できる

仮想マシンでは、動的メモリという機能があります。有効にすると、仮想マシンが必要な量に合わせてメモリの割り当てを増減させます。それぞれ、パッファと最大RAM、最小RAMを指定可能です。

「短時間でも使わないでいるとすぐに開放されてしまうため、全体のパフォーマンスが落ちる可能性があります。動的メモリを無効にしてメモリの割り当てを固定にした方が速度は速まります。動的メモリを有効にしていると、普段メモリが余っているように見えるため、一斉リブートするとスタートアップで使う際に足りなくなることもあります」(横山さん)

イメージ

そのために用意されているのが「スマートページング」という機能。再起動時に限り、メモリが足りなくなると、不足分をいったんハードディスクに退避させます。動きが遅くなっても、「起動できない」という状態は避けられるというわけです。

ちなみに、VMwareは再起動時以外でも「スマートページング」と同様の機能を利用できます。そのため、再起動時以外では停止してしまうHyper-Vと比較して、メモリ不足が原因で停止することがない、と評価する向きもあります。

仮想マシンの仮想ネットワークや仮想ハードディスクについて

仮想マシンの作成時に用意しておいた「仮想スイッチ」とは、ネットワークと同義で、次の3つに分かれています。

・外部…他の物理サーバと通信でき、もっとも一般的。
・内部…他の物理サーバと接続できない。親子パーティション間の通信ができる。
・プライベート…他の物理サーバや親パーティションと通信できず、子パーティション間の通信のみができる。

仮想マシンが使う仮想ハードディスクは、通常ひとつのファイルで構成されます。最大2TBのVHD形式と、Windows Server 2012から利用できる最大64TBのVHDX形式が選択可能。2TB以下なら相互変換が可能です。VHDXの方が、容量の縮小、I/O効率の向上といった機能を備えていますが、ソフトによってはサポートしていないこともあります。

「例えば、AzureはVHDXをサポートしていません。Azureの中身はHyper-Vなので、手元のHyper-Vで作った仮想ハードディスクをAzureに送ると仮想マシンとして使えるのですが、事前にVHD形式にしておく必要があります」(横山さん)

イメージ

その他、仮想ハードディスクは形式にかかわらず容量可変と容量固定を選択できます。容量可変にすると使う分だけファイルサイズを大きくします。容量固定は、あらかじめ容量を確保するため速度が速くなります。

「さらに、速度を速めたい場合には、物理ディスクを直接使う『パススルー』という機能も使えます。この場合はほぼフルスピードとなりますが、仮想化されていないため物理マシンを乗り換える際には手間がかかります」(横山さん)

Hyper-Vの特徴や便利な機能

これまでで仮想マシンの基礎的な解説が終わり、次にHyper-Vの特徴として、次のような機能が紹介されました。

・ストレージQoS
仮想マシンのIOPS(Input/Output Per Second)を仮想マシンごとに制御できます。「ある仮想マシンのディスクI/Oが増えすぎたために他の仮想マシンが遅くなる、という状況を避けられます」(横山さん)

・仮想マシンのSLA(サービス品質保証)
仮想マシンの停止時間を短縮するため、「Hyper-Vゲストクラスター」(仮想マシン対仮想マシンの二重化)、「Hyper-Vホストクラスター」(物理マシンと物理マシンの二重化)、「クラスター対応更新」(クラスター内で順にWindowsアップデートを適用)、「仮想マシンの仮想ハードディスク」といった機能が用意されています。

・Linuxゲストのフルサポート
仮想マシンにインストールするゲストOSは、Linuxをフルサポート。カーネルのバージョンが一定以上なら対応しています。

また、仮想マシンのクライアント環境の改善や、仮想マシン内でHyper-Vを有効化できる「Nested Hyper-V」の機能なども紹介されました。

フェールオーバークラスターの拡張とライブマイグレーション

Windows Server 2012移行、フェールオーバークラスターが拡張されています。ホストクラスター(物理マシンと物理マシンのクラスター)では、物理マシンがシャットダウンすると、仮想マシンが自動的に物理マシンへ移動できるようになりました。その際、仮想マシンはストップせず動き続けられます。

仮想マシンをストップさせずに別の物理マシンへ移行させる「ライブマイグレーション」は、フェールオーバークラスター環境の場合とそうでない場合で動作が異なります。クラスター環境の場合は非計画停止に対応しますが、そうでない場合は計画停止のみに対応。ハードウェアのリプレースなど、計画的に物理マシンを入れ替える際に役立ちます。

イメージ

また、災害対策として、レプリケーションの機能が用意されています。仮想マシンを別のHyper-Vへ複製する機能で、何か問題が起きたときには複製先から起動ができます。また、Windows Server 2012 R2以降ではレプリカサーバのレプリカサーバ、つまり2段階まで複製できます。レプリケーション先をAzureにすることも可能です。

最後に、ホストOSが混在している環境についての注意事項があります。Windows Server 2008 R2以前のHyper-Vの仮想マシンが残っているとき、それをWindows Server 2012 R2以降から管理できません。管理ツール「Hyper-Vマネージャー」にはバージョン1と2があり、両方に対応しているのはWindows Server 2012のみ。また、仮想マシンのエクスポート/インポートの互換性についても同様なので、Windows Server 2008 R2以前の仮想マシンをWindows Server 2012 R2以降にインポートしたい場合には、一度Windows Server 2012を経由させる必要があるのです。

イメージ

マイクロソフト関連を扱うエンジニアなら、マスターしておきたいHyper-V。まずは今回のようなイベントで基本を押さえておくと、その後の技術の習得もスムーズです。仮想マシンだけに着眼するのではなくシステム全体をとらえ、クラウドサービスのAzureまでをも見据えてスキルアップを心がけたいものです。