MCSとPVSの違い (基礎編)

最適なデスクトップ仮想化イメージの作成・管理

デスクトップ仮想化は、デスクトップ環境をサーバー側に集約させて、必要な時に必要な端末に対してデスクトップ環境を配信する技術の総称です。つまり、サーバー側に利用者のためのデスクトップイメージを保持する仕組みが必要であることはご理解いただけるでしょう。

このデスクトップOSをサーバーに集約した後、どのように管理をするかによって、その運用管理が大きく変わります。単純に集約しただけでは、管理者の負荷は変わらないのです。

このユーザーが利用するデスクトップのイメージを作成、管理、展開する方法は複数存在し、それぞれの特長があることを理解する必要があります。

それでは一体どのような方法があるのでしょうか?

XenDesktopにおけるデスクトップ仮想化イメージの作成・管理には大きくわけて2つの方法があります。

  1. MCS(Machine Creation Services)を利用する方法
  2. PVS(Provisioning Services)を利用する方法

今回はMCS,PVSそれぞれを説明し、そのメリットや使い分け方に関してご紹介します。

MCS(Machine Creation Services)によるクローニングを利用した展開

MCSは、特別な構成なしに簡単にマスターイメージを複製する仕組みを利用します。つまりXenDesktop上に作成したマスターとなるOSイメージ(マスターイメージ)をユーザーが利用する各デスクトップ分、仮想デスクトップを作成していく最も単純な方法です。

image001
これらの作成には、XenDesktopで提供される管理ツール Desktop Studioを利用することで簡単に仮想デスクトップを作成することが可能です。

image003
マスターとなる仮想マシンをハイパーバイザー上に作成し、それをベースとして多数の仮想マシンを作成するMCSは、この仮想マシンを展開する際に、「IDディスク」と「差分ディスク」と呼ばれる仮想ディスクを同時に割り当てます。

16MB程度のIDディスクには、永続的にコンピュータ名やドメイン識別子などのマシン固有の情報が記憶されます。

また、差分ディスクは、一般的なハイパーバイザーのクローニング時に作成される仮想ディスク領域と考え方は同等で、作成時はシンプロビジョニングを利用することによりそれぞれの領域はほぼ0です。この差分ディスクの扱いがデスクトップ仮想化の利用形態であるVDI専用とVDIプールの場合で異なります。

image005
※デスクトップ仮想化の方法に関しての詳細は「デスクトップ仮想化選定 6つの必須ポイント」をご覧ください。

VDI専用の場合は、ユーザーが自身のデスクトップ環境をカスタマイズした場合、その情報が差分ディスクに書き込まれます。この差分ディスクを利用することでユーザーは従来のローカルPCと同じ感覚で仮想デスクトップ環境を活用できるのです。これに対してVDIプールの場合には、差分ディスクが再起動ごとに再作成されるため、ユーザーの仮想デスクトップに対する変更は記憶されません。このVDIプールの場合には、常にマスターを参照するため、パッチの適用やアプリケーションの更新といった作業はマスターに対してのみ実施すれば良いのでメンテナンスコストは大幅に削減される特長を持ちます。

MCSは、以前はVDI方式のみの利用でしたが、XenDesktop 7よりサーバーOSを利用したデスクトップ共有でもご利用いただけるようになりました。

PVS(Provisioning Services)を利用したネットブート方式

PVSは、XenDesktopの大規模デスクトップ仮想化環境に適したイメージ作成と管理に適しており、オンデマンドで要求されたWindowsをストリーム配信するネットワークブートの仕組みを提供します。PVSでは、MCSのようにユーザー毎のイメージを事前に展開するのではなく、一つのイメージをPVS専用サーバーにvDiskというファイルに保持します。イメージを複数デバイスで共有することで、一つのハードディスクのイメージを複数のデバイスで同時に利用できる特長があります。また、コンピュータ名やSIDといった情報は、対象マシンが起動時に個別に送付し、個々のユーザー毎の情報はPVSサーバーで管理されます。このようにvDiskによりストレージ利用を最小限に抑えられるだけでなく、メンテナンスはvDiskだけに実施すれば良いので大規模環境においてもストレージコストを削減するだけでなく容易な運用管理が可能です。

image007
また、PVSでは必要なファイルをオンデマンドで読み込む特長があります。vDiskの情報をPVSサーバー上のメモリにキャッシュすることができるため都度ストレージにアクセスする必要がなく、I/0パフォーマンスも向上します。PVSは、標準でHA構成の機能を有します。複数のPVSサーバーで一つのvDiskを利用することでサーバー障害が発生した時にも自動でフェールオーバーすることで運用を継続できるのです。また、PVSサーバーは、ロードバランスの機能も提供します。

PVSとMCSの比較

それではPVSとMCSを、どのように使い分けるのでしょうか。まず、小規模でデスクトップ仮想化を始めたいという企業はMCSが向いています。特別なサーバーを追加で用意する必要がないため、比較的気軽に始められる点が魅力です。本格的に中規模から大規模にデスクトップを展開する場合には、PVSが適しています。ディスクの使用を大幅に抑えられるためストレージコスト削減に貢献するだけでなく大規模での運用作業や管理コストを下げることも可能なのです。

また、デスクトップ仮想化を設計する際にボトルネックになりやすいストレージ性能に関してもMCSとPVSでその特性は大きくことなります。ご存知のとおりストレージI/Oにはリード(読み取り)とライト(書き込み)の2種類があります。PVSは、OSイメージをProvisioning Serverからネットブート方式で配信するため、起動時等のOSのベースイメージへのリードは、Provisioning Serverから行われます。そのため、ストレージに対するリードは少なく、一般的には、PVSを選択したときのストレージへのリード:ライトの比率は10対90と言われています。これに対して、MCSの場合は、全てのIOがストレージにかかるため、リード:ライトの比率は、50対50程度が一般的であると言われています。(実際のストレージ設計の際には自身の環境にあわせた検証をお勧めします)
このようにMCSの場合にはストレージがボトルネックになりやすい構成であると言われており、中小規模での構成に向いているのです。(XenServerではMCSに対応して内蔵ディスクにキャッシュすることで共有ストレージのI/O負荷を下げるIntelliCacheというしくみがあります)

image009

まとめ

企業におけるデスクトップ仮想化の導入は大きなメリットをもたらすことは言うまでもありません。さらなる投資対効果や運用の効率化を考慮した設計が必要であることも事前に理解しておく必要があります。今回ご紹介したデスクトップのイメージを作成、管理、展開する方法であるMCSとPVSを正しく選択することにより、より快適なデスクトップ仮想化を実現できるのです。