CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
デスクトップ仮想化とは、これまで各クライアントに個別に用意していたデスクトップ環境をサーバーに集中配置して運用するソリューションです。シトリックス社では、このデスクトップ仮想化を実現する製品として大企業向けに「XenDesktop」、中堅中小企業向けに「VDI-In-a-Box」を提供しています。
本連載では「XenDesktop 7を触ってみよう Hyper-V編」と題し「Citrix XenDesktop 7」(以下XenDesktopと表記)を動作させるためのセットアップ、設定などを合計4回にわけてお届けいたします。最後までお付き合いいただければ幸いです。
図1 Windows8クライアントから仮想デスクトップのWindows7環境に接続
デスクトップ仮想化ソリューションはシトリックスのほか多数のメーカーが展開していますが、Citrix XenDesktopは特定のハイパーバイザーに縛られることなく導入できる点が利点としてあげられます。シトリックス社が提供するXenServerだけでなく、VMware社が提供するVMware vSphere、マイクロソフト社が提供するHyper-Vなどユーザーニーズにあわせて選択することが可能です。そのため、対応するハイパーバイザーをすでに利用済みであれば、デスクトップ仮想化基盤に適した構成にする必要はあるものの、既存の仮想化基盤にデスクトップ仮想化を容易に導入出来ます。
本連載ではXenDesktop環境を構築するに当たり、Windows Server 2012を利用したHyper-V環境を選択した場合のセットアップや設定に関してご紹介いたします。以下の環境を想定しています。
XenDesktopの導入にはActive DirectoryとDHCPサーバーが予め必要です。今回はクライアントとしてWindows 8を、仮想デスクトップとしてWindows 7を利用しますので、Active Directoryの機能レベルはWindows Server 2008 R2以上で構いません。DHCPサーバーについてはWindows Serverに機能追加するものでも、既存のルーターなどに内蔵されているものでも利用可能ですので予め利用できる環境を整えておいてください。
今回の連載ではActive DirectoryやDHCPサーバーの構築について触れませんので、本連載に従ってXenDesktop 7による仮想デスクトップ環境を構築する前にそれぞれのサーバーを準備しておいてください。
また、それぞれのサーバーにソフトウェアのインストールを行う場合は、各コンピューターをActive Directoryに参加した後、ドメイン管理者のアカウントを利用してインストールしています。例えばvdi.example.comというドメイン名 でActive Directoryを構築した場合、VDI\Administrator(もしくはAdministrator@vdi.example.com)がドメイン管理者のアカウントになります。XenDesktopコンポーネントの実行時も同様です。
SCVMMではVMMサービスで利用するアカウントとコンピューターの検出などに使うアカウントが必要です。本連載では前者としてVDI\Administratorユーザーを、後者としてVDI\scvmmadminユーザーを使う例で説明します。
なお、VMMサービスで利用するユーザーはDomain Adminsグループに所属している必要がありますので、グループを予め追加しておいてください。
仮想デスクトップに接続するユーザーは予めActive Directoryのユーザーとコンピューターに登録しておいてください。本連載ではXenDesktop7という名前のOUを作成して、xduserという連番のユーザーを1から10まで作成し、XenDesktop7というグループに所属させた例で説明します。
また、Active Directoryに所属させたコンピュータアカウントがComputersディレクトリーに保管されていますので、このOUに移動してください。
図2 OUとユーザーの構成
XenDesktopは主に以下のようなコンポーネントで構成されています。
Delivery Controller
XenDesktopインフラストラクチャーの中心的な役割を担うものです。ユーザーへの仮想デスクトップの配信のほか、ユーザー認証、VM電源管理、ポリシーの決定など、仮想デスクトップのアクセス制御などを行います。
Citrix StoreFront
ユーザーがデスクトップやアプリケーションにアクセスするためのアクセスポイントです。アプリケーション、デスクトップ、またはその両E/のリンクがユーザーに表示されます。
Provisioning Services
単一のシステムイメージを複数の仮想マシンに配信します。各仮想マシンはPXEサーバーにより配信されたシステムイメージを使って、OSやアプリケーションを起動できます。大規模な仮想マシンの配備に適切です(今回は利用しません)。
Machine Creation Services
ハイパーバイザーのクローン機能を使って、マスターとなる単一の共有イメージ(以降マスターイメージ)を複製して仮想デスクトップを展開する仕組みです。複製した仮想マシンにはIDディスクと差分ディスクという2つの仮想ディスクが割り当てられ、仮想マシン固有の情報、例えばコンピューター名やドメインのSIDが格納されており、仮想マシンの起動時にその情報が読み込まれます。MCSで構築できる仮想デスクトップはプールタイプと専用タイプの二種類があります。
プールタイプの仮想デスクトップは再起動ごとに差分ディスクに書き込まれたデータがクリアされるため、起動毎にマスターイメージが参照されるのでユーザー自らOSの設定やアプリケーションの追加、Cドライブへの書き込みは基本的には出来ないものの、マスターイメージと同様の環境を維持することができるという利点があります。マスターイメージにパッチを適用しておけば、各仮想デスクトップはセキュアな状態を維持できるということです。
専用タイプの仮想デスクトップは変更したデータは恒久的に保持されるため、ユーザー自らOSのカスタマイズなどを行うことができます。ユーザーはローカルPCを使うような感覚で仮想デスクトップを利用できます。ただその反面、仮想デスクトップの展開後の管理は従来のPCの管理と同様の手間暇が必要になります。
また、仮想デスクトップ環境の構築時に設定が必要ですが、Personal vDiskを使うことで、機能を有効にした仮想デスクトップではユーザーにはPCのハードディスクの一つとして見えるようになり、ユーザープロファイルは書き換え可能なPersonal vDisk上に保存されるため、仮想デスクトップ上の設定変更やドキュメントの保存を行うことが可能になります。
図3 Personal vDiskを有効にした仮想デスクトップ
図3のローカルディスク(Cドライブ)は配備した仮想デスクトップのマスターイメージであり、読み込みは可能ですが書き込みはできません。その他に表示されているドライブは、仮想デスクトップにアクセスしているクライアントのローカルドライブが見えています。デフォルトの設定ではクライアントのローカルドライブはこのように見えます。こちらのドライブも仮想デスクトップのドライブと同様に利用可能であり、USBメモリーを接続すれば仮想デスクトップ上でマウントして利用することができます。
図4 ポリシーの設定
これらは仮想デスクトップの利便性を向上させますが、ビジネス用途で考えるとクライアント上のドライブを表示させたくない場合もあるかもしれません。その場合はCitrix Studioのポリシーを使って行います。ポリシーではその他、使用帯域制御や仮想デスクトップのパフォーマンスチューニングなどを行うことができます。
今回構築する環境は以下のとおりです。今回はXenDesktop7の実行環境としてHyper-Vを利用します。ハイパーバイザーのインストール後、仮想マシンとしてそれぞれのサーバーをインストールします。
(1) Hyper-Vホスト(ホスト名:hypervhost)
(2) SCVMM管理用サーバー(ホスト名:scvmm)
(3) ユーザー占有型仮想デスクトップ3台
(4) プール型仮想デスクトップ(MCSで展開)
XenDesktop 7のインストールの前にHyper-VホストとSCVMMサーバーのインストールを行っていきましょう。
仮想マシンを実行するHyper-VホストサーバーにはWindows Server 2012をインストールし、Active Directoryに参加した後、サーバーの役割として「Hyper-V」をインストールします。
Hyper-Vの構成後、SCVMMでリモート操作可能にするために、Hyper-Vホストサーバーのファイアウォール設定で、仮想マシンの管理とリモート管理関連の通信を許可するように設定してください。
Hyper-V環境の構築については以上です。
■■■ SCVMMの準備 ■■■
SCVMM2012 SP1をWindows Server 2012にインストールするには予め「Standardエディション以上のSQL Server」、「Windows 8用 Windowsアセスメント&デプロイメントキット(ADK)」および「SQL Serverコマンドユーティリティ」のインストールが必要です。
SCVMMの実行にはバックエンドのデータベースサーバーとしてSQL Server Standardエディションが必要です。Windows ADKのインストール時にSQL Server Express Editionをインストールせずに別途対応するSQL Serverをインストールしてください。
http://technet.microsoft.com/en-us/library/gg610574.aspx
SQL Serverの機能のうち、必要なコンポーネントは「データベースエンジンサービス」と「管理ツール」があれば充分です。その他、必要なコンポーネントがあれば選択した上でSQL Serverのインストールを行ってください。
「データベースエンジンの構成」画面では認証モードとして「Windows認証モード」を選択し、「現在のユーザーを追加」ボタンをクリックしてください。「SQL Server管理者の指定」にドメインの管理ユーザー(本例ではVDI\Administrator)が追加されたことを確認して「次へ」ボタンをクリックします。
それ以外の項目はデフォルト設定のままSQL Serverのインストールを行います。
各種コンポーネントのインストールが終わったら、Windows Updateを行い、SQL Server 2012を最新版に更新してください。再起動したらSCVMMのインストールを行います。
Windows ADKは以下からダウンロードしたパッケージを実行してインストールします。
http://www.microsoft.com/ja-jp/download/details.aspx?id=30652
インストーラを実行したら、「Deployment Tools」と「Windows PE」を選択して「インストール」ボタンをクリックしてください。
SQL Serverコマンドユーティリティはダウンロードしたパッケージを実行するだけでインストールできます。以下のページからダウンロードしてインストールしてください。
http://www.microsoft.com/ja-jp/download/details.aspx?id=29065
SQL Server、Windows ADK、SQL Serverコマンドユーティリティのインストールが終わったら、次にSCVMMのインストールを行います。
SCVMMのインストーラを実行し、「インストール」を実行します。
機能を選択して「次へ」ボタンをクリックします。
ユーザー情報を入力して「次へ」ボタンをクリックします。
使用許諾に同意して「次へ」ボタンをクリックします。
CEIPはいずれかを選び「次へ」ボタンをクリックします。
インストール先を選択して「次へ」ボタンをクリックします。
「データベースの構成」はサーバー名にSCVMMをインストールするコンピューター名(本例ではSCVMM)を入力し、その他の設定はデフォルトのまま「次へ」ボタンをクリックします。
サービスアカウントは「ドメインアカウント」を選択し、ドメイン管理者のアカウントを入力して「次へ」ボタンをクリックします。
「管理サーバーポートの構成」はデフォルトのまま「次へ」ボタンをクリックします。
「ライブラリの構成」は新しいライブラリを作成するを選択し、「次へ」ボタンをクリックします。
「インストールの概要」でこれまでの設定を確認し、問題がなければ「インストール」ボタンをクリックします。
SCVMMのインストール後、Microsoft Updateを実行してSCVMMおよびSQL Serverなどのアップデートを行います。
SCVMMをインストールしたサーバーのデスクトップに「Virtual Machine Managerコンソール」が見つかると思います。これをダブルクリックして表示されるダイアログに接続先サーバー名とアカウントを入力して「接続」ボタンをクリックします。今回はドメイン管理者のアカウントを使って接続するため、「現在のMicrosoft WindowsセッションIDを使用する」と「これらの設定で自動的に接続する」を選択して「接続」ボタンをクリックすると、以降アカウントの入力を省略できて便利です。
SCVMMが起動します。
次にSCVMMにHyper-Vホストサーバーを登録しましょう。
インストールしたSCVMMにHyper-Vホストサーバーを登録してSCVMMからHyper-Vを管理できるようにしましょう。
すべてのホストを「右クリック→Hyper-Vホストとクラスターの追加」をクリックします。
「リソースの追加ウィザード」が表示されます。
「Windowsコンピューターの場所の選択」で「信頼されたActive DirectoryドメインのWindows Serverコンピューター」を選び「次へ」ボタンをクリックします。
「資格情報の指定」でSCVMM用に作成したユーザーを入力して「次へ」ボタンをクリックします。
「検出スコープ」では「Windows Serverコンピューターを名前を使って指定する」を選択し、コンピューター名欄に追加するHyper-Vサーバーのコンピューター名をFQDN(フルコンピューター名)で入力します。入力が終わったら「次へ」ボタンをクリックします。
エラーが表示される場合はコンピューター名に誤りがないか確認してください。該当のコンピューター名を持つWindows Serverが見つかると「ホストとして追加するコンピューターの選択」の一覧に表示されます。追加するHyper-Vホストを選択して「次へ」ボタンをクリックします。
追加するサーバーにHyper-V機能がインストールされていない場合は自動的にSCVMMが該当サーバーに追加します。「OK」ボタンをクリックして続行します。
「ホストグループとホストのバーチャルマシン配置パスの指定」はデフォルト設定のままで「次へ」ボタンをクリックします。
「サマリー」で設定内容を確認し、問題無ければ「完了」ボタンをクリックします。
サーバーの追加時のログは「ジョブ」に表示されます。エラーが表示された場合は適宜対処してください。
以上でHyper-VホストサーバーをSCVMM管理下に登録できました。追加したサーバーを「右クリック→状態の表示」を実行して、ヘルス状態がすべてOKになっていることを確認してください。
また、Hyper-Vサーバーで複数のNICを持つ場合はサーバーのアクセスに利用する「管理用」とデータのやり取りを行う「配置用」のインターフェイスを予め設定してください。
以上でSCVMMサーバーのインストールと初期設定は終了です。
ライブラリサーバーにOSなどのISOイメージをコピーしたあと、OSのインストールを行ってください。
SCVMMによる仮想マシンの作成とインストール方法は、他のハイパーバイザーとほとんど変わりません。仮想マシンを作成して仮想ハードウェアの構成を行い、仮想マシンを起動してマウントしたISOイメージなどを使ってOSをインストールします。
図5 SCVMMホーム画面
SCVMMでHyper-V上に仮想マシンを作成するには以下の手順に従って操作してください。SCVMMホーム画面左下のメニューから「VMとサービス」をクリックします。
左上に「VMとサービス」メニューが表示されるので、「すべてのホスト→追加したホスト(本例ではhypervhost)」をクリックします。
画面上のリボンインターフェイスから「バーチャルマシンの作成」をクリックします。
「バーチャルマシンの作成ウィザード」が表示されます。新しいバーチャルマシンのソースとして「空のバーチャルハードディスクを使用して新しいバーチャル仮想マシンを作成する」を選択し、「次へ」ボタンをクリックします。
「バーチャルマシンIDの指定」では仮想マシン名と仮想マシンについての説明(オプション)を入力し、「次へ」ボタンをクリックします。
「ハードウェアの構成」では、仮想マシン上で実行するOSを想定したハードウェア構成を行います。CPU、メモリー、ハードディスクサイズ、インストールメディア、ネットワークアダプターなどの設定を確認してください。
図6 仮想マシンのハードウェアを構成
「保存先の選択」では「バーチャルマシンをホストに配置する」を選択し、「次へ」ボタンをクリックします。
「ホストの選択」では仮想マシンを配置するホストを選択します。複数のホストがある場合は任意のホストを選択し、「次へ」ボタンをクリックします。
「バーチャルマシン設定の確認」では仮想マシンを保管するパスを設定し、「次へ」ボタンをクリックします。
「ネットワークの選択」では仮想マシンに割り当てる仮想スイッチを設定し、「次へ」ボタンをクリックします。
「プロパティの追加」ではOSの種類と仮想マシンの自動起動、停止方法について設定し、「次へ」ボタンをクリックします。
「サマリー」ではこれまでの設定を確認し、問題がなければ「バーチャルマシンを展開後に起動する」を選択して「作成」ボタンをクリックします。仮想マシンが作成されます。
仮想マシンを作成したら仮想マシンを起動してOSのインストールを行いましょう。
仮想マシンのコンソールを開くには、任意の仮想マシンを一覧から選択した後、画面上のリボンインターフェイスから「接続または表示→コンソール経由で接続」をクリックすると表示されます。
OSのインストールは一般的なPCへのインストール手順と何ら変わりありません。画面の手順に従ってインストールを行ってください。
SCVMMでもVMのクローンは簡単に行うことが出来ます。しかし、仮想マシンを何も考えずにクローンするとSIDが同一のWindows仮想マシンができてしまいます。SIDはコンピューターの識別などに利用されるため、重複したSIDを持つWindowsが同じネットワーク上に存在する場合に特定のアプリケーションやActive Directoryドメイン認証などで問題が発生する可能性があります。
SIDはwhoami/userコマンドで確認できる
従って、Windows仮想マシンの展開時はSIDの重複がないようにする必要があります。別々のSIDを持つ仮想マシンを作成する場合は、仮想マシンをテンプレート化してテンプレートから仮想マシンをクローンするか、Sysprepを実行してから仮想マシンのクローンを実行する必要があります。SIDについての詳細は以下のWebサイトをご覧ください。
http://technet.microsoft.com/ja-jp/windows/mark_12.aspx
仮想マシンの作成とOSのインストールについては以上です。Hyper-V2012とSCVMM2012 SP1環境の構築について説明しました。環境を整えたらXenDesktop 7のインストールに移ります。XenDesktop 7のインストール後、まずはベーシックな「ユーザー占有型」の仮想デスクトップ環境を作る手順について解説します。
次回は、XenDesktop 7のインストールや設定、MCS(Machine Creation Service)を利用した仮想デスクトップの多数展開についての手順を解説します。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
「デスクトップ仮想化ニュース」は、デスクトップ仮想化、モビリティに関する最新情報の提供とデータや動画を活用した分かりやすく解説します。
「クラウド&ネットワーク情報サイト」は、クラウドコンピューティングやネットワークに関するさまざまな情報をデータや動画を活用した分かりやすい解説でお届けします。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes