Improve your Exchange Backup*
*This is a copy of an article I wrote for MSD2D.com. Since that site has been redesigned and the article is no longer online, I thought it would be a good idea to keep it on this blog.
I wrote the article for Exchange Server 2003, but the tweaks mentioned can be applied to backup Exchange Server 2007, even though Microsoft is deemphasizing streaming backup.
Consolidation is a word you probably hear a lot by these days. We see bigger and bigger Exchange Servers with huge stores and thousands of users. As the size of databases grows, backup technologies must keep up by evolving rapidly and becoming more fast and reliable.
Whether you do it by obligation of a service level agreement (SLA) or for any other reason such as compliance or a disaster recovery plan, there’s no way you can live without backup. Besides that, online backup is one of the most important operations to keep a healthy Exchange infrastructure.
From a Sysadmin’s point of view, the backup time windows is one of his/hers main concerns, even if he/she isn’t tied with a high demanding SLA. So much data, so little time!
There are many solutions from different vendors to backup an Exchange infrastructure (http://www.microsoft.com/exchange/partners/backup.asp), but you’ll be perfectly well served with the tool provided by Microsoft, Windows Backup (NTBackup).
And if time is a problem, on a fat Exchange database you’ll probably want to try a 2-step backup approach: backup to disk first and then dump the resulting file to tape. In this kind of backup there are a couple of things you can do to improve backup performance and that’s what I’m going to explain next.
The first tweak you may try is to modify specific registry values that optimize the data throughput of the built-in backup engine. These entries are located under the key HKEY_CURRENT_USER\Software\Microsoft\Ntbackup\BackupEngine\ (if you don’t see the BackupEngine subkey you’ll have to run Windows Backup at least once). If you schedule a backup job, don’t forget that HKEY_CURRENT_USER must correspond to the user configured to run the job.
There isn’t much information provided by Microsoft about these entries, so I’ll advise you to change them to the values provided by Microsoft IT:
Logical Disk Buffer Size = 64
Max Buffer Size = 1024
Max Num Tape Buffers = 16
Out of the box, NTBackup will give a data throughput of about 640 MB/min, when performing disk-to-disk backup. With these registry optimizations you’ll be able to reach 1200 MB/min, that’s twice the throughput you had before!
The next major tweak to improve performance is to get a new version of NTBackup. That’s right, Microsoft released a new version of NTBackup with Windows Server 2003 Service Pack 1. The good news is that you can put your hands on this new version, even if you don't have SP1 installed, just call Microsoft PSS and ask for the hotfix mentioned on article Q839272.
Basically you’ll get a revised version of NTBackup that provides a new command-prompt switch, /FU. The switch enables a “file unbuffered” setting to bypass the cache manager and thus resolving a cache contention issue. This change provides a number of benefits during the disk-to-disk backup process:
- Sustainable throughput over time (remember the 1200 MB/min data throughput? Without the revised version that throughput will suffer some degradation)
- Reduction in processor utilization (peak utilization reduced to 30 percent on average)
- Elimination of impacts to the system process during the backup job
I made some basic testing and measures with and without this new switch. The measures were made by backing up a 2GB file to a SAN disk on an HP StorageWorks Enterprise Virtual Array 5000. For this specific hardware, Microsoft also recommends that you disable mirrored write-back cache on all dedicated backup disks. I present you the results on the next table.
| ||Without /FU ||With /FU|
|Mirrored Write-Back ||1:41 ||1:18|
|Mirrored cache disabled ||1:42 ||1:09|
Table 1 – Total backup time
You can notice a 23% improvement just by using the /FU switch. This value grows up to 33% when you disable the specific HP EVA 5000 mirrored write-back cache.
I showed you how to improve backup performance by modifying some registry values and by using a revised version of Windows Backup. Don’t forget that there are many other things involved in a backup solution, so you’ll have to do further testing on your own environment, but with the tweaks I mentioned is almost a certain that you’ll see a boost on throughput.
There are some articles you should check in order to get more information:
“How to Back Up and Restore an Exchange Computer by Using the Windows Backup Program”
“System performance is negatively affected when Ntbackup.exe writes to a destination .bkf file”
“Backup Process Used with Clustered Exchnge Server 2003 Servers at Microsoft”