Difference between revisions of "StableBit DrivePool 2.x Advanced Settings"

From Covecube - Wiki
m
Line 31: Line 31:
 
The newest settings are '''''emphasized'''''.<br />
 
The newest settings are '''''emphasized'''''.<br />
 
Obsolete settings are <strike>crossed out</strike>.
 
Obsolete settings are <strike>crossed out</strike>.
 +
==== BitLocker ====
 +
* '''''BitLocker_PoolPartUnlockDetect''''' - Set to True to add support for BitLocker encrypted pool parts. Adds a small overhead and is Disabled by default You must still manually unlock the drives, unless the system disk is also encrypted and configured to auto-unlock the other drives.
  
 
==== CoveFS ====
 
==== CoveFS ====
Line 36: Line 38:
 
* '''CoveFs_AsyncNormalThreads''' - How many threads to use for normal asynchronous tasks.
 
* '''CoveFs_AsyncNormalThreads''' - How many threads to use for normal asynchronous tasks.
 
* '''CoveFs_BoostNetworkIoPriorityWrite''' - Boost the priority of write network I/O.
 
* '''CoveFs_BoostNetworkIoPriorityWrite''' - Boost the priority of write network I/O.
* '''''CoveFs_OpenByFileId''''' - Open by file ID support. This allows applications to open any file on the pool by its unique file ID, instead of the file name. This feature is required by the NFS server. When enabled, the pool will keep track of every file ID that it gives out in pagable memory (memory that is saved to disk and loaded as necessary).
+
* '''''CoveFs_BypassNtfsFilters''''' - Default to True. ''description in progress''
 +
* '''CoveFs_LogSizeMB''' - 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.
 +
* '''CoveFs_OpenByFileId''' - Open by file ID support. This allows applications to open any file on the pool by its unique file ID, instead of the file name. This feature is '''required by the NFS server'''. When enabled, the pool will keep track of every file ID that it gives out in page-able memory (memory that is saved to disk and loaded as necessary).
 
* '''CoveFs_Oplocks''' - Enable / disable file system oplock support.
 
* '''CoveFs_Oplocks''' - Enable / disable file system oplock support.
 
* '''CoveFs_ReadStripingBlockMode'''' - Switch to the read striping block mode algorithm when sequential read access is used.
 
* '''CoveFs_ReadStripingBlockMode'''' - Switch to the read striping block mode algorithm when sequential read access is used.
 
* '''CoveFs_ReadStripingBlockModeNoCache''' - Disable the NT read ahead cache when using read striping block mode.
 
* '''CoveFs_ReadStripingBlockModeNoCache''' - Disable the NT read ahead cache when using read striping block mode.
 
* '''CoveFs_ReadStripingStripeSize''' - The stripe size to use for reading in block mode.
 
* '''CoveFs_ReadStripingStripeSize''' - The stripe size to use for reading in block mode.
* '''CoveFs_ReportAsNtfs''' - Report as "NTFS" to most applications that ask.
+
* '''CoveFs_ReparsePointsEnabled''''' - ''Experiemental''. Enables Reparse Point (symbolic link) support on DrivePool drive. As for Build 320, does not work properly.
 +
* '''CoveFs_ReportAsNtfs''' - Report as "NTFS" to most applications that ask.  
 
* '''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_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_TracingEnabled''' - Enable user / kernel logging by default. This should be set to True for the beta test, just in case you run into problems and need to submit logs.
 
* '''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.
 
* '''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.
 
* '''CoveFs_WaitForVolumesOnMountMs''' - How long to wait for all the volumes to arrive in MS.
 
* '''CoveFs_WaitForVolumesOnMountMs''' - How long to wait for all the volumes to arrive in MS.
Line 49: Line 55:
 
* '''''DrivePool_BackgroundTasksVeryLowPriority''' - Sets the CPU priority of background tasks such as re-measuring, background duplication and re-balancing to IDLE (Windows Priority 1). Note that this setting does not affect I/O priority which is set separately.''
 
* '''''DrivePool_BackgroundTasksVeryLowPriority''' - Sets the CPU priority of background tasks such as re-measuring, background duplication and re-balancing to IDLE (Windows Priority 1). Note that this setting does not affect I/O priority which is set separately.''
 
* '''''DrivePool_VerifyAfterCopy''' - After performing a file copy (or move), verify that the destination file was copied successfully by comparing it with the source.''
 
* '''''DrivePool_VerifyAfterCopy''' - After performing a file copy (or move), verify that the destination file was copied successfully by comparing it with the source.''
 +
* '''DrivePool_ServiceLoggingEnabled''' -
  
 
==== File Balance ====
 
==== File Balance ====
 
* '''FileBalance_BackgroundIO''' - Use background I/O for re-balancing the pool.
 
* '''FileBalance_BackgroundIO''' - Use background I/O for re-balancing the pool.
 
* '''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_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.
* <strike>'''FileBalance_CriticalBalanceRatio''' - When the ratio falls below this value a pool re-balance is performed automatically at the balance time.</strike>
 
* <strike>'''FileBalance_CriticalBalanceTime''' - Time the pool is automatically balanced if needed. Format is 24 hour clock. E.g. 23:00 is valid.</strike>
 
* <strike>'''FileBalance_DestinationDriveFillBytes''' - Same as FileBalance_DestinationDriveFillRatio, but in bytes.</strike>
 
* <strike>'''FileBalance_DestinationDriveFillRatio''' - When preventing drive fill, do not fill the destinations above this level.</strike>
 
* <strike>'''FileBalance_DriveFillBytes''' - Same as FileBalance_DriveFillRatio, but in bytes. The greater value will be used.</strike>
 
* <strike>'''FileBalance_DriveFillBytesMin''' - Same as FileBalance_DriveFillRatioMin, but in bytes.</strike>
 
* <strike>'''FileBalance_DriveFillRatioMin''' - When preventing drive fill, do not empty a drive below this level.</strike>
 
 
* '''FileBalance_DuplicationObstructionLimitRatio''' - Internal variable that controls balance ratio calculation.
 
* '''FileBalance_DuplicationObstructionLimitRatio''' - Internal variable that controls balance ratio calculation.
 
* '''''FileBalance_EvacuationPadding''' - When evacuating a disk (i.e. re-balancing to move all the files off of it), we pad the amount selected to move off by the ratio of the amount of free space on the target. This is that ratio which is a value from 0.0 to 1.0.''
 
* '''''FileBalance_EvacuationPadding''' - When evacuating a disk (i.e. re-balancing to move all the files off of it), we pad the amount selected to move off by the ratio of the amount of free space on the target. This is that ratio which is a value from 0.0 to 1.0.''
* <strike>'''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.</strike>
 
* <strike>'''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.</strike>
 
* <strike>'''FileBalance_PreventDuplicationObstruction''' - An efficient file balancing algorithm designed to optimize file placement.</strike>
 
* <strike>'''FileBalance_PreventSlack''' - An efficient file balancing algorithm designed to optimize file placement.</strike>
 
  
 
==== File Duplication ====
 
==== File Duplication ====
Line 73: Line 69:
 
* '''''FileDuplication_MaximumPathDepthForEstimation''' - This is the maximum path depth that background duplication will traverse to estimate the number of folders on the pool that it needs to work on. Increasing this value will increase the delay at the start of background duplication before it starts doing actual work, but will provide more resolution in the completion percentage reported in the Dashboard.''
 
* '''''FileDuplication_MaximumPathDepthForEstimation''' - This is the maximum path depth that background duplication will traverse to estimate the number of folders on the pool that it needs to work on. Increasing this value will increase the delay at the start of background duplication before it starts doing actual work, but will provide more resolution in the completion percentage reported in the Dashboard.''
  
==== File Sizes ====
+
==== License ====
* <strike>'''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.</strike>
+
* '''License_Reset''' - This will cause the license to be reset when the service starts. This should '''never''' be enabled unless specifically when told to do so.
* <strike>'''FileSizes_RemeasureDayOfMonth''' - The day of the month when the size of all the folders is recomputed. Set to 0 to disable.</strike>
 
  
==== Legacy ====
+
==== Performance ====
* '''BitLocker''' - Set to True to add support for BitLocker encrypted pool parts. Adds a small overhead and is Disabled by default.
+
* '''''Performance_SampleIntervalMS''''' - Sampling interval used for collecting Performance information from the sysytem.
* '''CoveFsDebugOutput''' - Put the kernel driver into debug mode. This should be set to ''False''.
+
 
* '''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.
+
==== Remote Control ====
* '''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.
+
* '''''RemoteControl_Port''''' - Specifies the port used by DrivePool for remote management.
* '''ErrorReportingOverride''' - Automatically send error reports to Covecube.
+
* '''''RemoteControl_MulticastTimeToLive''''' ''description TBD''
  
 
==== Remove Drive ====
 
==== Remove Drive ====
Line 90: Line 85:
 
* '''''RunningFile_FileName''''' - When specified, a file at this path will be created whenever DrivePool is performing a background task, such as re-balancing. After all background tasks complete, this file will be deleted. The folder must already exist for the file.
 
* '''''RunningFile_FileName''''' - When specified, a file at this path will be created whenever DrivePool is performing a background task, such as re-balancing. After all background tasks complete, this file will be deleted. The folder must already exist for the file.
  
==== WHS Command ====
 
* '''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.
 
* '''''WhsCommand_NoMissingDiskAlert''' - Do not issue the missing disk alert.''
 
  
 
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.
 
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.

Revision as of 23:54, 9 July 2013

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.default.config on the server.

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

Any time you upgrade, or reinstall DrivePool, it writes an updated DrivePool.Service.exe.default.config file, so it will include any updated settings but leaves the current DrivePool.Service.exe.config alone so it doesn't alter any of your settings.

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

Settings are organized by function.

The newest settings are emphasized.
Obsolete settings are crossed out.

BitLocker

  • BitLocker_PoolPartUnlockDetect - Set to True to add support for BitLocker encrypted pool parts. Adds a small overhead and is Disabled by default You must still manually unlock the drives, unless the system disk is also encrypted and configured to auto-unlock the other drives.

CoveFS

  • CoveFs_AsyncCriticalThreads - How many threads to use for critical asynchronous tasks. Asynchronous tasks are used throughout CoveFS to parallelize various file system operations. In particular, this affects how many disks in the pool are accessed at the same time when we need to query all the disks for some information.
  • CoveFs_AsyncNormalThreads - How many threads to use for normal asynchronous tasks.
  • CoveFs_BoostNetworkIoPriorityWrite - Boost the priority of write network I/O.
  • CoveFs_BypassNtfsFilters - Default to True. description in progress
  • CoveFs_LogSizeMB - 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.
  • CoveFs_OpenByFileId - Open by file ID support. This allows applications to open any file on the pool by its unique file ID, instead of the file name. This feature is required by the NFS server. When enabled, the pool will keep track of every file ID that it gives out in page-able memory (memory that is saved to disk and loaded as necessary).
  • CoveFs_Oplocks - Enable / disable file system oplock support.
  • CoveFs_ReadStripingBlockMode' - Switch to the read striping block mode algorithm when sequential read access is used.
  • CoveFs_ReadStripingBlockModeNoCache - Disable the NT read ahead cache when using read striping block mode.
  • CoveFs_ReadStripingStripeSize - The stripe size to use for reading in block mode.
  • CoveFs_ReparsePointsEnabled - Experiemental. Enables Reparse Point (symbolic link) support on DrivePool drive. As for Build 320, does not work properly.
  • CoveFs_ReportAsNtfs - Report as "NTFS" to most applications that ask.
  • 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_TracingEnabled - Enable user / kernel logging by default. This should be set to True for the beta test, just in case you run into problems and need to submit logs.
  • 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.
  • CoveFs_WaitForVolumesOnMountMs - How long to wait for all the volumes to arrive in MS.

DrivePool

  • DrivePool_BackgroundTasksVeryLowPriority - Sets the CPU priority of background tasks such as re-measuring, background duplication and re-balancing to IDLE (Windows Priority 1). Note that this setting does not affect I/O priority which is set separately.
  • DrivePool_VerifyAfterCopy - After performing a file copy (or move), verify that the destination file was copied successfully by comparing it with the source.
  • DrivePool_ServiceLoggingEnabled -

File Balance

  • FileBalance_BackgroundIO - Use background I/O for re-balancing the pool.
  • 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_EvacuationPadding - When evacuating a disk (i.e. re-balancing to move all the files off of it), we pad the amount selected to move off by the ratio of the amount of free space on the target. This is that ratio which is a value from 0.0 to 1.0.

File Duplication

  • 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.
  • FileDuplication_BackgroundIO - Use background I/O for background file duplication.
  • FileDuplication_DuplicateTime - The time of day when files will be duplicated, if real-time duplication is disabled.
  • FileDuplication_MaximumPathDepthForEstimation - This is the maximum path depth that background duplication will traverse to estimate the number of folders on the pool that it needs to work on. Increasing this value will increase the delay at the start of background duplication before it starts doing actual work, but will provide more resolution in the completion percentage reported in the Dashboard.

License

  • License_Reset - This will cause the license to be reset when the service starts. This should never be enabled unless specifically when told to do so.

Performance

  • Performance_SampleIntervalMS - Sampling interval used for collecting Performance information from the sysytem.

Remote Control

  • RemoteControl_Port - Specifies the port used by DrivePool for remote management.
  • RemoteControl_MulticastTimeToLive - description TBD

Remove Drive

  • RemoveDrive_PoolReadOnly - Make unduplicated folders on the pool read-only while a disk is being removed. Duplicated folders are always made read-only to preserve data integrity.

Running File

  • RunningFile_FileName - When specified, a file at this path will be created whenever DrivePool is performing a background task, such as re-balancing. After all background tasks complete, this file will be deleted. The folder must already exist for the file.


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.