本文有助於解決 DPM 或 ReFS 磁碟區在 Windows Server 2016 上沒有回應的問題。
適用於: Windows Server 2016
原始 KB 編號: 4035951
症狀
當你執行備份時,您會注意到使用資料保護管理 (DPM) 的可靠檔案系統 (ReFS) 卷可能會變得無回應或凍結,特別是當 DPM 發出大型區塊克隆操作時。
原因
DPM 使用環回掛載的 VHD。 這些磁碟在作業系統中看起來就像一般磁碟。 因此,這些磁碟會顯示在 Windows Explorer、Diskmgt 和其他 GUI 工具中。 這些工具會定期檢測磁碟,確保其運行正常。 這會導致 IO 被傳送到 ReFS 磁碟區的回送堆疊。 如果 ReFS 卷正在繁忙狀態,這些輸入/輸出操作將不得不等待。 因此,當 ReFS 執行長時間操作(例如清空或進行大型區塊複製呼叫)時,這些 IO 將需要等待更長的時間。 當這些輸入/輸出操作(IOs)停滯不前時,檔案總管或磁碟管理的使用者介面不會刷新。 因此,看起來磁碟好像掛起或卸載了。
此外,循環掛載小型端口驅動程式(vhdmp)在任何輸入/輸出操作未在30秒內完成時開始生成警告事件。
備註
此程式期間沒有任何 IO 或檔案系統作業失敗。 所有操作都會成功,只是會需要更長的時間。 此外,不會卸載任何卷。 這個問題僅僅是檔案系統操作延遲的問題,導致使用者介面卡住以及埠驅動程式記錄錯誤。
解析度
此問題已在 2017 年 7 月 18 日累積更新中解決。 此修正包括:
- 三個可調整的註冊表參數
- 避免進行不必要的磁碟區排清的原則變更,這可防止 ReFS 對進行中的 ReFS IO 新增大量延遲。
更多資訊
如何設置可調參數
這很重要
遵循這些步驟之前,請確定您已閱讀並實作三個登錄參數,如 知識庫文章4016173所述。 如果這些無法充分解決您遇到的任何問題,請不要停用這些註冊表參數。 這些參數與本節所描述的參數在功能上並不重疊,因此可以一起使用。
此更新描述了其他的登錄參數,這些參數有助於解決「症狀」部分中提到的延遲問題。 這些參數可用於任何組合。
警告
如果使用登錄編輯器或其他方法錯誤地更改登錄,可能會發生嚴重問題。 這些問題可能會需要您重新安裝作業系統。 Microsoft 無法保證可以解決這些問題。 您需自行承擔變更登錄的風險。
這很重要
- 需重新啟動以使這些參數更改生效。
- 必須在故障轉移叢集的每個節點上,保持這些參數的一致性設定。
可調參數
選項 1
此選項會停用快取的引腳,而快取的引腳是造成大規模活動工作集的一個主要原因。
請在以下子鍵中指定所指示的值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
- 數值名稱:RefsDisableCachedPins
- 設定 RefsDisableCachedPins = 1
- 數值類型:REG_DWORD
選項 2
選擇此選項會在 ReFS 檢查點邏輯中新增啟發式方法,這將使 ReFS 在刪除佇列達到一定大小時進行檢查點操作。 IO 操作卡在 ReFS 上,因為檢查點邏輯在處理大量刪除佇列時會卡住。
請在以下子鍵中指定所指示的值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
- 值名稱: RefsProcessedDeleteQueueEntryCountThreshold
- 設定RefsProcessedDeleteQueueEntryCountThreshold = 2048
- 數值類型:REG_DWORD
備註
將 RefsProcessedDeleteQueueEntryThreshold 設為較低的值會導致 ReFS 更頻繁地檢查點。 將值設為 2048,然後將值減少到 1024,再減少到 512。
選項 3
大型重複範圍呼叫會把延遲引入系統,因為其他操作必須等待這些長時間運行的操作完成。 此選項可減少重複範圍調用的大小。
備註
DPM 將於 2017 年 8 月發佈的 UR4 中,將此註冊表鍵更改設置為預設值。
請在以下子鍵中指定所指示的值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Configuration\DiskStorage
- 數值名稱:DuplicateExtentBatchSizeinMB
- 設定 DuplicateExtentBatchSizeinMB = 100。 (預設值為2000 [2GB]。接受的值範圍為1 - 4095。)
- 數值類型:REG_DWORD
選項 4
此選項可以延長超時值。
請在以下子鍵中指定所指示的值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk
- 數值名稱:TimeOutValue
- 將超時值(以秒為單位)設置為 0x78
- 數值類型:REG_DWORD
備註
TimeOutValue 的預設值為 0x41 (65 十進位)。 0x78 轉換為十進位是 120。