StableBit CloudDrive Advanced Settings

From Covecube - Wiki

Settings.json

In the newer versions, we've depreciated the config file and have moved over to a JSON file. There are a number of reasons for this, but the best is that we include the default values here, as well.

The file is located in C:\ProgramData\StableBit CloudDrive\Service\Settings.json. Note that this file is in "ProgramData", and not "Program Files". This folder is hidden by default, so you must type in the path, or enable "Show Hidden Files" in Windows Explorer.

Editing

Open the file in notepad. You'll see a JSON formatted file.

if you're not familiar with editing a JSON file, then you just edit the value for "Override", rather than the "Default" value. This will allow you to easily revert values to the default, by changing the override back to "null".

For instance, the default settings may look like this:

 "BitLocker_CloudPartUnlockDetect": {
   "Default": true,
   "Override": null
 },

The default value means that whichever value is enabled by default. If you change the "null" in the override line to "false" and save the file, it will disable the setting in the future:

 "BitLocker_CloudPartUnlockDetect": {
   "Default": true,
   "Override": false
 },

This example would disable the BitLocker pool detection feature, meaning that you may need to manually restart the service to detect unlocked drives.

Settings

Settings are organized by function.

BitLocker

  • BitLocker_CloudPartUnlockDetect (Default: "True") - Adds support for BitLocker encrypted StableBit CloudDrive cache drives. You must still manually unlock the drives, unless the system disk is also encrypted and configured to auto-unlock the other drives. This does cause the software to periodically "ping" the disk (this happens via WMI and not our software, directly).

ChunkIoPipelineTrackingImplementation

  • ChunkIoPipelineTrackingImplementation_MaximumClosedIoToTrack (Default: "100") - The maximum number of closed I/O connections to keep track of per drive for display in Technical Details.
  • ChunkIoPipelineTrackingImplementation_MaximumInFlightIoToTrack (Default: "100") - The maximum number of active I/O connections to keep track of per drive for display in Technical Details.

CloudDrive

  • CloudDrive_CultureOverride (Default: "") - Overrides the UI culture setting. When set, text will appear in a different language than your OS culture. Set to a culture string such as "de", "es", "fr", etc... This works with remote control as well. When connecting to a StableBit CloudDrive machine with an overridden culture, the UI on the connecting machine will be in the overridden culture.
  • CloudDrive_PingHost (Default: "8.8.8.8") - The IP to ping in order to determine if there is an Internet connection available. StableBit CloudDrive will delay service startup and cloud drive mounting until there is an Internet connection available.
  • CloudDrive_ResolveHost (Default: "google.com") - The hostname to resolve in order to determine if there is an active Internet connection available. StableBit CloudDrive will delay service startup and cloud drive mounting until there is an Internet connection available (unless it's a brand new install).
  • CloudDrive_ServiceLoggingEnabled (Default: "True") - Enables normal service logging, such as remote control info, cloud provider I/O info, etc...
  • CloudDrive_SynchronousServiceStart (Default: "False") - When the service starts, for performance reasons, Windows will be told that service startup is complete even before some time consuming startup tasks are done running. One of these tasks is waiting for all of the existing cloud drives to finish mounting. If you want to set up a service dependency on the StableBit CloudDrive service, such that you want to ensure that all of the cloud drives have finished mounting before the service enters the running state, set this to True.
  • CloudDrive_WaitForInternetS (Default: "120") - How long to wait for an Internet connection to become available before allowing the service to complete startup and mount the first cloud drive (set to 0 to start immediately and not wait).

CloudDrives

  • CloudDrives_MountParallelization (Default: "2") - The number of cloud drives to attempt to mount at the same time. Keep in mind that mounting a cloud drive may involve opening up multiple connections to a server where the data is stored, so you don't want to set this value too high.

CloudFsDisk

  • CloudFsDisk_IsDriveRemovable (Default: "True") - Causes the CloudDrive disks to be marked as removable drives, and exposes the "Removal Policy" tab in Device Manager. This is enabled by default.
  • CloudFsDisk_IsQuickRemoval (Default: "True") - Controls whether the drive is set to "Quick Removal" or "Better performance" in the "Removal Policy" tab in Device Manager. This is enabled by default.
  • CloudFs_LogSizeMB (Default: "100") - 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 cloud drive in a high performance and compact log file.
  • CloudFsDisk_MaximumConsecutiveIoFailures (Default: "3") - This setting controls how many unrecoverable I/O failures can occur before the drive is forcefully unmounted from the system. Increasing or disabling this setting can cause issues where the system may hang/lock up, as Windows will wait on the I/O to finish. The window for these errors is 120 seconds, and if this time is exceeded without an error, the count is reset. The default value for this is "3".
  • CloudFsDisk_Tracing (Default: "False") - When set to True, kernel driver tracing will be enabled by default at all times. Tracing logs are written to %ProgramData%\StableBit CloudDrive\Service\Logs\CloudFsDisk. They are written in a binary format and can be submitted to technical support for analysis.
  • CloudFs_TracingFlushS (Default: "0") - This sets flush to disk the interval. 0 will flush on every trace.

CreateDrive

  • CreateDrive_AllowCacheOnDrivePool (Default: "False") - Allows the cache to be created on a DrivePool disk. Default behavior is to exclude Pool drives, due to the fact that the cache files will always be locked and will not be rebalanced, nor can be duplicated if real time duplication is disabled.

DeleteCloudDrive

  • DeleteCloudDrive_Retries (Default: "10") - How many times to retry deleting a cloud drive's metadata and data when an error is encountered.

FileShare

  • FileShare_LegacySecurityContext (Default: "false") - Reverts to the old authentication method for the File Share provider.

FTP

  • Ftp_ConnectionExpireAfter (Default: "00:00:30") - Timeout for FTP connection, closes connection so it's not always open.
  • Ftp_DefaultMaximumConnections (Default: "2") - Sets the default maximum number of connections for the FTP provider.
  • Ftp_NoAbort (Default: "False") - FTP does not inherently support downloading the partial contents of a file. However, StableBit CloudDrive simulates this by aborting FTP connections as necessary. If this is not desired, set this to True.

Http

  • Http_Legacy10 (Default: "False") - When set to true, the HTTP protocol will use version 1.0 instead of 1.1 throughout the application. This is useful for compatibility with older HTTP proxies that don't support version 1.1.

IoManager

  • IoManager_DefaultConnectionLimit (Default: "1000") - The absolute maximum number of simultaneous HTTP connections that the service is allowed to create.
  • IoManager_DefaultMaximumReadAggregation (Default: "1048576") - When multiple read request arrive to the disk in close temporal proximity, and they are requesting adjacent data, those requests will be combined into one request to the storage provider. Certain providers (e.g. Local Disk, File Share) always use a 100 MB limit regardless of this setting.
  • IoManager_ConnectionReadTimeoutMS (Default: "100000") - The maximum allowed duration of a connection in MS. The duration is calculated from the time that a connection is attempted until the final response is received.
  • IoManager_ConnectionWriteTimeoutMS (Default: "3600000") - The maximum allowed duration of a connection in MS. The duration is calculated from the time that a connection is attempted until the final response is received.
  • IoManager_HttpReadWriteTimeoutMS (Default: "45000") - The maximum allowed duration of a HTTP upload / download in MS.
  • IoManager_ReadAbort - Maximum amount of time that a read thread is allowed to run before the thread is aborted (this is a secondary safety measure, if the timeout fails).
  • IoManager_NoFreeSpaceCheckOnStorageProvider (Default: "False") - When creating a new cloud drive or resizing an existing cloud drive, StableBit CloudDrive will make sure that there is enough free space at the storage provider (for providers that support free space checking) before allowing the resize or create operation to go through. If the storage provider is returning incorrect free space values, this can be set to True to disable this check.
  • IoManager_ReadAbort (Default: "00:01:55") - The maximum amount of time that a read thread is allowed to run before the thread is aborted (this is a secondary safety measure, if the timeout fails). Normally, IoManager_ConnectionReadTimeoutMS will instruct the underlying API to perform the timeout, but if the API does not respect this, it will be aborted.
  • IoManager_ReadRetries (Default: "10") - How many times to retry provider reads before returning an error to the disk.
  • IoManager_ReadThreads (Default: "2") - The default number of read threads when creating a new cloud drive, unless overridden by the provider.
  • IoManager_ThrottlingCatchupS(Default: "3.0") - The set limit for the I/O Manager can now be temporarily exceeded in order to "catch up" due to a previous slow down. Set to 0.0 to disable.
  • IoManager_UseHttpCompression (Default: "True") - Set to True to use HTTP compression, set to False otherwise.
  • IoManager_WriteAbort (Default: "00:05:00") - Maximum amount of time that a write thread is allowed to run before the thread is aborted (this is a secondary safety measure, if the timeout fails). Normally, IoManager_ConnectionWriteTimeoutMS will instruct the underlying API to perform the timeout, but if the API does not respect this, it will be aborted.
  • IoManager_WriteRetries - How many times to retry provider reads before giving up and showing an error to the user.
  • IoManager_WriteThreads - The default number of write threads when creating a new cloud drive, unless overridden by the provider.

LocalIo

  • LocalIo_ReleaseHandlesDelayMS - For the Local Disk provider and the File Share provider, how long to wait (in MS) after the last provider I/O call before closing all of the handles to the provider's data.

Performance

  • Performance_MaximumClosedIoToTrack (Default: "1000") When computing bandwidth averages and connection counts, this defines the maximum number of closed connections to keep track of.

PinDiskMetadata

  • PinDiskMetadata_IntervalM (Default: "60") - This sets how often to check for file system metadata changes when pinning data to the local cache, in minutes.

RemoteControl

  • RemoteControl_Port (Default: "26525") - Specifies the port used by StableBit CloudDrive for remote management.
  • RemoteControl_MulticastGroupIp (Default: "232.121.12.3") - The multicast group IP to use for peer discovery.
  • RemoteControl_MulticastGroupPort (Default: "52330") - The multicast group port to use for peer discovery.
  • RemoteControl_MulticastTimeToLive (Default: "3") - Controls the number of "hops" the remote control packets will travel before being dropped, to prevent the network from being flooded.
  • RemoteControl_StaticPeerSeekTime (Default: "00:01:00") - How often to check whether an offline static peer has gone online.

ValidateLogins

  • ValidateLogins_MaxDegreeOfParallelism (Default: "20") - When first starting StableBit CloudDrive, how many threads to use in order to validate your existing login credentials.
  • ValidateLogins_Timeout (Default: "00:00:30") - Sets the timeout length that the software will wait for a response when waiting for the provider to respond to refreshing credentials.

WholeChunkIoImplementation

  • WholeChunkIoImplementation_PartialWriteAggregationMS (Default: "100") - When a cloud provider doesn't support writing partial chunks (which is very common), we aggregate partial shared write requests into a master chunk write request. This is a very complicated optimization and you shouldn't change this value unless instructed to do so by technical support.