How To Optimize ReFS Performance With System Center Data Protection Manager? #WindowsServer #ReFS #SCDPM #DPM

| , ,

Published on | Updated on December 27, 2020

3 Min. Read

Introduction

DPM 2016 introduced with major new feature called Modern Backup Storage (MBS) that allows you to backup dynamic data sources with ease, achieve faster backups and reduced storage consumption. This is achieved by leveraging ReFS Block Cloning technology introduced in Windows Server 2016 and so DPM 2016 (LTSC) including DPM 1801, and DPM 1807 (SAC) should be running on Windows Server 2016 or Windows Server 2019 for leveraging Modern Backup Storage (MBS).

How Does Modern Backup Storage Works with DPM

As mentioned earlier, DPM leverages Windows Server 2016 ReFS capabilities to provide Modern Backup Storage (MBS). When you add a volume, DPM formats the storage into an ReFS volume and store the backups on multiple VHDXs. For example, if you are backing up a SQL database with 10 blocks, DPM will place the VHDX into a common chunk store on the ReFS storage volume. On the next recovery point, DPM creates an ReFS clone pointing to the original VHDX and the common chuck store as well. When some of the blocks are changed for the backup, DPM transfers the new blocks and write them into the cloned VHDX using Allocate-on-Write technology, then ReFS writes the new blocks into the chunk store and the new clone VHDX will point to these blocks of the new data.

ReFS Improvements and Fixes

Many users have reported backup performance issues with MBS that heavy memory is used in the Resilient File System (ReFS) file system on a server that is running Windows Server 2016 and System Center Data Protection Manager 2016. This can specifically occur when you use DPM that does large block-clone operations.

Microsoft is aware about this issue and released an update on February 22, 2018-KB4077525 to address this issue. You can read all about it here.

Besides this update, Microsoft also released additional tunable registry parameters to address large ReFS metadata streams. The tunable parameters are documented here.

Optimizing ReFS Performance with DPM

In addition to the latest windows update, you need also to implement the below registry entries combination as advised by the DPM team to optimize ReFS performance with DPM.

Open an elevated Windows PowerShell console on your DPM server and run the following commands:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\" -Name RefsEnableLargeWorkingSetTrim -PropertyType DWord -Value 1 -Verbose
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\" -Name RefsNumberOfChunksToTrim -PropertyType DWord -Value 32 -Verbose
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\" -Name RefsDisableCachedPins -PropertyType DWord -Value 1 -Verbose
NeW-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\" -Name RefsProcessedDeleteQueueEntryCountThreshold -PropertyType DWord -Value 2048 -Verbose

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\" -Name RefsEnableInlineTrim -Value 1 -Verbose

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Disk\" -Name TimeOutValue -Value 120 -Verbose

Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Configuration\DiskStorage\" -Name DuplicateExtentBatchSizeinMB -Value 100 -Verbose

[ValidateSet('Yes','No')]$Answer = Read-Host "`nAre you sure you want to restart $($env:ComputerName) ? Enter Yes/No"
If ($Answer -eq 'Yes') { Restart-Computer -Force }

After you run the script above, you can check the updated values by running the following commands:

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\" -Name RefsEnableLargeWorkingSetTrim, RefsNumberOfChunksToTrim, RefsDisableCachedPins, RefsProcessedDeleteQueueEntryCountThreshold, RefsEnableInlineTrim | FL RefsEnableLargeWorkingSetTrim, RefsNumberOfChunksToTrim, RefsDisableCachedPins, RefsProcessedDeleteQueueEntryCountThreshold, RefsEnableInlineTrim
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Disk\" -Name TimeOutValue | FL TimeOutValue
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Configuration\DiskStorage\" -Name DuplicateExtentBatchSizeinMB | FL DuplicateExtentBatchSizeinMB

How To Optimize ReFS Performance With System Center Data Protection Manager? #WindowsServer #ReFS #SCDPM #DPM 1

More Information

Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method.

You also need to take the following consideration before you proceed and modify the registry:

  • A restart is required for these changes to take effect.
  • These parameters can be used in any combination because they do not overlap functionally.
  • These parameters must be set consistently on every DPM server leveraging ReFS Block Cloning technology.

Additionally, DPM 1807 included a set of bug fixes. With the tunable registry settings above, you will see better performance over DPM 1801 and DPM 2016.

Hope this helps someone out there!

__
Thank you for reading my blog.

If you have any questions or feedback, please leave a comment.

-Charbel Nemnom-

Previous

How To Configure File Share Witness With USB Thumb Drive On #WindowsServer2019 #S2D #Cluster #StorageSpacesDirect

Issue SCVMM – OS Deployment Failed On Physical Computer With Error (21101) #VMM #SCVMM #SysCtr

Next

0 thoughts on “How To Optimize ReFS Performance With System Center Data Protection Manager? #WindowsServer #ReFS #SCDPM #DPM”

Leave a comment...

Leave a comment below...

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to Charbel Nemnom’s Blog

Get the latest posts delivered right to your inbox

The content of this website is copyrighted from being plagiarized! However, you can copy from the 'Code Blocks'.

Please send your feedback to the author using this form for any 'Code' you like.

Thank you for visiting!