Product Documentation

ツール

Mar 25, 2016

以下のツールおよびユーティリティを使ってPersonal vDiskの機能を構成、管理、および監視できます。

カスタムの規則ファイル

Personal vDiskに付属の規則を使用して、Personal vDiskイメージの以下のデフォルトの動作を変更できます。
  • Personal vDisk上のファイルの表示/非表示
  • ファイルに対する変更内容のマージ方法
  • ファイルの書き込みの許可/禁止

カスタムの規則ファイルおよびコピーオンライトについて詳しくは、各ファイル内に記述されているコメントを参照してください。これらのファイルは、Personal vDiskをインストールしたマシンのC:\ProgramData\Citrix\personal vDisk\Configにあります。 「custom_*」という名前のファイルには、規則の説明と規則を有効にする方法が記述されています。

サイズ変更とプール統計のスクリプト

Personal vDiskのサイズを監視したり管理したりするための2つのスクリプトが用意されています。これらのスクリプトは、XenDesktopインストールメディアのSupport\Tools\Scriptsフォルダーに収録されています。 また、Support\Tools\Scripts\PvdToolフォルダーに収録されているPersonal vDisk Image Update Monitoring Tool(イメージ更新監視ツール)を使用することもできます。詳しくは、http://blogs.citrix.com/2014/06/02/introducing-the-pvd-image-update-monitoring-tool/を参照してください。

resize-personalvdisk-pool.ps1スクリプトでは、カタログ内のすべてのデスクトップのPersonal vDiskのサイズを増やすことができます。 このスクリプトを使用するには、Studioが動作するマシン上に、使用するハイパーバイザーに対応する以下のスナップインまたはモジュールをインストールする必要があります。
  • XenServer:XenServerPSSnapin
  • vCenter:vSphere PowerCli
  • System Center Virtual Machine Manager:VMMコンソール

personal-vdisk-poolstats.ps1スクリプトでは、複数のPersonal vDiskに対してアプリケーション領域とユーザープロファイル領域の容量を確認したり、イメージの更新状態を確認したりできます。 イメージを更新する前にこのスクリプトを実行すると、更新の失敗の原因となる空き容量不足のデスクトップを特定することができます。 このスクリプトを使用するには、Personal vDiskデスクトップのファイアウォールで、Windows Management Instrumentationからの受信規則(WMI受信)が有効になっている必要があります。 この規則は、マスターイメージまたはGPOを使用して有効にできます。

イメージの更新に失敗すると、[Update]列にその原因が表示されます。

アプリケーション領域のリセット

問題のあるアプリケーションのインストールなどが原因でユーザーのデスクトップが破損した場合は、管理者がPersonal vDiskのアプリケーション領域を工場出荷時のデフォルト(つまり空の状態)にリセットできます。 この領域をリセットしても、ユーザープロファイルには影響しません。

Personal vDiskのアプリケーション領域をリセットするには、以下のいずれかを行います。
  • ユーザーのデスクトップに管理者としてログオンします。 コマンドラインでC:\Program Files\Citrix\Personal vDisk\bin\CtxPvD.exe -s Resetを実行します。
  • Citrix Directorでユーザーのデスクトップを選択します。 [Personal vDiskをリセット]をクリックして[OK]をクリックします。

Personal vDiskインベントリのエクスポートとインポート

イメージの更新プロセスは、Personal vDiskデスクトップに新しいイメージをロールアウトする操作に組み込まれています。これにより、新しい基本イメージで既存のPersonal vDiskを使用できるようになります。 Machine Creations Services(MCS)を使用する展開環境では、アクティブな仮想マシンからインベントリをネットワーク共有上にエクスポートして、それをマスターイメージ上にインポートできます。 マスターイメージでは、このインベントリ情報に基づいて差分が計算されます。 インベントリのエクスポート/インポート機能を使用することは必須ではありませんが、これによりイメージ更新プロセスの全体的なパフォーマンスが向上します。

インベントリのエクスポート/インポート機能を使用するには、管理者権限が必要です。 必要に応じてnet useコマンドを実行して、エクスポート/インポート機能で使用するネットワーク共有をマップします。このとき、エクスポートまたはインポートで使用するすべてのファイルにアクセスできるアカウントが必要です。
  • インベントリをエクスポートするには、Personal vDisk(Version 7.6以降)が有効なVDAのマシン上で、管理者として次のエクスポートコマンドを実行します。

    Ctxpvdsvc.exe exportinventory "<path-to-export-location>"

    現在のインベントリの場所が検出され、で指定した場所のExportedPvdInventoryフォルダーにインベントリがエクスポートされます。 このコマンドにより、以下のようなメッセージが出力されます。
    C:\Program Files\Citrix\personal vDisk\bin> .\CtxPvDSvc.exe exportinventory  \\share location\ExportedInventory Current inventory source location C:\CitrixPvD\Settings\Inventory\VER-LAS ... Exporting current inventory to location \\ …. ... Deleting any pre-existing inventory folder at \\ …. .Successfully exported current inventory to location \\ …. Error code = OPS 
  • エクスポートしたインベントリをマスターイメージにインポートするには、管理者としてインポートコマンドを実行します。

インベントリをインポートするには

マスターイメージ上で、管理者として次のインポートコマンドを実行します。

Ctxpvdsvc.exe importinventory "<path-to-exported-inventory>"

<path to exported inventory>には、エクスポート済みのインベントファイルのフルパス(通常<network location>\ExportedPvdInventory)を指定します。

exportinventoryオプションでエクスポートされたインベントリが取得され、それがマスターイメージ上のインベントリストアにインポートされます。 このコマンドにより、以下のようなメッセージが出力されます。
C:\Program Files\Citrix\personal vDisk\bin> .\CtxPvDSvc.exe importinventory  \\share location\ExportedInventory\ExportedPvdInventory Importing inventory \\share location\ExportedInventory\ExportedPvdInventory … Successfully added inventory \\share location\ExportedInventory\ExportedPvdInventory to the  store at c:\ProgramData\Citrix\personal vDisk\InventoryStore
インベントリのエクスポート先には、以下のファイルが出力されます。 これらのファイルは、マスターイメージ上のインベントリストアに同じ名前でインポートされます。
  • Components.DAT
  • files_rules
  • folders_rules
  • regkey_rules
  • RINGTHREE.DAT
  • S-1-5-18.DAT
  • SAM.DAT
  • SECURITY.DAT
  • SNAPSHOT.DAT
  • SOFTWARE.DAT
  • SYSTEM.CurrentControlSet.DAT
  • VDCATALOG.DAT
  • vDiskJournalData

バックアップと復元

重要:これらのスクリプトを実行しても、Personal vDiskのストレージの場所を変更することはできません。 これを行うには、ほかの方法を使用してください。
インストールメディアのSupport\Tools\Scriptsフォルダーに収録されている2つのPowerShellスクリプトを使用して、Personal vDisksをバックアップして復元することができます。 バックアップと復元用のスクリプトを使用して、既存のPersonal vDiskとユーザーの関連付けを別のカタログに移行できます。 この方法は、Personal vDiskストレージを変更するときにも使用できます。 バックアップスクリプトを実行すると、既存のカタログのメタデータを含むXMLファイルが作成されます。 このメタデータには、Personal vDiskの現在のストレージの場所と関連付けられているユーザーの情報が含まれます。 このXMLファイルを復元スクリプトで使用すると、Personal vDiskが新しいカタログに関連付けられ、ユーザーが割り当てられます。
  • migration-backup.ps1は、各ユーザーとマシンカタログ内のPersonal vDisk間のマッピング情報をXMLファイルとして保存します。
  • migration-restore.ps1は、そのXMLファイルを使ってマシンカタログ内でユーザーのデスクトップを再作成します。
バックアップや復元を実行する前に、以下の点に注意してください。
  • これらのスクリプトではハイパーバイザーAPIを使用するため、スクリプトを実行するControllerにハイパーバイザーのPowerShellスナップインをインストールしておく必要があります。
  • 対象のマシンカタログのControllerにアクセスできる場所でスクリプトを実行する必要があります。
  • これらのスクリプトがサポートするハイパーバイザープラットフォームは、Citrix XenServer、Microsoft Hyper-V、およびVMware ESXです。

マシンカタログのバックアップ

マシンカタログを変更するたびにバックアップを作成してください。 カタログ内のマシンが使用中の場合でもバックアップを実行できます。

Personal vDiskを持つマシンカタログをバックアップするには、migration-backup.ps1を使用します。 このスクリプトの実行時に、マシンカタログ名とハイパーバイザーの接続情報を入力する必要があります。 すると、マシンカタログ内の各マシンについてPersonal vDiskストレージと割り当てられたユーザーの間のマッピング情報が保存されます。 この情報はXMLファイルに格納されます。このXMLファイルの構造は以下のとおりです。
             
  • PvDMigration.hypervisor.Typeは、ハイパーバイザーの種類(VMware ESX、Citrix XenServer、またはMicrosoft Hyper-V)です。
  • PvDMigration.PVDは、Personal vDiskの格納場所と、そのPersonal vDiskに割り当てられているユーザーの情報です。
  • PvDMigration.PVD.DiskIdは、バックアップしたハイパーバイザー上のvDiskの一意なIDです。
  • PvDMigration.PVD.DiskNameは、VHDまたはVMDKファイルの名前です。
  • PvDMigration.PVD.SRNameは、バックアップを実行したときのストレージプロバイダーの名前です。
  • PvDMigration.PVD.SRIDは、バックアップしたハイパーバイザー上のストレージプロバイダーの一意なIDです。
  • PvDMigration.PVD.UserNameは、このvDiskに割り当てられているユーザーの名前です。
  • PvDMigration.PVD.UserSidは、このvDiskに割り当てられているユーザーのSIDです。
  • PvDMigration.PVD.Stateは、このvDiskの状態を示し、 「backed up」または「processed」のいずれかです。初回のバックアップの後は「backed up」になります。このXMLファイルを使ってバックアップを復元すると、状態が「processed」に変更されます。

マシンカタログの復元

復元を実行する前に、次の点に注意してください。
  • バックアップしたマシンカタログと同じマスターイメージを共有するマシンカタログだけを復元できます。
  • バックアップしたマシンカタログのマスターイメージのインベントリを更新して、新しいマスターイメージを作成する必要があります。
Personal vDiskを持つマシンカタログをバックアップから復元するには、migration-restore.ps1を使用します。 このスクリプトの実行時に、以下の情報を入力する必要があります。
  • バックアップ時に生成されたXMLファイル。
  • 復元するマシンカタログの名前。
  • 未アタッチのPersonal vDiskの格納場所の名前。 この情報は、バックアップ時のXMLファイル内に記述されています。
  • ハイパーバイザーの接続情報

migration-restore.ps1スクリプトはマシンカタログ内の未割り当てマシンを検索し、それにユーザーを割り当てます。 また、ユーザーのPersonal vDiskをマシンにアタッチします。

シナリオ例1:新しいマシン名を使用したマシンカタログおよびそのPersonal vDiskの復元

このシナリオでは、マシンカタログ全体とそのマシンにアタッチされたPersonal vDiskが復元されます。 各マシンには新しい名前が指定されます。 以下の手順は、ハイパーバイザーやストレージホストで障害が生じた場合、または新しいインフラストラクチャにユーザーを移行する場合に使用します。
  1. migration-backup.ps1を実行して、ユーザーとPersonal vDiskとのマッピングをXMLファイルにバックアップします。
  2. 何らかのバックアップソリューションを使用して、元のマシンカタログから任意のディスク上にPersonal vDiskを移動またはキャプチャします。
    • VMware ESXまたはMicrosoft Hyper-Vの場合:Personal vDiskは、Controllerにより指定されたストレージ上の、vDiskのアッタチ先マシン名を示すフォルダー内にあります。
    • Citrix XenServerの場合:Personal vDiskは、Controllerにより指定されたストレージのルートにあります。 各vDiskの名前はGUIDです。
  3. 何らかのストレージバックアップソリューションを使用して、元のマシンカタログからPersonal vDiskを復元します。
    • ESXまたはHyper-Vの場合:新しいストレージリソースの新しいフォルダーにvDiskを配置します。 または、新しいストレージリソース上で、バックアップ元と同じパスにvDiskを配置します。
    • XenServerの場合:新しいストレージリソース上のルートにvDiskを配置します。
  4. 障害が発生したマシンカタログの作成元のマスターイメージから、Provisioning Services vDiskまたはMachine Creation Servicesスナップショットを作成します。
  5. vDiskまたはスナップショット上の[スタート]メニューから[インベントリの更新]を実行します。
  6. Studioでマシンカタログを再作成します。このとき、障害が発生した(オリジナルの)マシンカタログと異なる規則で名前を指定します。 これにより、新しいPersonal vDiskを持つ新しいマシンのカタログが作成され、サイトデータベースに認識されます。
  7. 再作成されたマシンカタログが正しいデリバリーグループに割り当てられていることを確認します。
  8. デリバリーグループがメンテナンスモードで、そのグループの各マシンがシャットダウン状態であることを確認します。
  9. バックアップスクリプトにより生成されたXMLファイルを編集します。
    • ESXまたはHyper-Vの場合:手順3.で新しいストレージリソース上の新しいフォルダーにvDiskを復元した場合、ファイル内のすべてのセクションについて、のフォルダー名を新しいフォルダー名に置き換えます。 バックアップ元と同じパスにvDiskを復元した場合は、この手順をスキップします。
    • XenServerの場合:この手順をスキップします。
  10. Controller上でmigration-restore.ps1を実行し、XMLファイルの名前およびバックアップされたvDiskの格納場所を指定します。

シナリオ例2:既存のマシン名を再使用したマシンカタログおよびそのPersonal vDiskの復元

このシナリオでは、マシンカタログ全体とそのマシンにアタッチされたPersonal vDiskが復元されます。 各マシンには、元の名前が再使用されます。 以下の手順は、ハイパーバイザーやストレージホストで障害が生じた場合に使用します。
  1. migration-backup.ps1を実行して、ユーザーとPersonal vDiskとのマッピングをXMLファイルにバックアップします。
  2. 何らかのバックアップソリューションを使用して、元のマシンカタログから任意のディスク上にPersonal vDiskを移動またはキャプチャします。
    • ESXまたはHyper-Vの場合:Personal vDiskは、Controllerにより指定されたストレージ上の、vDiskのアッタチ先マシン名を示すフォルダー内にあります。
    • XenServerの場合:Personal vDiskは、Controllerにより指定されたストレージのルートにあります。 各vDiskの名前はGUIDです。
  3. 何らかのストレージバックアップソリューションを使用して、元のマシンカタログからPersonal vDiskを復元します。
    • ESXまたはHyper-Vの場合:新しいストレージリソースの新しいフォルダーにvDiskを配置します。
    • XenServerの場合:新しいストレージリソース上のルートにvDiskを配置します。
  4. 障害が発生したマシンカタログの作成元のマスターイメージから、Provisioning Services vDiskまたはMachine Creation Servicesスナップショットを作成します。
  5. vDiskまたはスナップショット上の[スタート]メニューから[インベントリの更新]を実行します。
  6. Studioでマシンカタログを再作成します。このとき、障害が発生した(オリジナルの)マシンカタログと同じ規則で名前を指定します。 これにより、新しいPersonal vDiskを持つ新しいマシンのカタログが作成され、サイトデータベースに認識されます。
  7. 再作成されたマシンカタログが正しいデリバリーグループに割り当てられていることを確認します。
  8. デスクトップグループがメンテナンスモードで、そのグループの各マシンがシャットダウン状態であることを確認します。
  9. バックアップスクリプトにより生成されたXMLファイルを編集します。
    • ESXまたはHyper-Vの場合:ファイル内のすべてのセクションについて、のフォルダー名をvDiskの復元先フォルダー名に置き換えます。
    • XenServerの場合:この手順をスキップします。
  10. Controller上で、編集したXMLファイルを指定してmigration-restore.ps1スクリプトを実行します。 スクリプトにより、vDiskが移動せずにアタッチされます。
  11. ユーザーデータが正しく復元されていることを確認します。

シナリオ例3:マシンカタログの一部のPersonal vDiskの復元

このシナリオでは、マシンカタログ内の一部のPersonal vDiskで障害が発生したため、そのvDiskだけを復元します。 カタログ内の仮想マシンでは障害が発生していません。
  1. migration-backup.ps1を実行して、ユーザーとPersonal vDiskとのマッピングをXMLファイルにバックアップします。
  2. XMLファイルには、マシンカタログの各ユーザーに対応するセクションがあります。 Personal vDiskを復元する必要がないユーザーについて、ファイルからそれらのユーザーおよび関連セクションを削除します。
  3. ほかのシナリオで説明しているように、何らかのバックアップソリューションを使って元のマシンカタログからPersonal vDiskを復元します。
    • 新しいマシン名を使用する場合は、シナリオ例1を参照してください。
    • マシン名を保持する場合は、シナリオ例2を参照してください。
  4. カタログに十分な未割り当てマシンがあることを確認します。 必要な場合は、マシンを追加します。 vDiskを復元する各ユーザーについて、新しいマシンが1つ必要です。
  5. デスクトップグループがメンテナンスモードで、そのグループの各マシンがシャットダウン状態であることを確認します。
  6. Controller上で、編集したXMLファイルを入力として指定してmigration-restore.ps1スクリプトを実行します。
  7. ユーザーデータが正しく復元されていることを確認します。