チュートリアル:スタンドアロン サーバーでストレージ バス キャッシュ記憶域スペースを有効にする

適用対象: Windows Server 2022

スタンドアロン サーバー用の記憶域バス キャッシュを使用すると、ストレージの効率を維持し、運用コストを低く維持しながら、読み取りおよび書き込みのパフォーマンスを大幅に向上させることができます。 記憶域スペース Directの実装と同様に、この機能は、低速メディア (HDD など) を使用して高速なメディア (SSD など) をバインドして階層を作成します。 既定では、高速メディア層の一部だけがキャッシュ用に予約されます。

回復性 キャッシュの種類
なし (単純なスペース) 読み取りと書き込み
ミラーアクセラレータパリティ Read

システムで回復性が必要ない場合、または外部バックアップがある場合、記憶域バス キャッシュは読み取りキャッシュと書き込みキャッシュの両方をサポートします。 回復性のあるシステムの場合、記憶域バス キャッシュは読み取りキャッシュとしてのみ機能し、ボリュームの回復性として ReFS ミラー アクセラレータパリティを選択してください。 この組み合わせにより、データがパリティ層から読み取り、高速ミラー層にキャッシュされるので、ランダム読み取りパフォーマンスが向上します。 また、プロビジョニング モードが [共有] (既定) に設定されている場合、ミラー層には書き込みキャッシュ機能も用意されています。

Storage キャッシュの読み取りおよび書き込みパスの作成

このチュートリアルで学習する内容は次のとおりです。

  • 記憶域バス キャッシュとは
  • 記憶域バス キャッシュを有効にする方法
  • デプロイ後のキャッシュの管理

[前提条件]

緑色のチェックマーク アイコン。 次の場合は、記憶域バス キャッシュを検討してください。

  • サーバーは Server 2022 Windows実行されます。そして
  • サーバーにはメディア/ドライブの種類が 2 つあり、そのうちの 1 つは HDD (SSD+HDD や NVMe+HDD など) である必要があります。そして
  • サーバーにフェールオーバー クラスタリング機能がインストールされている

赤い X アイコン。 次の場合、記憶域バス キャッシュを使用することはできません。

  • サーバーは 2019 Windows Server 2016または 2019 年に実行されます。または
  • サーバーには、すべてのフラッシュ構成があります。または
  • サーバーがフェールオーバー クラスターのメンバーである

機能の概要

このセクションでは、記憶域バス キャッシュの構成可能な各フィールドと適用可能な値について説明します。

Get-StorageBusCache

有効になっていない場合、出力は次のようになります。

ProvisionMode                  : Shared
SharedCachePercent             : 15
CacheMetadataReserveBytes      : 34359738368
CacheModeHDD                   : ReadWrite
CacheModeSSD                   : WriteOnly
CachePageSizeKBytes            : 16
Enabled                        : False

注意

一般的な使用には、既定の設定をお勧めします。 記憶域バス キャッシュを有効にする前に、変更を加える必要があります。

プロビジョニング モード

このフィールドは、より高速なメディア層全体か、その一部のみをキャッシュに使用するか決定します。 このフィールドは、記憶域バス キャッシュを有効にした後では変更できません。

  • 共有 (既定値): キャッシュは、高速なメディア層の一部のみを取得します。 正確な割合は、以下の [共有キャッシュの割合] フィールドで構成できます。
  • キャッシュ: 一部ではなく、高速なメディア層の大部分をキャッシュに専用にします。 の実装は、Direct のストレージ バス キャッシュ記憶域スペース似ています

共有キャッシュの割合

このフィールドは、[プロビジョニング モード] が [共有] に設定されている場合にのみ適用されます。 既定値は 15% で、フィールドは 5% から 90% に設定できます。 ミラー 高速パリティ ボリュームを使用する場合は、キャッシュとミラー層の間のバランスが必要であり、50% を超える値は推奨されません。

Enabled

このフィールドは、ストレージ バス キャッシュの状態を示し、True または False のいずれかになります。

詳細フィールド

重要

これらのフィールドに対する変更は推奨されません。 記憶域バス キャッシュを有効にした後の調整を行う必要があります。

  • キャッシュ メタデータ予約バイト数: ディスクに予約されているディスク領域 (バイト単位) 記憶域スペース。 このフィールドは、プロビジョニング モードが Cache の場合にのみ適用されます。

  • キャッシュ モード HDD: 既定では、HDD 容量デバイスで読み取りと書き込みをキャッシュできます。 単純なスペースの場合、この設定は ReadWrite または WriteOnly に設定できます。

  • キャッシュ モード SSD: 将来、すべてのフラッシュ システムがサポートされている場合に使用します。 既定では、SSD 容量デバイスは書き込みのみをキャッシュできます。

  • キャッシュ ページ サイズ KB: このフィールドは、8、16 (既定値)、32、64 に設定できます。

PowerShell で記憶域バス キャッシュを有効にする

このセクションでは、PowerShell でスタンドアロン サーバーの記憶域バス キャッシュを有効にする方法について詳しい手順を説明します。

  1. モジュールのインポート

    Import-Module StorageBusCache 
    
  2. 記憶域バスのキャッシュ設定を構成する

    既定の設定をお勧めします。既定値を続行するには、この手順をスキップしてください。

    重要

    構成が必要な場合は、記憶域バス キャッシュを有効にする前に行います。 フィールドの詳細については、「機能の概要」セクションを参照してください。

  3. ドライブの状態を確認する

    Get-PhysicalDisk
    

    出力は次の図のようになります。Number 列には 500 以下の値が表示され、CanPool 列にはすべての非ブート ドライブに対して True が表示されます。

    ストレージ バス キャッシュGet-PhysicalDisk前に実行された結果

  4. 記憶域バス キャッシュを有効にする

    Enable-StorageBusCache
    

    この手順では、次の手順を実行します。

    • 使用可能なすべてのドライブを含む記憶域プールを作成する
    • 高速で低速なメディアをバインドし、キャッシュを形成する
    • 既定またはカスタム設定を使用してストレージ バス キャッシュを追加する

    を実行して記憶域プールの名前を確認し、記憶域バス キャッシュを有効にした場合の影響 Get-StoragePool Get-PhysicalDisk を確認できます。 出力は次の図のようになります。Number 列には 500 を超える値が表示され (ドライブがストレージ バスによって要求されたことを示します)、CanPool 列にはすべての非ブート ドライブに対して False が表示されます。 有効にする前に ProvisionMode が [キャッシュ] に設定されている場合、より高速なドライブの [使用状況] 列に [ジャーナル] と表示されます。

    ストレージ バス Get-StoragePoolを有効Get-PhysicalDiskした後のデータの取得と削除の結果

  5. 記憶域バスのキャッシュ状態を確認する

    フィールドが正しく、[有効] フィールドが true に設定されていることを確認します。

    Get-StorageBusCache 
    

    出力は次のようになります。

    ProvisionMode                  : Shared
    SharedCachePercent             : 15
    CacheMetadataReserveBytes      : 34359738368
    CacheModeHDD                   : ReadWrite
    CacheModeSSD                   : WriteOnly
    CachePageSizeKBytes            : 16
    Enabled                        : True
    

これで記憶域バス キャッシュが正常に有効になります。次の手順では、ボリュームを作成します。

ボリュームを作成する

回復性を備えるボリューム:

次の PowerShell コマンドレットは、ミラー:パリティ比が 20:80 の 1TiB ミラー アクセラレータ パリティ ボリュームを作成します。これは、ほとんどのワークロードに推奨される構成です。 詳細については、「ミラー アクセラレータによる パリティ」を参照してください

New-Volume –FriendlyName "TestVolume" -FileSystem ReFS -StoragePoolFriendlyName Storage* -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes 200GB, 800GB

回復性のないボリューム:

次の PowerShell コマンドレットは、ディスク障害を許容できない 1 TB のシンプル ボリュームを作成します。 読み取りキャッシュと書き込みキャッシュの両方がサポートされています。

New-Volume -FriendlyName "TestVolume" -FileSystem ReFS -StoragePoolFriendlyName Storage* -ResiliencySettingName Simple -Size 1TB

記憶域バス キャッシュを有効にした後の変更

を実行した後、プロビジョニング モード、共有キャッシュの割合、キャッシュ メタデータ予約バイト数、キャッシュ モード HDD、キャッシュ モード SSD、キャッシュ ページ サイズ Enable-StorageBusCache は変更できません。 物理セットアップには制限された変更を加え、一般的なシナリオを以下に示します。

容量ドライブ (HDD) の追加または交換

ドライブが手動で追加された後、次のコマンドレットを実行して取り込みプロセスを完了します。

Update-StorageBusCache

キャッシュ ドライブ (NVMes または SSD) の追加または交換

既存のバインドをバインド解除または再バインドし、リレーションシップのバランスを取るコマンドレットはありません。 次の手順では、既存の読み取りキャッシュが失われます。

Remove-StorageBusBinding
New-StorageBusBinding 

キャッシュと容量のバインドを確認してバランスを取る

次のコマンドレットを使用して、既存のキャッシュと容量のバインドを確認します。

Get-StorageBusBinding

次の例では、最初の列に容量ドライブが一覧表示され、3 番目の列には、バインド先のキャッシュ ドライブが一覧表示されています。 キャッシュ ドライブの追加または交換に関するページの手順に従ってバランスを取ってください。既存のキャッシュは保持されません。

Get-StorageBusBinding の出力