Unsolved
This post is more than 5 years old
1 Rookie
•
22 Posts
0
304488
August 29th, 2011 09:00
PERC Write Caching option and it's interaction with OS level Drive Caching
I have a question regarding how the the PERC RAID controllers settings for Drive Caching (Enable Write Caching, Write-Back, Write-Through,etc.) Interact with Windows 2008 R2 OS settings of "Drive Caching."
This is from DELL PERC H700 and H800 Technical Guide:
The write cache policy of a virtual disk determines how the controller handles writes to that virtual disk. Write-Back and Write-Through are the two write cache policies and can be set on virtual disks individually.
All RAID volumes will be presented as Write-Through (WT) to the operating system (Windows and Linux) independent of the actual write cache policy of the virtual disk. The PERC cards manage the data in cache independently of the operating system or any applications. You can use OpenManage or the BIOS configuration utility to view and manage virtual disk cache settings.
In Write-Through caching, the controller sends a data-transfer completion signal to the host system when the disk subsystem has received all the data in a transaction. In Write-Back caching, the controller sends a data transfer completion signal to the host when the controller cache has received all the data in a transaction. The controller then writes the cached data to the storage device in the background.
The risk of using Write-Back cache is that the cached data can be lost if there is a power failure before it is written to the storage device. This risk is mitigated by using a BBU on PERC H700 or H800 cards. Write-Back caching has a performance advantage over Write-Through caching. The default cache setting for virtual disks is Write-Back caching. Certain data patterns and configurations perform better with a Write-Through cache policy.
Write-Back caching is used under all conditions in which the battery is present and in good condition.
Write-Through caching is used under all conditions in which the battery is missing or in a low-charge state. Low-charge state is when the battery is not capable of maintaining data for at least 24 hours in the case of a power loss.
Write-Back mode is available when the user selects Force WB with no battery. When Forced Write-Back mode is selected, the virtual disk is in Write-Back mode even if the battery is not present. It is recommended that you use power backup system when forcing Write-Back to ensure there is no loss of data if the system suddenly loses power.
My question is this:
What is affected when you have Write-Caching enabled on the Perc, but also have "Enable write caching on the device" checked in Disk Management>disk properties>Policies Tab of Windows Server 2008. The note above says "PERC cards manage the data in cache independetly of the operating system or any applications". Does this mean it renders any OS write caching settings useless? Or is it just saying that it does not have any interaction with any write-cache settings in the OS?
Is there another level of write caching that goes on at the OS level when this is checked? If Write-Back caching is enabled at the PERC level, and Write-caching policy checked at the OS level, is there a preformance hit because the process is repeated twice on every data transaction?
Bottom line, I'm just curious how these two settings interact with each other, and if we should/shoudn't have both settings checked if we want to enable Write-Back caching.



pcmeiners
4 Operator
•
1.8K Posts
0
August 29th, 2011 16:00
The high end Perc raid adapters , as a default.or option, have a BBU to protect the virtual disk's cache, this is different then drive cache. As a default on SAS drives, with the Perc adapters the disk cache is disabled as a safety measure in case the server goes down as the drives themselves do not have any measures in place to retain/correct data without power.
On benchmarks in the past, with raid adapters I could change the disk cache policy, I found little positive or negative throughput changes with the disk cache enabled or disabled, (have not tested the newest high end raid generation). As to the raid controllers policy of WB or WT (concerning the virtual disks), WB almost always gives much higher throughput… consider WB as a default except under rare circumstances.
The Windows OS also has an independent file caching\data chunk size polices, greatly dependent on how much memory is allocated to the file system, and to parameters in the registry (either system made or manual). As forewarned the default setting in windows 2008 are pretty good, any tweaks made to the registry are generally double edged, as in if you tweak higher throughput for a particular data chunk size, throughput of other chunk sizes are effected.
TedLarsen
1 Rookie
•
22 Posts
0
August 30th, 2011 07:00
Thanks for the information pc......so what you saying is that each drive cache setting (OS vs. Perc Open Manage setting) are independent of each other? One does not interfere at all with the other? So if we have WB set on the PERC card, and have the "enable Wirte caching on the device" checked in the Disk properties>Policies Tab, this will not cause any undue issues/performance concerns?
pcmeiners
4 Operator
•
1.8K Posts
0
August 30th, 2011 08:00
The Os and the Perc policies are basically independent. There are a couple registry entries set by the Perc driver which affects the OS, but I have tried different parameters on them and there was no noticeable change in performance of either the raid or the OS.
As to WB this only affect the virtual disk, not the settings on the individual drives. Not sure if enabling drive cache within the OS will have a positive or negative affect on the overall system, you would need to run a disk benchmark to verify . Even if your running with a reliable UPS on your server, enabling the drive cache is not recommended.. If the disk cache is enabled in the OS, I would check with the CLI (command line interface) to verify if the disk cache is truly enabled .
Will disk caching cause instability?, did not on the last controller I tested but could possibly, as there are many variables involved, Again I did not get a benefit with it enabled but it may produce higher performance with your raid adapter,
If you bench, try filecopy_v052, old dos based program, adds no files to the OS. Note you really want higher throughput with the smaller data chunk sizes. Larger chunk sizes only come into importantance in copying large files, which is not an important server function, smaller chunk sizes are used in most file server functions.
www.vanshardware.com/.../FileCopy_v052.zip