Azure File Sync のオプション機能であるクラウドを使った階層化により、オンプレミスのファイル サーバーのパフォーマンスを維持しながら、必要なローカル ストレージの量を減らすことができます。
この機能を有効にすると、アクセス頻度の高い (ホット) ファイルのみがローカル サーバーに格納されます。 アクセス頻度の低い (クール) ファイルは、名前空間 (ファイルとフォルダーの構造) とファイル コンテンツに分割されます。 名前空間はローカルに格納され、ファイル コンテンツはクラウドの Azure ファイル共有に格納されます。
ユーザーが階層化されたファイルを開くと、Azure File Sync は Azure ファイル共有からファイル データをシームレスに呼び戻します。
クラウドを使った階層化のしくみ
クラウドを使った階層化ポリシー
クラウドの階層化を有効にすると、クール ファイルを階層化するタイミングを Azure File Sync に通知するように設定できるポリシーとして、 ボリュームの空き領域ポリシー と 日付ポリシーの 2 つがあります。
ボリュームの空き領域ポリシー
ボリュームの空き領域ポリシーは、ローカル ディスクに一定の領域が占有されたときに、クール ファイルをクラウドに階層化するように Azure File Sync に指示します。
たとえば、ローカル ディスクの容量が 200 GiB で、少なくとも 40 GiB のローカル ディスク容量を常に空きのままにする場合は、ボリュームの空き領域ポリシーを 20%に設定する必要があります。 ボリュームの空き領域は、個々のディレクトリまたはサーバー エンドポイントのレベルではなく、ボリューム レベルで適用されます。
日付ポリシー
日付ポリシーでは、クール ファイルが x 日間アクセス (読み取りまたは書き込み) されていない場合、クラウドに階層化されます。 たとえば、アクセスされずに 15 日を超えたファイルが通常アーカイブ ファイルである場合は、日付ポリシーを 15 日に設定する必要があります。
日付ポリシーとボリューム空き領域ポリシーの連携の詳細な例については、「 Azure File Sync クラウド階層化ポリシーの選択」を参照してください。
Windows Server データ重複除去
データ重複除去は、Windows Server 2016 以降でクラウド階層化が有効になっているボリュームでサポートされています。 詳細については、「 Azure File Sync デプロイの計画」を参照してください。
クラウド階層化ヒートマップ
Azure File Sync は、時間の経過と同時にファイル アクセス (読み取りと書き込み操作) を監視し、ファイルにアクセスする最近および頻度に基づいてすべてのファイルにヒート スコアを割り当てます。 これらのスコアを使用して、各サーバー エンドポイントで名前空間の "ヒートマップ" を構築します。 このヒートマップは、クラウド階層化が有効になっている場所のすべての同期ファイルの一覧で、ヒート スコア順に並べ替えられます。 最近開かれた頻繁にアクセスされるファイルはホットと見なされますが、ほとんど触れておらず、しばらくアクセスされていないファイルはクールと見なされます。
そのヒートマップ内の個々のファイルの相対位置を決定するために、システムはタイムスタンプの最大値を MAX (最終アクセス時刻、最終変更時刻、作成時刻) の順序で使用します。
通常、最終アクセス時間は追跡され、使用可能です。 ただし、クラウドの階層化を有効にして新しいサーバー エンドポイントが作成された場合、ファイル アクセスを監視するのに十分な時間が経過していません。 有効な最終アクセス時間がない場合は、ヒートマップ内の相対位置を評価するために、最後に変更された時刻が代わりに使用されます。
日付ポリシーは同じように動作します。 最終アクセス時刻がない場合、日付ポリシーは最後に変更された時刻に対して動作します。 使用できない場合は、ファイルの作成時刻にフォールバックします。 時間の経過と同時に、システムはより多くのファイル アクセス要求を監視し、自己追跡された最終アクセス時間の使用を自動的に開始します。
注
クラウドの階層化は、最後のアクセス時刻を追跡するための NTFS 機能に依存しません。 この NTFS 機能は既定ではオフになっています。パフォーマンスに関する考慮事項のため、この機能を手動で有効にすることはお勧めしません。 クラウドの階層化では、前回のアクセス時刻を個別に追跡します。
プロアクティブな再呼び出し
ファイルが作成または変更されると、指定したサーバーにファイルを事前に呼び戻すことができます。 事前呼び出しにより、指定された各サーバーで新しいファイルまたは変更されたファイルをすぐに使用できるようになります。
たとえば、グローバルに分散している会社は、米国とインドにブランチ オフィスを持っています。 米国の朝、インフォメーション ワーカーは、まったく新しいプロジェクト用の新しいフォルダーとファイルを作成し、一日中作業します。 Azure File Sync によって、フォルダーとファイルが Azure ファイル共有 (クラウド エンドポイント) に同期されます。 インドのインフォメーション ワーカーは、引き続きタイム ゾーンでプロジェクトに取り組みます。 朝に到着すると、インドのローカル Azure File Sync 対応サーバーでは、これらの新しいファイルをローカルで使用できるようにする必要があります。これにより、インドチームはローカル キャッシュを効率的に処理できます。 このモードを有効にすると、Azure ファイル共有でファイルが変更または作成されるとすぐに、ファイルを事前に呼び出すようにサーバーに指示され、ファイルアクセス時間が短縮されます。
サーバーに呼び戻されたファイルがローカルで必要ない場合は、不要な呼び戻しによってエグレス トラフィックとコストが増加する可能性があります。 そのため、事前にサーバーのキャッシュにクラウドからの最近の変更を事前に設定すると、そのサーバー上のファイルを使用するユーザーまたはアプリケーションにプラスの影響を与えることがわかっている場合にのみ、プロアクティブな呼び出しを有効にします。
プロアクティブな再呼び出しを有効にすると、サーバーでの帯域幅の使用量が増加し、ファイルの再呼び出しの増加により、ローカル サーバー上の他の比較的新しいコンテンツが積極的に階層化される可能性があります。 さらに、階層化が早すぎると、階層化されているファイルがサーバーによってホットと見なされる場合に、再呼び出しが増える可能性があります。
事前呼び出しの詳細については、「 Azure File Sync のデプロイ」を参照してください。
階層化されたファイルとローカルにキャッシュされたファイルの動作
クラウドの階層化は、名前空間 (ファイルとフォルダーの階層だけでなく、ファイルのプロパティ) とファイルの内容の分離です。
階層化ファイル
階層化されたファイルの場合、ファイル コンテンツ自体がローカルに格納されていないため、ディスク上のサイズは 0 になります。 ファイルが階層化されると、Azure File Sync ファイル システム フィルター (StorageSync.sys) によって、ファイルが再解析ポイントと呼ばれるポインターにローカルに置き換えられます。 再解析ポイントは、Azure ファイル共有内のファイルへの URL を表します。 階層化されたファイルには、サード パーティ製アプリケーションが階層化されたファイルを安全に識別できるように、 offline
属性と FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
属性の両方が NTFS に設定されています。
ローカルにキャッシュされたファイル
オンプレミスのファイル サーバーに格納されているファイルの場合、ファイル全体 (ファイル属性 + ファイル コンテンツ) がローカルに格納されるため、ディスク上のサイズはファイルの論理サイズにほぼ等しくなります。
また、ファイルを部分的に階層化したり、部分的に呼び戻したりすることもできます。 部分的に階層化されたファイルでは、ファイルの一部のみがディスクに格納されます。 ファイルへのストリーミング アクセスをサポートするアプリケーションによってファイルが部分的に読み取られた場合は、ボリューム上のファイルを部分的に取り消した可能性があります。 たとえば、マルチメディア プレーヤーと zip ユーティリティがあります。 Azure File Sync は効率的であり、接続されている Azure ファイル共有から要求された情報のみを取り消します。
注
サイズは、ファイルの論理サイズを表します。 ディスク上のサイズは、ディスクに格納されているファイル ストリームの物理サイズを表します。
ディスク領域の不足モード
サーバー エンドポイントを持つディスクは、クラウドの階層化が有効になっている場合でも、さまざまな理由により領域が不足する可能性があります。 これらの理由には以下のものが含まれます。
- サーバー エンドポイント パスの外部にあるディスクに手動でコピーされるデータ
- 同期が遅いか遅延され、ファイルが階層化されない
- 階層化されたファイルの過剰な呼び戻し
ディスク領域が不足すると、Azure File Sync が正しく機能せず、使用できなくなる可能性もあります。 Azure File Sync ではこのような状況を完全に防ぐことはできませんが、ディスク領域の不足モード (15.1 以降の Azure File Sync エージェント バージョンで使用可能) は、サーバー エンドポイントがこのような状況に到達するのを防ぎ、サーバーがすばやく抜け出すのに役立つよう設計されています。
クラウドの階層化が有効になっているサーバー エンドポイントの場合、ボリュームの空き領域が計算されたしきい値を下回った場合、ボリュームは低ディスク領域モードになります。
ディスク領域が少ないモードでは、Azure File Sync エージェントでは次の 2 つの処理が異なります。
プロアクティブ階層化: このモードでは、ファイル同期エージェントはファイルをより積極的にクラウドに階層化します。 同期エージェントは、1 時間ごとの通常の頻度ではなく、1 分ごとに階層化されるファイルをチェックします。 ボリューム空き領域ポリシーの階層化は、通常、完全なアップロードが完了するまで、最初のアップロード同期中には行われません。ただし、ディスク領域が少ないモードでは、初期アップロード同期中に階層化が有効になり、個々のファイルが Azure ファイル共有にアップロードされると、ファイルの階層化が考慮されます。
非永続的な呼び出し: ユーザーが階層化されたファイルを開くと、Azure ファイル共有から直接呼び戻されたファイルはディスクに保持されません。
Invoke-StorageSyncFileRecall
コマンドレットによって開始された呼び出しは、この規則の例外であり、ディスクに保持されます。
ボリュームの空き領域がしきい値を超えると、Azure File Sync は自動的に通常の状態に戻ります。 低ディスク領域モードは、クラウド階層化が有効になっているサーバーにのみ適用され、ボリュームの空き領域ポリシーが常に考慮されます。
ボリュームに 2 つのサーバー エンドポイントがあり、1 つは階層化が有効で、1 つは階層化されていない場合、ディスク領域の不足モードは、階層化が有効になっているサーバー エンドポイントにのみ適用されます。
ディスク領域の不足モードのしきい値はどのように計算されますか。
次の 3 つの数値の最小値を使用して、しきい値を計算します。
- ボリューム サイズの 10% (GiB)
- GiB のボリューム空き領域ポリシー
- 20 GiB
次の表に、しきい値の計算方法と、ボリュームが低ディスク領域モードになるタイミングの例をいくつか示します。
ボリューム サイズ | ボリューム サイズの 10% | ボリュームの空き領域ポリシー | しきい値 = 最小 (ボリューム サイズの 10%、ボリューム空き領域ポリシー、20 GB) | 現在のボリュームの空き領域 | ディスク領域の不足モードですか? | 理由 |
---|---|---|---|---|---|---|
100 GiB | 10 GiB | 7% (7 GiB) | 7 GiB = 最小 (10 GiB、7 GiB、20 GiB) | 9% (9 GiB) | いいえ | 現在のボリューム空き領域 (9 GiB) > しきい値 (7 GiB) |
100 GiB | 10 GiB | 7% (7 GiB) | 7 GiB = 最小 (10 GiB、7 GiB、20 GiB) | 5% (5 GiB) | イエス | 現在のボリュームの空き領域 (5 GiB) < しきい値 (7 GiB) |
300 GiB | 30 GiB | 8% (24 GiB) | 20 GiB = 最小 (30 GiB、24 GiB、20 GiB) | 7% (21 GiB) | いいえ | 現在のボリューム空き領域 (21 GiB) > しきい値 (20 GiB) |
300 GiB | 30 GiB | 8% (24 GiB) | 20 GiB = 最小 (30 GiB、24 GiB、20 GiB) | 6% (18 GiB) | イエス | 現在のボリューム空き領域 (18 GiB) < しきい値 (20 GiB) |
ボリュームの空き領域ポリシーでは、ディスク領域の不足モードはどのように機能しますか?
ディスク領域の不足モードでは、ボリュームの空き領域ポリシーが常に考慮されます。 しきい値の計算は、ユーザーによって設定されたボリュームの空き領域ポリシーが尊重されるように設計されています。
サーバー エンドポイントが低ディスク モードになっている最も一般的な原因は何ですか?
低ディスク モードの主な原因は、階層化が有効なサーバー エンドポイントがあるディスクに大量のデータをコピーまたは移動することです。
ディスク領域の不足モードから抜け出す方法
サーバー エンドポイントで低ディスク モードを終了するには、次の 2 つの方法があります。
- ディスクの不足モードでは、取り消しを保持せず、ファイルを頻繁に階層化しなくても、通常の動作に自動的に切り替わります。
- ボリューム サイズを大きくするか、サーバー エンドポイントの外部の領域を解放することで、プロセスを手動で高速化できます。
サーバーが低ディスク領域モードであるかどうかを確認する方法
- サーバー エンドポイントが低ディスク モードの場合は、サーバー エンドポイントの [エラー + トラブルシューティング] タブのクラウド階層化正常性セクションの Azure portal に表示されます。
- イベント ID 19000 は、サーバー エンドポイントごとに 1 分ごとにテレメトリ イベント ログに記録されます。 このイベントを使用して、サーバー エンドポイントが低ディスク モード (IsLowDiskMode = true) かどうかを判断します。 テレメトリ イベント ログは、イベント ビューアーのアプリケーションとサービス\Microsoft\FileSync\Agent にあります。