サーバーシステム - ハードウェア

FTサーバーとは、ハードウェアを二重化したサーバーPCです。ディスク装置、メモリ、プロセッサ、バス等の基本コンポーネントを二重化していて、なんらかのハードウェアが故障しても、二重化された片側が動いていれば、システムが停止することはありません。もちろん、システムを停止させずに故障したユニットを交換できます。ハードウェアレベルで同期しているため二重化したシステムの同期は非常に高速です。ソフトウェアレベルでは単体PCとして運用できますので、クラスタリングやライブマイグレーションを活用するよりもシンプルに運用管理できます。また、内部が二重化されていても「1台のPC」なので、ライセンス料が1台分で済みます。

メモリは48GB、HDは1TBで構成しました。プロセッサはXeon E5670で、6コア12スレッドのプロセッサのデュアル構成が、FTサーバーで二重化されています。

システム設計時、もっとも不安が残ったのは、1台のサーバーPCで最大30の仮想マシンを動かすことに、実用的なパフォーマンスが得られるかどうかでした。

※ 10年ぐらい前には各メーカーが積極的にFTサーバーに取り組んでいたように記憶していますが、現在は、通常のサーバーPC 2台にFT OSと呼ばれるOSをインストールしてFTサーバー化するシステムが主流のようです。今回はFTサーバー専用機を導入しました。

図2 : NECのFTサーバー、Express 5800/ftサーバーを導入したサーバーラック。以前のシステムでは4台のPCサーバーを使っていたものを1台に集約

図3 : タスクマネージャでFTサーバーのプロセッサのパフォーマンスを確認。30台の仮想PCが常にフル稼働するわけではないので、予想以上にプロセッサには余裕がありました。

サーバーシステム - ソフトウェア

サーバーシステムは、FTサーバー上で親パーティションのWindows Server 2008 R2を稼働させ、さらにHyper-Vで3つのWindows Server 2008 R2を稼働させます。仮想サーバーの1台目には、ドメインコントローラやファイルサーバー等。2台目にはデータベースサーバー。3台目はクライアント用仮想PCを運用し、クライアントとのセッションマネージャともなるCitrixのXen Desktop。

Windows Server 2008 Enterprise Editionでは、1台のサーバーPCであれば、親パーティションと子パーティション合わせて最大5つのWindows Serverを稼働させることができるので、1本のライセンスで間に合います。

図4 : Hyper-Vマネージャの画面。仮想サーバー3台、仮想クライアント27台の仮想PCが稼働中。

図5 : Citrix Xen Desktopの管理ツール、Citrix Desktop Studio

図6 : 複数の仮想PCグループを作成して、どのユーザーがどの仮想PCグループに接続できるか制御できます。グループ内の仮想PCはすべて同じ環境で、未使用の仮想PCをユーザーに接続します。

クライアントシステム - ハードウェア

クライアントには、HPのt5570を採用しました。Windows XP Embedded Editionを搭載したシンクライアントで、配線のコストを節約するため、場所によって有線タイプと無線タイプを使い分けています。このシンクライアントから、FTサーバー上の仮想PCクライアントに接続して利用します。

シンクライアントを採用したのは、以下のようなメリットがあるからです。

  • フラッシュメモリで稼働するため故障が少ない。
  • 再起動すると元の環境に戻るため、環境が汚れて不安定になることがない。
  • 外部メディアを利用しないようにしているため、不用意なメディアからのマルウェアの侵入や、メディアを介した情報漏洩を防止できる。
  • 最初のセットアップ後、個々のマシンをシステム管理する必要がほとんどない。
  • 場所を取らない。

なお、何人かのユーザーは通常のWindows PCからXen DesktopにWebアクセスして仮想デスクトップを使用します。

図7 : Windows XPベースのシンクライアント、HP t5570。

クライアントシステム - Citrix Xen Desktop

ユーザーはシンクライアントから、FTサーバーで稼働する仮想PCをリモートで使います。Xen DesktopはHyper-Vと連携して、仮想PC管理や、ログオンユーザーへの仮想PC割り当てを行います。

管理者は27台のすべてのクライアント用仮想PCを個別に管理する必要はありません。Hyper-Vでクライアント用のマスター仮想PCを作成します。Xen Desktopがマスター仮想PCのクローンを作成します(Xen Desktopでは[割り当て]と呼びます)。マスター仮想PCだけをメンテナンスし、あとは「更新」を行うことで、同じマスター仮想PCのクローンを一括更新できます。

クライアント仮想PCを再起動すると元の状態(マスター仮想PCの状態)に戻ります。ユーザーに管理者権限がないと利用できないアプリケーションも存在する一方、ユーザーが不用意に環境を破壊してしまっても困るのですが、ユーザーに管理者権限を与えつつ再起動すると元に戻るようにすることで、相反する要求を吸収できました。

ただし、お気に入りも使えない、デスクトップもカスタマイズできない…というのではあまりにも利便性が悪いため、Active Directoryのフォルダリダイレクトとグループポリシーの移動ポリシー機能を併用して、ユーザー固有の設定やファイルに関しては極力環境をファイルサーバーに保存できるようにしました。

なお、クライアントOSのライセンスは、VDA(Windows Virtual Desktop Access)ライセンスを使用しました。仮想デスクトップ専用のWindowsライセンスです。サブスクリプション型ライセンスで、契約期間中いつでもバージョンアップできます。

図8 : クライアントユーザーのログオン画面。Webベースでログオンします。ユーザーアカウント管理にはActive Directoryを使用しますので、Active Directory必須です。

図9 : Citrix Xen Desktopで、ユーザーが接続許可を与えられている割り当てグループの一覧を表示します。ログオンするアイコンをクリックすると、その仮想PCに接続します。

図10 : Citrix Xen Desktopで、サーバー内の仮想PCにリモート接続して使用。

図11 : 固定された仮想PCの環境と、ユーザー固有の情報を組み合わせて、ユーザーごとのデスクトップ環境を実現。