教學課程:在獨立伺服器上啟用具有儲存空間的儲存體匯流排快取

適用于:Windows Server 2022

獨立伺服器的儲存體匯流排快取可以大幅改善讀取和寫入效能,同時維持儲存效率,並降低營運成本。 與儲存空間直接存取的實作類似,此功能會將更快速的 (媒體系結在一起,例如 SSD) (,例如 HDD) ,以建立層。 根據預設,只有部分的較快媒體層會保留給快取。

災害復原 快取類型
無 (簡單空間) 讀取及寫入
鏡像加速同位 讀取

如果您的系統不需要復原或具有外部備份,儲存體匯流排快取將同時支援讀取和寫入快取。 針對復原系統,儲存體匯流排快取只會作為讀取快取,建議挑選 ReFS 鏡像加速同位 作為磁片區復原。 這個組合可改善隨機讀取效能,因為資料是從同位層讀取,並在較快的鏡像層上快取。 如果布建模式設定為 [共用] (預設) ,鏡像層也會提供寫入快取功能。

Storage bus cache read and write paths

在本教學課程中,您會了解:

  • 儲存體匯流排快取是什麼
  • 如何啟用儲存體匯流排快取
  • 在部署後管理快取

必要條件

Green checkmark icon. 如果下列狀況,請考慮儲存體匯流排快取:

  • 您的伺服器執行Windows Server 2022; 和
  • 您的伺服器有 2 種媒體/磁片磁碟機類型,其中一個必須是 HDD (,例如:SSD+HDD 或 NVMe+HDD) ;和
  • 您的伺服器已安裝容錯移轉叢集功能

Red X icon. 如果下列狀況,您無法使用儲存體匯流排快取:

  • 您的伺服器執行Windows Server 2016或 2019;或
  • 您的伺服器具有所有快閃設定;或
  • 您伺服器是容錯移轉叢集的成員

注意

此功能需要您的伺服器安裝容錯移轉叢集功能,但您的伺服器不能是容錯移轉叢集的一部分。

功能概觀

本節說明儲存體匯流排快取的每個可設定欄位和適用的值。

Get-StorageBusCache

未啟用時,輸出應該如下所示:

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

注意

針對一般用途,建議使用預設設定。 啟用儲存體匯流排快取之前,必須先進行任何變更。

佈建模式

此欄位會判斷整個較快的媒體層,或只使用其中一部分進行快取。 啟用儲存體匯流排快取之後,就無法修改此欄位。

  • 共用 (預設) :快取只會佔用部分更快的媒體層。 確切百分比可由下方的 [共用快取百分比] 欄位設定。
  • 快取:將大部分更快速的媒體層專用於快取,而不只是部分。 實作類似于儲存空間直接存取 中的儲存體匯流排快取

共用快取百分比

只有在 [布建模式] 設定為 [共用] 時,才適用此欄位。 預設值為 15%,且欄位可以從 5% 設定為 90%。 使用鏡像加速同位磁片區時,不建議使用超過 50% 的值,因為快取與鏡像層之間必須有平衡。

啟用

此欄位是指儲存體匯流排快取的狀態,而且可以是 True 或 False。

進階欄位

重要

不建議變更這些欄位。 無法進行啟用儲存體匯流排快取之後的調整。

  • 快取中繼資料保留字節:) 保留給儲存空間的磁碟空間量,以位元組為單位 (。 只有在布建模式為快取時,才會套用此欄位。

  • 快取模式 HDD: 預設值是允許 HDD 容量裝置快取讀取和寫入。 針對簡單空格,此設定可以設定為 ReadWrite 或 WriteOnly。

  • 快取模式 SSD: 未來支援所有快閃系統時使用。 預設值是允許 SSD 容量裝置只快取寫入。

  • 快取頁面大小 KBytes: 此欄位可以設定為 8、16 (預設) 、32 和 64。

在 PowerShell 中啟用儲存體匯流排快取

本節是如何在 PowerShell 中為獨立伺服器啟用儲存體匯流排快取的逐步指南。

  1. 匯入模組

    Import-Module StorageBusCache 
    
  2. 設定儲存體匯流排快取設定

    建議使用預設設定,請略過此步驟以繼續進行預設值。

    重要

    如果需要設定,請在啟用儲存體匯流排快取之前執行此動作。 如需欄位的詳細資料,請參閱功能概觀一節。

  3. 檢查磁片磁碟機狀態

    Get-PhysicalDisk
    

    輸出應該類似下圖,其中 [數位] 資料行會顯示低於 500 的值,而 CanPool 資料行會顯示所有非開機磁片磁碟機的 True。

    Result from Get-PhysicalDisk before enabling the storage bus cache

  4. 啟用儲存體匯流排快取

    Enable-StorageBusCache
    

    此步驟將會:

    • 建立具有所有可用磁片磁碟機的存放集區
    • 系結快速且緩慢的媒體並形成快取
    • 使用預設或自訂設定新增儲存體匯流排快取

    您可以執行 Get-StoragePool 以查看存放集區的名稱,並 Get-PhysicalDisk 再次查看啟用儲存體匯流排快取的效果。 輸出應該類似下圖,其中 Number 資料行會顯示超過 500 個 (指出磁片磁碟機是由儲存體匯流排所宣告的值) ,而 CanPool 資料行現在會顯示所有非開機磁片磁碟機的 False。 如果 ProvisionMode 在啟用之前已設定為快取,[使用量] 資料行會顯示為較快磁片磁碟機的 [日誌]。

    Results of Get-StoragePool and Get-PhysicalDisk after enabling the storage bus cache

  5. 檢查儲存體匯流排快取狀態

    檢查欄位是否正確,且 [已啟用] 欄位現在設定為 true。

    Get-StorageBusCache 
    

    輸出應該如下所示:

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

現在已成功啟用儲存體匯流排快取,下一個步驟是建立磁片區。

建立磁碟區

具有復原功能的磁片區:

下列 PowerShell Cmdlet 會建立 1TiB 鏡像加速的同位磁片區,而 Mirror:Parity 比率為 20:80,這是大部分工作負載的建議設定。 如需詳細資訊,請參閱 鏡像加速同位

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

沒有復原功能的磁片區:

下列 PowerShell Cmdlet 會建立一個 1TB 的簡單磁片區,此磁片區無法容許任何磁片失敗。 支援讀取和寫入快取。

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

啟用儲存體匯流排快取之後進行變更

執行 Enable-StorageBusCache 之後,無法修改布建模式、共用快取百分比、快取中繼資料保留字節、快取模式 HDD、快取模式 SSD 和快取頁面大小。 您可以對實體設定進行有限的變更,以下是一些常見的案例。

新增或取代容量磁片磁碟機 (HDD)

手動新增磁片磁碟機之後,請執行下列 Cmdlet 以完成進入程式。

Update-StorageBusCache

(NVMes 或 SSD 新增或取代快取磁片磁碟機)

沒有 Cmdlet 可以解除系結/重新系結現有的系結,並平衡關聯性。 下列步驟會導致現有的讀取快取遺失。

Remove-StorageBusBinding
New-StorageBusBinding 

檢查和平衡快取和容量系結

使用下列 Cmdlet 來檢查現有的快取和容量系結。

Get-StorageBusBinding

在下列範例中,第一個資料行會列出容量磁片磁碟機,而第三個數據行會列出它們所系結的快取磁片磁碟機。 遵循新增或取代快取磁片磁碟機以平衡的指示,將不會保留現有的快取。

Output of Get-StorageBusBinding

儲存體匯流排快取常見問題

本節回答 Windows Server 2022 上儲存體匯流排快取的常見問題

當伺服器不是容錯移轉叢集的一部分時,為何需要安裝容錯移轉叢集功能?

這項功能是針對獨立伺服器所設計,但建置於儲存匯流排層之上, (SBL) 快取儲存空間直接存取。 需要安裝容錯移轉叢集功能,因為需要叢集元件。

儲存體匯流排快取是否會使用所有快閃設定?

否,此功能只有在有兩種媒體類型時才能運作,其中一種必須是 HDD。 這不適用於 RAID、SAN 或所有快閃系統。

儲存體匯流排快取設定如何變更?

請參閱下列範例,瞭解如何將布建模式從共用 (預設) 變更為快取。 請注意,建議使用預設設定,而且應該在啟用儲存體匯流排快取之前進行任何變更。

Set-StorageBusCache -ProvisionMode Cache