設計上の決定:Azure Files を使用したCitrix Profile Management
はじめに
この記事では、Citrixユーザープロファイルマネージャーを使用して、Azure Filesのユーザープロファイルをバックエンドストレージの場所として管理するためのガイダンスおよびベストプラクティスについて説明します。この資料の主な目的は、Azure ファイルを使用してユーザープロファイルマネージャーを展開するための最善の方法を決定するために必要な情報を提供することです。
この記事では、Citrix および Microsoft コンポーネント、テスト方法について説明し、テスト結果を報告します。この記事では、調査結果の分析と主要な展開決定に関するガイダンスについても説明します。最後に、ユーザープロファイルデータの保護、保護、移行に関する追加情報が提供されます。
Azure Files
Azure Files は、安全でパブリックにホストされているサーバーメッセージブロック (SMB) またはネットワークファイルシステム (NFS) ファイル共有で、低レイテンシーアクセスを実現します。Azure ファイルは、Active Directory 統合と NTFS ファイルレベルのアクセス許可の両方をサポートしており、Windows、Mac、および Linux クライアントからアクセス可能です。
Azure ファイルは、さまざまなエンタープライズ目的で使用できます。
-
ファイルサーバ。Azure ファイルは、世界中の一般的なオペレーティングシステムから直接マウントできます。Azure ファイルは、Azure ファイル同期を介してオンプレミスの Windows サーバーにデータをレプリケートできるハイブリッドシナリオでも展開できます。
-
アプリケーションの移行。ユーザーアプリケーションとデータの両方をクラウドに同時に移動します。または、最初にユーザーデータを移動し、アプリケーションをクラウドに移動できるようになるまで、ハイブリッド構成で実行することもできます。
-
クラウド開発の簡素化。Azure ファイルを使用して、共有アプリケーション設定、診断ログ、メトリック、または開発者ユーティリティを格納します。
-
コンテナ化。Azure Files は、コンテナの永続的なストレージとして、または共有ストレージファイルシステムとして使用します。
Azure Files は、共有アクセス機能、完全管理型、復元性に優れたファイル共有により、Citrix ユーザーのユーザープロファイルデータを格納するのに最適な場所です。Azure Files は SMB 3.0 を使用するため、転送されたすべてのデータは、転送中に暗号化によって保護されます。
パフォーマンス階層
Azure Files には、コストやパフォーマンスメトリックが異なる4つの異なるパフォーマンスレベルがあります。トランザクション最適化とプレミアムの2つの階層が評価され、ユーザー・プロファイル・データの保存に推奨されます
**トランザクション最適化** (旧標準)パフォーマンスは、単一のファイル共有に最大100 TBのストレージを提供し、最大スループットは300 MiB/秒です。トランザクションのパフォーマンスレベルは、高性能を必要としないワークロードをサポートするように設計されています。ユーザープロファイルのワークロードにトランザクション最適化オプションを使用する場合は、必ず「大容量ファイル共有」設定を有効にしてください。「大きなファイル共有」が有効なトランザクションファイル共有でサポートされる最大 IOPS は 10,000 IOPS です。これは、10 TiB 共有と 100 TiB 共有に当てはまります。
「大きなファイル共有」が有効になっていないトランザクションストレージアカウント (5 TiB 未満) は、複数の冗長オプションをサポートします。これらのオプションには、ローカル冗長、ゾーン冗長、および読み取り専用およびホットまたはコールド階層が使用できる geo 冗長があります。「大きなファイル共有」のサポートが有効になっている場合、ローカル冗長ストレージとゾーン冗長ストレージオプションのみを使用できます。
Premium パフォーマンスにより、1 つのファイル共有で最大 100 TiB のストレージが提供されます。100,000 IOPS とスループットは、ファイル共有のプロビジョニングされたサイズに基づきます。プレミアムファイル共有は 40 Mib/秒 +(0.04 * プロビジョニング済み GiB)の基本入力が提供され、基本出力レートは 60 MiB/秒+(0.06 * プロビジョニング済み GiB)です。10 TiB 共有の場合、スループットは入力レートが 450 MiB/秒、出力レートは 675 MiB/秒に相当します。プレミアム・パフォーマンス・レベルは、10ミリ秒未満のレイテンシーを実現しながら、I/O集約型のワークロードをサポートするように設計されています。
IOPS とスループットは、ファイル共有のサイズに基づいてプロビジョニングされます。ユーザーが必要とする IOPS とスループットをカバーするサイズを必ずプロビジョニングしてください。プレミアムファイル共有の場合、割り当てられるベース IOPS は、プロビジョニングされた領域の GiB ごとに 400 以上の 1 IOPS で、最大 100,000 IOPS です。プレミアムシェアは、最大 4000 IOPS または割り当てられたベース IOPS の 3 倍のバーストが可能です。10 TiB ファイル共有には、10,240 IOPS が割り当てられます。プレミアムファイル共有では、バーストモードでは、割り当てられた IOPS の最大3倍を使用できます。ただし、バーストモードでは、ファイル共有を再生成するために、割り当てられた IOPS よりも短い時間で実行する必要があります。つまり、常にバーストモードで実行することはできません。使用可能なクレジットが十分にある場合、共有は最大 30,720 IOPS までバーストでき、最大 60 分間になります。
両方のパフォーマンス層は、ユーザープロファイルデータを格納するためのオプションとして受け入れられます。パフォーマンス階層の選択は、主にユーザーのワークロードによって異なります。目標は、常にエンドユーザーに最低限のコストで必要なパフォーマンスとデータ保護を提供することです。応答時間が最も優先されるユーザープロファイルでは、プレミアムファイル共有が最適です。さまざまな階層のパフォーマンスの詳細については、 MicrosoftのストレージパフォーマンスWebページを参照してください。最適なパフォーマンス階層を判断するには、主要なメトリックを監視することから始めます。
監視
Azure モニターを使用して、Azure ファイル共有の主要なメトリックスを表示し、調整を行うことができます。ストレージについては、スループット、トランザクション、レイテンシーメトリックスを詳細に監視します。これらのメトリックスを有効にするには、Azure ポータルでストレージアカウントを選択し、[ストレージアカウント] ブレードから [ **メトリック ] を選択します。**テスト中に Azure ファイルのパフォーマンスを監視するために使用した主なメトリックは次のとおりです。
入力 (合計): 期間中の Azure ファイルへの受信データの総計 (バイト単位)。最小粒度は 1 分です。1 秒あたりの平均入力スループットを決定するには、入力データの合計を 1 分間取り、60 で割る必要があります。このメトリクスを追加するには、[ メトリックの追加 ] をクリックし、 スコープをストレージアカウント名に設定します 。名前空間を [Account] に設定し、 メトリックスとして [Ingress] を選択し、 集約タイプとして [Sum] を選択します。
出力 (合計): 期間中の Azure ファイルからの送信データの総計 (バイト単位)。最小粒度は 1 分です。1 秒あたりの平均出力スループットを決定するには、1 分間の出力データの合計を 60 で割る必要があります。このメトリクスを追加するには、[ メトリックの追加 ] をクリックし、 スコープをストレージアカウント名に設定します 。名前空間を Account に設定し、 メトリックスとして Egress を選択し、 集約タイプとして [Sum] を選択します。
トランザクション (合計): 期間中に Azure ファイルに対して行われたリクエスト数 (成功と失敗の両方)。最小粒度は 1 分です。このメトリックは、入力/出力オペレーション/秒(IOPS)と非常に似ています。1 分間の平均 IOPS を決定するには、その分のトランザクションの合計を 60 で割ります。このメトリックを追加するには、[ メトリックを追加 ] をクリックし、ストレージアカウント名にスコープを設定します。名前空間を [Account] に設定し、 メトリックスとして [トランザクション] を選択し、 集計タイプとして [Sum] を選択します。
スロットリングによるトランザクション成功 (合計): 最初の試行でプロビジョニングされた制限が原因で失敗したが、再試行後に成功したリクエストの総数。このメトリックスは、レスポンスタイプのAPIフィルタであり、リソースがプロビジョニングされるプレミアム層でのみ有効です。トランザクションの合計と比較してこの数値が重要な場合は、ファイル共有のサイズを増やします。このフィルタを追加するには、まず [トランザクション] メトリックを追加する必要があります。次に、[ フィルタの追加] をクリックし、[ レスポンスタイプ ] プロパティ、= の演算子を選択し 、[ 値 ] フィールドでフィルタの 1 つを選択します。このフィルタは、スロットルされたトランザクションが表示されない限り、選択として表示されません。プレミアム共有の場合、特定のレスポンスタイプ (SuccessWithShareIOPSスロットリング、SuccessWithShareegressThrottling、SuccessWithShareingressThrottling) を調べて、IOPS またはスループットがスロットルされているかどうかを判断することもできます。指標ディメンションの詳細については、 Microsoft の Web サイトを参照してください。
成功サーバーレイテンシー (平均): Azure ファイルがリクエストを完了するのに要した平均時間。この値にはネットワーク遅延は含まれません。この値が増加すると、Azure Files インフラストラクチャは最大容量で動作し、低下します。このメトリクスを追加するには、[ メトリックの追加 ] をクリックし、 スコープをストレージアカウント名に設定します 。名前空間を [アカウント] に設定し、 メトリックスとして [成功サーバーの待ち時間]、[平均] を集約として選択します。
成功 E2E レイテンシー (平均): Azure Files でトランザクションを正常に完了するために必要なエンドツーエンドの平均レイテンシー。この値には、クライアントと Azure ファイルの間のネットワークレイテンシーが含まれます。成功サーバーの待ち時間の値と比較してこの数が増加している場合は、ネットワークを調査します。このメトリクスを追加するには、[ メトリックの追加 ] をクリックし、 スコープをストレージアカウント名に設定します 。名前空間を [アカウント] に設定し、 メトリックスとして [成功 E2E レイテンシー]、[平均] を集約として選択します。
Citrix Profile Management
Citrix Profile Management(CPM)を使用すると、テスト中のエンドユーザーエクスペリエンスが大幅に向上しました。Citrix Profile Managementは、プロファイルの破損を減らしながら、プロファイルの肥大を取り除き、ログオン時間を大幅に短縮するように設計されています。Citrix Profile Management は、Citrix DaaS の機能です。
キーとなる機能
バックエンドストレージに Azure ファイルを使用するときに優れたエンドユーザーエクスペリエンスを提供する CPM の主な機能は、次のとおりです。
プロファイルストリーミング: プロファイルに含まれるファイルとフォルダーは、ユーザーがログオンした後にファイルにアクセスしたときにのみ、ユーザーストアからローカルコンピューターにフェッチされます。プロファイルストリーミングは、ユーザーログオン時にローカルプロファイルにコピーされるデータの量を減らすことで、ログオン時間を大幅に短縮します。この設定は既定で有効になっており、Azure Files から送信されるトランザクションと出力データの量が減少し、コストが削減され、ログオン時間が短縮されます。
アクティブなライトバック:変更されたファイルとフォルダは、セッションの途中でログオフ前にユーザーストアに同期できます。通常、これらのセッション中間の書き込みは、約 5 分ごとに行われます。この設定を有効にすると、ログオフ時にすべての書き込みが発生するのではなく、より一貫性のある書き込みトラフィックストリームを Azure Files に提供します。この頻繁なライトバックは、ユーザーが複数のデバイスからプロフィールに同時にアクセスするときの「最後のライターの勝ち」の問題を解決します。
大容量ファイルの処理: ログオンのパフォーマンスを向上させ、サイズの大きいファイルを処理するために、この一覧のファイルをコピーする代わりにシンボリックリンクが作成されます。ファイルを保存するパスを構成する必要がありますが、ワイルドカードを使用することもできます。この設定は、トランザクション層を使用する場合に強く推奨され、Premium 層に推奨されます。
プロファイル管理の構成
テストでは、各CitrixホストにマルチセッションOS Virtual Delivery Agent(VDA)2006がインストールされていました。インストール時に、[ 追加コンポーネント ]画面で、 CitrixユーザープロファイルマネージャーとCitrixユーザープロファイルマネージャーのWMIプラグインの両方が有効になりました 。
Profile Managementの次のGPO設定が構成され、テストに使用されるすべてのCitrixホストにGPOが割り当てられました。
GPO の設定 | 値 |
---|---|
アクティブライトバック | 有効 |
アクティブライトバックレジストリ | 有効 |
Profile Managementの有効化 | 有効 |
ユーザー ストアへのパス | |
カスタマー エクスペリエンス向上プログラム | 無効 |
デフォルトの除外リストを有効にする — ディレクトリ | 有効 |
ログオフ時にローカルでキャッシュしたプロファイルの削除 | 有効 |
ローカルプロファイル競合の制御 | ローカル プロファイルを削除 |
既定の除外リストを有効にする — レジストリ | 有効 |
大きなファイル処理 — シンボリックリンクとして作成されるファイル | ostFolder\ *.ost PstFolder\ *.pst |
監視
パフォーマンスの監視は、Citrix Directorを使用して実行できます。パフォーマンスを監視する重要な指標は、プロファイルのロード時間です。プロファイルの読み込み時間は、ユーザーのプロファイルをCitrixセッションに読み込むのにかかる秒数を示します。プロファイルの読み込み時間には、プロファイルストレージ (この場合は Azure Files) からユーザーのプロファイルをコピーするのにかかる時間が含まれます。ユーザープロファイルの読み込み時間は、ユーザーエクスペリエンスに大きな影響を与えます。通常、プロファイルの読み込み時間が 30 秒を超えると、ユーザーエクスペリエンスが低下します。プロファイルの読み込み時間は、Citrix Directorから利用できます。Citrix CloudVirtual Apps and Desktops サービスで、次のスクリーンショットに示すように、[ モニター]>[ **傾向 ]>[ログオンパフォーマンス]** の順に選択します。
プロファイルのロード時間は、グラフの下の表で監視または表示されている期間にカーソルを置くと、表示されます。
テスト方法
主な目標は、負荷がかかっているAzure ファイル共有を評価し、Citrixホスト上で構成されたCPMを使用したトランザクション最適化層とプレミアム層がどのように実行されるかを特定のワークロードで判断することでした。次の設定は、テストの実行中に静的に維持されました
静的設定 | 値 |
---|---|
ユーザー数 | 1000 |
ファイル共有クォータサイズ | 10TB |
フォルダーのリダイレクト | デスクトップ、ドキュメント、および画像に対して有効 |
大容量ファイルの処理 | CPMラージ・ファイルを有効にして4 GBのOSTファイルを更新 |
ログオン数 | 1 時間あたり 1000 ユーザー、または 3.6 秒ごとに 1 ユーザー |
ユーザープロファイルのサイズ | 4.7 GB、400 ファイル |
次のテスト変数は、さまざまな構成のさまざまなテスト実行中にパフォーマンスを評価した後に決定されました。
変数 | テストする値 |
---|---|
Azure ファイル層 | トランザクションの最適化 |
Premium | |
1 時間あたりに更新されるファイル | 20,000 ファイル |
40,000 ファイル | |
60,000ファイル | |
8万ファイル | |
10万ファイル |
少数のリソースで 1000 人のユーザーをシミュレートするために、カスタム PowerShell スクリプトを使用したテストを設計しました。スクリプトは、ユーザーのリダイレクトされたフォルダ (87.5%) またはユーザーのローカルプロファイル (12.5%) に格納されている複数のファイルをランダムに更新しました。このスクリプトは、シングルユーザーで実行すると、セッションで 20 ~ 100 ファイル (更新する 1 時間あたりのファイル数による) の更新になります。このスクリプトは、ローカルプロファイルフォルダーに格納されている 4 GB の OST ファイルも更新されました。
起動レートを制御し、セッション中にランダムな待機時間を提供するために、テストフレームワークに LoginVSI を使用しました。ランダム待機は、ユーザーが同時にログオンすることによって発生するネットワークトラフィックの予測可能なスパイクを防止し、より優れたワークロードをシミュレートするのに役立ちます。ユーザーは、ログオフする前に、必要なファイルにログオンしてアクセスします。結果からログオフトラフィックを除外するには、すべてのユーザーがログオンし、ユーザーがログオフする前にファイルにアクセスしました。グラフには、ユーザーがログオンしている間、テストの最初の1時間からのメトリックスが表示されます。
テスト環境セットアップ
100,000 個のファイルをテストするために、60 分以内にログオンする 1,000 ユーザーセッションをサポートする環境を構築しました。テストインフラストラクチャがボトルネックにならないように、Citrix ホストサーバーは意図的にサイズが大きくなって、パフォーマンスの問題を Azure ファイル共有に移動しました。
Azure 米国西部 2 リージョンでは、ピアリングされた 2 つの仮想ネットワークを構成しました。1 つの仮想ネットワークには、セッションの管理と進捗のレポートに使用される LoginVSI インフラストラクチャが含まれています。他の仮想ネットワークには、1 TB Premium SSDドライブを備えた標準 FS16_v2 インスタンスで実行されている 30 台の Citrix ホストが含まれていました。Citrixサーバーは、ユーザープロファイルをAzureファイルから読み込んだり、Azure Filesに書き込む必要のあるセッションをホストしていました。Azure ファイルSMB共有をパスストアとして使用するようにCitrix Profile Managementを有効にし、構成しました。
2 つの Azure ストレージアカウントが作成されました。1 つはトランザクション最適化層の SMB 共有で、もう 1 つはプレミアム層の SMB 共有です。トランザクション層で「大きなファイル共有」設定が有効になりました。両方のストレージアカウントは、ローカル冗長ストレージ (LRS) を使用しました。デフォルトのユーザープロファイルには、85 KB ~ 5225 KB の範囲の 400 ファイルと、大容量のファイルテスト用に 4 GB の単一ファイルが使用されていました。ユーザープロファイルの合計サイズは約 4.7 GB でした。
Citrix Cloudを使用して、マシンカタログとデリバリーグループを管理しました。列挙にローカルのStoreFront サーバーが使用されました。30台のCitrixホストは、CitrixマルチセッションOS Virtual Delivery Agent(VDA)2006年を使用してWindows Server 2016を実行していました。Citrix StoreFront サーバーとCitrix Cloud Connectorは、LoginVSIインフラストラクチャのサブネット上にあり、Citrixホストは別のサブネットに存在していました。
テスト実行
前に特定した変数に基づいて、次のテストマトリックスが実行され、実行ごとにAzure MonitorとCitrix Directorからパフォーマンスデータが収集されました。
実行名 | Azure ファイル層 | ファイル共有クォータ | ファイルが更新されました |
---|---|---|---|
Premium-20K | Premium | 10TB | 20,000 |
Premium-40K | Premium | 10TB | 40,000 |
Premium-60K | Premium | 10TB | 60,000 |
Premium-80K | Premium | 10TB | 80,000 |
Premium-100K | Premium | 10TB | 100,000 |
Transaction-20K | トランザクションの最適化 | 10TB | 20,000 |
Transaction-40K | トランザクションの最適化 | 10TB | 40,000 |
Transaction-60K | トランザクションの最適化 | 10TB | 60,000 |
Transaction-80K | トランザクションの最適化 | 10TB | 80,000 |
Transaction-100K | トランザクションの最適化 | 10TB | 100,000 |
ウォームアップテストの実行後、各テスト実行は次のステップで構成されました
-
Premium レベルの場合、バーストの IOPS が再生成されるまで 2 時間待つ
-
Citrixホストサーバーに割り当てられたコンピュータGPOを更新して、ユーザーのプロファイルの場所を正しいファイル共有( トランザクションまたはプレミアム)に設定します 。
-
Citrixサーバーを再起動します
-
PowerShell スクリプトを設定して、正しい数のファイル (20、 40、60、80、100) を更新する
-
60 分以内に 1000 ユーザーセッションをすべて起動するようにテスト実行を構成する
-
テストを開始する
-
開始日/時刻を記録する
-
各セッションはログオフする前に少なくとも60分間実行しました
-
すべてのセッションがログオフされた後に停止日時を記録する
-
Azure モニタデータを収集して主要なメトリックスを収集する
-
ログオンパフォーマンスのためにCitrix Directorデータを収集する
テスト結果
テスト結果は、前述の主要なメトリック(IOPS)、スループット(出力および入力)、レイテンシー、プロファイルロード時間によって表示されます。これらのテストは、SMB マルチチャネルがリリースされる前に実行されたことに注意してください。Azure Files の SMB マルチチャネルは、プロファイルサービスと共に使用すると、パフォーマンスが向上します。
トランザクション
トランザクションは Azure Files メトリックスの一部として記録されます。上記のグラフは、すべてのテスト実行で使用されている IOPS のかなり一貫した量を示しています。ファイル共有の種類にかかわらず、1 秒あたりの平均IOPSは約3300未満です。テストでは、2 つのファイル共有タイプ間で接触するファイルの数だけを変更したため、一貫した結果が予想されます。ファイル自体は、すべてのユーザープロファイルで同じでした。
どちらのファイル共有もテスト用の構成で 10,000 IOPS をサポートするため、ワークロードに必要な IOPS は制限内に収まっています。これは、IOPS がボトルネックになる前に Azure Files がこのワークロードを 3 倍サポートできることを示しています。
スループット
スループットは、Azure Files メトリックスの一部として利用できます。次のグラフは、異なる層の出力トラフィックおよび入力トラフィックを示しています。Citrix Profile Managerはログオン時に完全なプロファイルをスキャンしますが、ファイルの一部のみが変更されるため、出力トラフィックは入力トラフィックよりも高くなります。Citrix Profile Managerの一部としてプロファイルのストリーミングが有効になっていない場合、プロファイル全体が読み込まれ、ローカルホストにコピーされます。実行中に更新されるファイル数が増加すると、出力スループットも増加します。この現象は、ファイル全体がローカルホストにストリーム配信され、変更され、共有に書き戻されるためです。
Premium シェアのスループットは、出力数 675mib/秒および 450mib/秒の入力のプロビジョニングされた量内に収まっています。Premium Share は、スループットが問題になる前に、テストの 15 倍のワークロードを処理できます。
トランザクションファイル共有の上限は 300 Mib/秒で高くなります。したがって、理論的には、トランザクションファイル共有は、スループットがボトルネックになる前に 5 倍のワークロードを処理できます。
これらの結果は 4 GiB OST ファイルに書き込まれていますが、大規模ファイル処理が有効になっているため、そのファイルはローカルホストに読み込まれません。OST ファイルへの書き込みは、フォルダーリダイレクトの書き込みと同様に、Azure ファイル共有上で直接行われます。
遅延
レイテンシーは、Azure Files メトリックスの一部として利用できます。次のグラフは、プレミアムテスト実行とトランザクション最適化テスト実行の「成功サーバー遅延」メトリックスを示しています。プレミアム層のファイル共有は、FSLogix やCitrix Profile Manager VHDコンテナなどのユーザープロファイルテクノロジなど、サイズの大きいファイルを少なくする場合に最適です。コンテナーファイルを使用すると、ファイルを開く/読み取り/書き込み/閉じる要求の数が減少するため、Azure ファイルのパフォーマンスが向上します。
プレミアムファイル共有に注目すると、レイテンシーは約4ミリ秒(ミリ秒)で比較的安定していることがわかります。トランザクションを最適化したファイル共有を確認すると、さまざまなテスト実行でレイテンシーが一貫した状態になります。レイテンシは 7 ~ 10 ミリ秒の範囲に留まり、その範囲外には時折スパイクが発生します。これらの長いレイテンシーは、後でユーザーがログオンするにつれて、長いプロファイルの読み込み時間に変換されます。これらについては、「プロファイルのロード時間」セクションで詳しく説明します。
プロファイルのロード時間
プロファイルの読み込み時間は、Citrix Directorの傾向分析の一部です。次の表は、Citrix Directorから収集された実行データに基づくプロファイルの平均読み込み時間の概要を示しています。
実行 | 平均ロード時間 (秒) |
---|---|
Premium-20K | 8.00 |
Premium-40K | 5.34 |
Premium-60K | 9.10 |
Premium-80K | 5.31 |
Premium-100K | 8.47 |
Transaction-20K | 15.30 |
Transaction-40K | 19.12 |
Transaction-60K | 14.09 |
Transaction-80K | 18.58 |
Transaction-100K | 12.09 |
次のグラフは、テスト実行中のユーザーのプロファイルロード時間の前の1分間の移動平均を示しています。
予想通り、Premium レベルは、すべての中で最高のロード時間を提供しました。興味深いのは、プレミアム80Kのランが平均で最高のロードタイムに続き、プレミアム40Kが続いたことです。プレミアム20Kは、最も軽い負荷を持っていますが、プレミアム100Kと真ん中にあります。プレミアム60Kの実行は最悪のロード時間でした。これらの数字は、10 秒未満で一貫してプロファイルのロード時間を提供できるにもかかわらず、パフォーマンス層内の変動を示します。
トランザクションファイル共有はうまくいっているように見え、プロファイルのロード時間は平均20秒未満で、ロード時間のわずかな変動を伴うユーザーでした。一部のユーザーは読み込み時間が長くなりますが、標準ファイル共有の全体的な平均は約15.84でした。このロード時間は、7.25秒のプレミアムロード時間の平均の2倍を超えています。
結果の分析
Azure Files は、正しく構成されている場合、エンドユーザープロファイルの管理に優れた作業を行います。テストの結果は、ワークロードによって、プレミアムファイル共有は、さまざまなレベルで最高の全体的な一貫したパフォーマンスを提供しているように見えます。このパフォーマンスには、プレミアム・レベル・プライスの追加コストが適用されます。プレミアムファイル共有はうまく動作しますが、プロファイルコンテナテクノロジを使用するとパフォーマンスが向上します。
Citrixプロファイルマネージャーの構成オプション
Citrix Profile Managerは、ユーザーが異なるデバイスから複数のプロファイルを開いて、「最後の書き込み勝ち」シナリオから保護する場合に最適です。この機能により、ユーザーが複数のセッションを開いている場合、ログイン間でプロファイルの整合性が保たれます。ただし、CitrixでAzure ファイルを使用する場合は、ユーザーエクスペリエンスを向上させるために他のいくつかの機能を使用することをお勧めします。
可能な場合は、常にフォルダリダイレクトを有効にします。グラフに示すように、フォルダーリダイレクトを有効にすると、大量のデータがAzure FilesからCitrixホストにコピーされるのを防ぐことができます。フォルダーリダイレクトは、ログオン/ログオフ時のネットワークトラフィック量を減らすように設計されており、ユーザーログオンエクスペリエンスが大幅に向上し、展開コストが削減されます。Citrixホストにコピーされるデータが少なくなれば、ユーザープロファイルを格納するためにCitrixホストに接続されたストレージは小さくなります(低コストの)。CitrixホストがAzure に存在する場合、Azure ファイルに接続するための待ち時間は最小限であり、ユーザーエクスペリエンスは影響を受けません。Citrix ホストがオンプレミスの場合、Azure から送信される課金可能な出力トラフィックがリダイレクトに保存されます。
Citrix Profile Managerの大容量ファイル処理機能を有効にすると、ユーザーのログオンエクスペリエンスを向上させることができます。ログオン時にファイルをコピーするのではなく、プロファイルストア上で直接更新することで、ログオン時間が短縮されます。Microsoftでは、リダイレクトされたフォルダーに PST ファイルと OST ファイルを保存することはお勧めしません。そのため、フォルダーリダイレクトと同じ利点を提供するために、大きなファイル処理を使用します。Citrix Profile Managerはファイルへのシンボリックリンクを作成するため、ファイルが開かれたり更新されたりすると、ファイル操作はAzure ファイルのユーザーストアにリダイレクトされます。この機能により、PST および OST ファイルは、ローカルファイルとして扱われる間、リモートファイル共有上のユーザーのプロファイルに残ることができます。前のグラフは、トランザクションおよびプレミアムファイル共有による大容量ファイルのサポートの有効化と無効化における出力トラフィックの違いを示しています。
CPMの新しいバージョンでは、Citrixサーバーでのプロファイルのストリーミングがデフォルトで有効になります。このテクノロジにより、ログオン時にユーザープロファイル全体がCitrixホストにダウンロードされなくなります。代わりに、プロファイル上に存在するファイルの一覧のみが列挙され、オペレーティングシステムでそのリストを使用できます。ファイルが要求されると、そのファイルはユーザーストアからフェッチされ、Citrixホストに送信されます。このプロセスにより、ログオン時に発生するファイルコピーの数が減り、ユーザーのログオンエクスペリエンスが向上します。
パフォーマンス階層の選択
スループットと IOPS 要件がそれぞれ 300 MiB/秒と 10,000 IOPS のサポートレベルを下回っている場合に、トランザクションを最適化したファイル共有の使用がサポートされます。ユーザーのプロファイルデータをホストするために、異なるストレージアカウント間で複数のファイル共有を作成すると、負荷が分散されます。
注:推奨されるベストプラクティスは、ストレージアカウントごとに 1 つのトランザクション最適化ファイル共有のみを使用することです。これは、通常の使用で 2 つ以上のトランザクション最適化ファイル共有が、1 つのストレージアカウントの上限を超える可能性があるためです。詳細については、「 スケーラビリティとパフォーマンスの目標」を参照してください。
一貫したパフォーマンスと低レイテンシーを実現するために Premium 階層を使用する場合は、最終的なサイズに落ち着く前にベンチマークをいくつか実行してください。ベンチマークに最適な方法は、100 TiB プレミアムファイル共有を使用して最も集中的なベンチマークテストを実行し、トランザクション、スループット、レイテンシーメトリックスを監視することです。この情報を使用して、必要なパフォーマンスレベルでプロビジョニングされたストレージの容量を決定します。
注:ファイル共有に頻繁に更新される小さなファイルの数が多い場合、Azure Files は、過剰なメタデータのためにファイルの読み取りと書き込みが遅れる可能性があります。この遅延は、ファイル共有でスロットルが観察された場合にも発生します。調整が発生している場合は、Azure ファイル共有の成功サーバーの待機時間の指標は、着実に増加を示します。このメトリックが 15 ミリ秒を超えると、ユーザーエクスペリエンスが著しく低下します。
最終的には、パフォーマンス階層を選択することで、予測される応答時間と冗長性の要件が決定されます。ユーザーの応答時間を10ミリ秒未満にする必要がある場合は、Premium Tierファイル共有で一貫した応答時間を提供します。この応答時間は、テスト構成では、プロファイルのロード時間が 10 秒未満になります。ユーザーが 10 ミリ秒を超える応答時間を受け入れる場合は、トランザクションを最適化したコスト効率の高いファイル共有を使用できます。最適なユーザーエクスペリエンスを提供するには、複数のストレージアカウントを使用して負荷を分散します。
この資料に記載されているデータを使用して、組織に最適な構成を決定し、独自のワークロードで Azure Files のパフォーマンスをテストします。
プライベートエンドポイントと RBAC 権限によるアクセスの保護
Azure ファイルには、Azure ファイル共有にアクセスするための 2 つの主要なエンドポイントが用意されています。
-
パブリックエンドポイント。パブリック IP アドレスを持つため、 世界中のどこからでもアクセスできます。
-
プライベートエンドポイント。仮想ネットワーク内に存在し、
その仮想ネットワークのアドレス空間内からプライベート IP アドレスを持っています。
ファイル共有がユーザープロファイルとデータに使用されることを考慮して、 プライベートエンドポイント経由でAzure VNET 内からのみアクセスできるようにすることをお勧めします。詳細な手順については、 次のリンクを使用してください。
プライベートエンドポイントを構成したら、ドキュメントで説明されているように、Azure VNET 内の VM からのアクセシビリティを検証します。
次のステップは、RBACを介してパーミッションをロックダウンすることです。「ユーザー個人設定レイヤーおよびCitrix Profile Management のAzure Filesストレージのセットアップ」のガイダンスに従います。
データの保護
ユーザーデータを Azure Files に保存したら、バックアップと損失から保護する必要があります。このセクションでは、データ保護を提供する 2 つの組み込み機能 (ソフト削除と Azure Backup) について、ストレージアカウントの作成時に使用できるストレージアカウントの冗長性オプションに関するガイダンスを提供します。
ソフト削除
ソフト削除は、複雑な復元プロセスを実行することなく、ユーザーが誤って削除したファイルを回復できるAzure の機能です。ソフト削除は、ストレージアカウントのファイルサービスセクションで有効にできます。ソフト削除を有効にするとともに、削除したファイルをソフト削除機能で有効にする日数を設定できます。
Azure バックアップ
Premium Tier を使用する場合、または最適化されたトランザクションで大規模なファイル共有が有効になっている場合、データのレプリケーションは [ローカル冗長ストレージ] と [ゾーン冗長ストレージ] に制限されます。大きなファイル共有を使用しない場合、地理冗長ストレージを使用することもできますが、共有は 5 TiB、60 MiB/秒、1000 IOPS に制限されます。Azure Backup は、Azure ファイルスナップショットを使用してデータを保護する信頼性の高い方法も提供します。Azure Backup を使用して、Azure バックアップコンテナーの構成オプションを使用して保持スケジュールを設定できます。
Azure Backup はデータを保護するためにスナップショットを使用しているため、これらのスナップショットを削除しないでください。削除すると、回復ポイントが失われ、復元できなくなる可能性があります。誤って削除されないようにするため、Azure Backup はストレージアカウントをロックします。そのロックを削除して共有を削除すると、すべてのバックアップとスナップショットも削除され、すべてのデータが失われます。
これらに加えて、多くのサードパーティベンダーは、Azure Files データのバックアップに使用できるソリューションも提供しています。
ファイルをマイグレートする
ユーザーデータファイルを Azure ファイルに移行するには、いくつかの方法があります。移行戦略を選択する前に、ユーザーデータストアのデータ量、ターゲットファイル共有数、ターゲット構造を決定する必要があります。
どの方法が最適になるかは、データが現在ネットワーク内のどこにあるかによって異なります。同じ企業は存在せず、ファイルを移行するプロセスは企業間で大きく異なります。ファイルを移動する方法はいくつかあります。通常は、複数の方法を使用して目的のマイグレーションを実現できます。
-
Azure ファイル同期: Windows Server 2012 R2 以降を実行しているすべての Windows サーバーには、Azure ファイル同期エージェントをインストールできます。エージェントは、Windows サービスから Azure ファイルにユーザーデータファイルをアップロードします。発信ネットワークがスロットルされていない場合、エージェントは通常 2 日ごとに約 1 TB を移動できます。Azure ファイル同期では、NTFS アクセス許可は、アクセス制御リスト (ACL) とファイルメタデータが保持されます。
-
ストレージ移行サービス: ストレージ移行サービス (SMS) は、Windows Server から Azure にデータを移行できるように特別に設計されています。このサービスでは、既存のサーバのインベントリ作成、データの転送、およびソース・サーバのアイデンティティの引き受けを行って、エンドユーザーのカットオーバーを容易にします。
-
Microsoft Data Box Disk: Microsoft Data Box Diskは 8 TB の SSD フラッシュドライブで、合計 40 TB で 5 倍までスタックできます。Data Box Diskは AES-128 暗号化をサポートし、Robocopy などのファイルコピーユーティリティを使用してデータを転送します。
-
Microsoft Data Box: Microsoft Data Box は、Robocopy などの一般的なファイル転送ユーティリティを使用して、サーバーからData Boxにデータを安全に移動するオフラインファイル転送ソリューションです。その後、Data Boxは Microsoft に出荷され、Azure ファイルに直接アップロードされます。Microsoft Data Boxには、100 TB と 1 PB の 2 つのサイズがあります。両方のデバイスは、オンプレミスのデータセンターと Azure データセンター間の転送中にデータを保護するために、暗号化されたデータ (AES-256) を格納します。Microsoft Data Boxは、SMB および NFS NAS プロトコルをサポートしています。
-
Data Box Gateway: Azure Files によってバックアップされたストレージプロキシサーバーとして機能する Hyper-V または VMware のいずれかで実行されている仮想アプライアンス。ローカルユーザーが SMB または NFS プロトコル経由でアクセスし、ゲートウェイはデータを受け入れ、インターネット経由で Azure ファイルに転送します。Data Box Gatewayは、オンプレミスサーバーから Azure ファイルへの継続的なデータフローを提供します。
-
Storage Explorer: Storage Explorerの最新バージョンは、AZCOPY を使用してファイル転送を大幅に高速化します。データ転送を自動化したいと感じる場合は、Storage Explorerで AZCOPY コマンド文字列を提供することもできます。
-
AZCOPY: Azure 内のオンプレミスのファイルサーバーやストレージアカウントなど、ストレージの場所間でデータを移動できる Azure コマンドラインユーティリティ。
-
RoboCopy: 転送中にすべてのファイル属性、権限、および ACL を保持する、信頼性の高いファイルコピーユーティリティ。
これらのファイル転送/コピーソリューションに加えて、多くのサードパーティベンダーは、Azure Files にデータを移行するために使用できるソリューションも提供しています。最適な移行パスの詳細については、「 Azure ファイル共有への移行」を参照してください。
結論
Azure の Citrix デプロイで Azure ファイルを使用することを強くお勧めします。Azure Files は、複雑なインフラストラクチャなしで、ユーザープロファイルデータの高可用性を実現します。レイテンシーとネットワークのパフォーマンスがユーザーにとって許容可能な場合は、Azure Files をオンプレミスの展開で使用することもできます。
Citrixプロファイルマネージャーは、Azure ファイルとともに使用すると、いくつかの利点があります。これらのメリットには、プロファイルストリーミングや大きなファイル処理を使用して、ユーザープロファイルストアからCitrixホストにコピーされるデータの量を削減できます。
ほとんどの場合、Azure ファイルのトランザクション最適化層を使用すれば十分です。特に、負荷を複数の共有とターゲットワークロードに分散し、1 つの共有で 1 時間あたりの更新ファイル数を約 100,000 に維持できる場合です。ユーザーが常にレイテンシーを 10 ミリ秒未満にする必要がある場合、低レイテンシーで高い応答時間の要件については、Azure Files の Premium 層の使用を参照してください。
参照ドキュメント
この資料では、次のドキュメントの内容が参照されています。