StableBit DrivePool Advanced Settings

From Covecube - Wiki
Revision as of 17:26, 24 April 2012 by Alex (talk | contribs) (→‎Settings)

DrivePool.Service.config

You can tweak advanced settings in DrivePool by editing a .config file in notepad.

The file is located in C:\Program Files\StableBit\DrivePool\DrivePool.Service.exe.config_default on the server.

In order to put the file into effect, you will need to rename it from DrivePool.Service.exe.config_default to DrivePool.Service.exe.config and restart the server (or just restart the StableBit DrivePool system service).

A fresh copy of the .config file is written to C:\Program Files\StableBit\DrivePool\DrivePool.Service.exe.config_default on upgrade, so your changes will not be overwritten.

Editing the config file

Open the file in notepad. You will see an XML formatted file. If you're not familiar with XML then all that you need to know is that the values that you can change look like this:

<value>True</value>

You can change this line to:

<value>False</value>

The setting name is right above that line:

<setting name="CoveFsLogSizeMB" serializeAs="String">

In this case the name is CoveFsLogSizeMB.

There are also numerical values and time values.

Settings

  • BitLocker - Set to True to add support for BitLocker encrypted pool parts. Adds a small overhead and is Disabled by default.
  • ErrorReportingOverride - Automatically send error reports to Covecube.
  • CoveFsLogSizeMB - The binary kernel log size. 100MB can be from a few minutes to 10 minutes worth of logs, depending on I/O activity. The kernel binary log records every operation on the pool in a high performance and compact log file.
  • CoveFsTracingEnabled - Enable user / kernel logging by default. This should be left set to True for the BETA, just in case you run into problems and need to submit logs.
  • CoveFsDebugOutput - Put the kernel driver into debug mode. This should be set to False.
  • FileBalance_CalculateRatioForceByteDelta - How many bytes have to be processed by the pool before the ratio is recalculated. The ratio calculation involves no I/O, is done asynchronously and does not block the pool.
  • FileBalance_DuplicationObstructionLimitRatio - Internal variable that controls balance ratio calculation.
  • FileBalance_CriticalBalanceRatio - When the ratio falls below this value a pool re-balance is performed automatically at the balance time.
  • FileBalance_CriticalBalanceTime - Time the pool is automatically balanced if needed. Format is 24 hour clock. E.g. 23:00 is valid.
  • FileSizes_MeasureTime - The time of day when the size of all the folders is recomputed. This works together with the FileSizes_RemeasureDayOfMonth setting to recompute file sizes once a month.
  • FileSizes_RemeasureDayOfMonth - The day of the month when the size of all the folders is recomputed. Set to 0 to disable.
  • FileDuplication_DuplicateTime - The time of day when files will be duplicated, if real-time duplication is disabled.
  • FileDuplication_AlwaysRunImmediate - If DrivePool detects that a file is not duplicated, or it's duplicated where it shouldn't be, a duplication pass will start immediately if this is set to True.
  • WhsCommand_TimeoutMS - How long to wait for WSS to respond when issuing command to it. If your server is slow and you're getting errors such as Cannot retrieve WHS folders you may want to increase this time. The value is in milliseconds. For 2 minutes you would set this to 120000. Starting with build 5380 this is only applicable for the M3 to M4 migration process.
  • FileDuplication_BackgroundIO - Use background I/O for background file duplication.
  • FileBalance_BackgroundIO - Use background I/O for re-balancing the pool.
  • CoveFs_Oplocks - Enable / disable file system oplock support.
  • CoveFs_ReportAsNtfs - Report as "NTFS" to most application that ask.
  • FileBalance_PreventDriveFill - Prevents pooled drives from getting topped off with pooled files. This is useful if you write a lot of non-pooled files to a pooled drive, or your your existing pooled files tend to greatly increase in size. This is an optimized algorithm that is designed to run very rarely, only when needed.
  • FileBalance_DriveFillRatio - When a drive's used space exceeds this ratio, it becomes a candidate for a re-balance. Actual re-balancing will only be available if the file placement on the drive and the rest of the pool permit it.
  • FileBalance_DriveFillRatioMin - When preventing drive fill, do not empty a drive below this level.
  • FileBalance_DestinationDriveFillRatio - When preventing drive fill, do not fill the destinations above this level.
  • FileBalance_PreventSlack - An efficient file balancing algorithm designed to optimize file placement.
  • FileBalance_PreventDuplicationObstruction - An efficient file balancing algorithm designed to optimize file placement.
  • CoveFs_SynchronizeDirectoryTimes - On NTFS, when creating a new file in a directory, the last write time of the directory that contains that file gets updated. In order to have CoveFS ensure that directory modification times are updated consistently, this needs to be enabled. There is a small real-time performance penalty for having this enabled. The algorithm that makes this work is multi-threaded and will benefit from multiple CPU cores.
  • CoveFs_WaitForVolumesOnMount - Some volumes arrive late in the boot process so DrivePool will wait for all the volumes to arrive before allowing the pool drive to mount. The delay is adaptive, so it will be different for each system. Turning this off might shorten boot times, but is not recommended because it could expose a partially populated pool drive to system services that start right after booting.

Don't forget to rename the config file after you make the change and restart the server (or service), as noted at the top of this page.

  • CoveFs_WaitForVolumesOnMountMs - How long to wait for all the volumes to arrive in MS.
  • CoveFs_AsyncCriticalThreads - How many threads to use for critical asynchronous tasks. Asynchronous tasks are used throughout CoveFs to parallelize various file system code.
  • CoveFs_AsyncNormalThreads - How many threads to use for normal asynchronous tasks.