Cluster Configuration Settings (Velocity)

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

In Microsoft project code named "Velocity," you have the ability to edit your cache cluster's configuration settings in XML or by using PowerShell directly. This topic describes the cluster configuration settings that are available and how they are specified with XML or PowerShell. For more information about how to make cluster configuration changes, see Configuring the Cache Cluster (Velocity).

There are five types of settings configured in the cluster configuration settings:

  • Cluster settings: Describe settings related to the cache cluster.

  • Cache settings: Describe settings related to each of the caches in the cluster.

  • Host settings: Describe settings related each of the cache hosts that are members of the cluster.

  • Cluster configuration storage location settings: Describe the storage location and designate the cluster management role. For more information about the cluster management role, see Lead Hosts and Cluster Management (Velocity).

  • Crash dump settings: Describe the type of data written to the crash log file when a cache host service failure occurs.

Note

The XML file produced by the Export-CacheClusterConfig PowerShell command, that you can use to make cluster configuration changes, is referred to as the "XML file" throughout this topic.

Cluster Settings

The only way to create a cluster and specify its initial settings is to run the "Velocity" installation on at least one cache host.

There are two settings that are used to describe the cluster itself: the name and the size (small, medium or large). In the XML file, these settings are defined as attributes of the dataCache element and are assigned when the "Velocity" installation program runs on the first cache server of the cluster.

Setting XML Configuration Location Setting assigned when…

Cluster name

The name attribute in the dataCache element.

The cluster name is assigned when "Velocity" is installed on the first cache server.

Cluster Size

The size attribute in the dataCache element. Possible values include Small, Medium, or Large.

Cluster size is assigned when "Velocity" is installed on the first cache server.

Cache Settings

The only way to create a cache and to specify its initial settings is to use the PowerShell-based cache administration tool New-Cache command.

The cache settings are stored at the cluster level. For this reason, these settings can be found in the XML file as a child of the caches element. In PowerShell, use theGet-CacheConfigcommand to view the cache configuration settings, and the Set-CacheConfig command to change the cache settings.

Note

To change cache configuration settings with the XML file or the Set-CacheConfig command, you must restart the whole cluster with the PowerShell Restart-CacheCluster command. You can also use PowerShell to remove and re-create a cache by the same name (and different settings) without restarting the cluster.

The following table lists the settings available to each cache:

Setting XML Configuration Location PowerShell Configuration Location

Cache name

The name attribute in the cache element.

Assigned with the CacheName parameter in the New-Cache command. View this setting with the Get-CacheConfig command using the CacheName parameter.

If cache notifications is enabled

The isEnabled attribute in the serverNotification element. Values may be true or false. The serverNotification element is a child of the policy element, which is a child of the cache element.

Assigned with the NotificationsEnabled parameter in the New-Cache command. Notifications are enabled when this parameter is present. View this setting with the Get-CacheConfig command using the CacheName parameter.

If the high availability feature is enabled

The replicas and minWriteQuorum attributes in the cache element. High availability is enabled when both attributes are equal to 2, disabled when they are both equal to 1. Alternatively, removing these attributes disables the high availability feature.

Assigned with the Secondaries parameter in the New-Cache command. High availability is enabled when Secondaries equals 1, disabled when Secondaries equals 0. View this setting with the Get-CacheConfig command using the CacheName parameter.

Cache type

The type attribute in the cache element. Only the partitioned (default) value is allowed.

Assigned with the Type parameter in the New-Cache command. Only the partitioned (default) value is allowed. View this setting with the Get-CacheConfig command using the CacheName parameter.

Eviction type

The type attribute in the eviction element. Values may be LRU for least recently used or none. The eviction element is a child of the policy element, which is a child of the cache element.

Assigned with the Eviction parameter in the New-Cache command. Values may be LRU for least recently used or none. View this setting with the Get-CacheConfig command using the CacheName parameter.

If expiration is enabled

The isExpirable attribute in the expiration element. Values may be true or false. The expiration element is a child of the policy element, which is a child of the cache element.

Assigned with the NotExpirable switch in the New-Cache command. Using the switch disables expiration. View this setting with the Get-CacheConfig command using the CacheName parameter.

Default object time-out (minutes)

The defaultTTL attribute in the expiration element. Values may be true or false. The expiration element is a child of the policy element, which is a child of the cache element.

Assigned with the TTL parameter in the New-Cache command. View this setting with the Get-CacheConfig command using the CacheName parameter.

Host Settings

The only way to create a host and specify its initial settings is to run the "Velocity" installation on a computer that will serve as a cache server.

The cache cluster must keep track of each cache host that is a member of the cluster. In the XML file, a host element is used to specify each host in the cluster. In PowerShell, the Get-CacheConfig and Set-CacheConfig commands can be used to view or reconfigure the cache host configuration.

The settings available to each cache host are as follows:

Setting XML Configuration Location PowerShell Configuration Location

Cache server name

The name attribute in the host element. The host element is a child of the hosts element.

Assigned at installation time based on the computer name. View this setting with the Get-CacheConfig command.

Cache host name (name of the host service)

The cacheHostName attribute in the host element. The default value is DistributedCacheService. The host element is a child of the hosts element.

Assigned at installation time. Reconfigure this setting with the HostName parameter of the Set-CacheConfig command. View this setting with the Get-CacheConfig command.

Cache port number (default value is 22233)

The cachePort attribute in the host element. The host element is a child of the hosts element.

Assigned at installation time. Reconfigure this setting with the CachePortNumber parameter of the Set-CacheConfig command. View this setting with the Get-CacheConfig command.

Cluster port number (default value is 22234)

The clusterPort attribute in the host element. The host element is a child of the hosts element.

Assigned at installation time. Reconfigure this setting with the ClusterPortNumber parameter of the Set-CacheConfig command. View this setting with the Get-CacheConfig command.

Lead host designation

The quorumHost attribute in the host element. Values can be true or false. The host element is a child of the hosts element.

Assigned at installation time. Value can be true or false. For more information, see Lead Hosts and Cluster Management (Velocity).

Cache size (MB)

(total space allocated for storing data on the cache host)

The size attribute in the host element. The host element is a child of the hosts element.

Assigned at installation time. Reconfigure this setting with the CacheSize parameter of the Set-CacheConfig command. View this setting with the Get-CacheConfig command.

Low watermark

The lowWaterMark attribute in the host element. The host element is a child of the hosts element.

Assigned at installation time. Reconfigure this setting with the LowWM parameter of the Set-CacheConfig command. View this setting with the Get-CacheConfig command.

High watermark

The highWaterMark attribute in the host element. The host element is a child of the hosts element.

Assigned at installation time. Reconfigure this setting with the HighWM parameter of the Set-CacheConfig command. View this setting with the Get-CacheConfig command.

Cluster Configuration Storage Location Settings

The configuration storage location settings are assigned when "Velocity" is first installed. They describe the storage location and designate the cluster management role.

In the XML file, these settings are specified in the partitionStoreConnectionSettings element, a child of the advancedProperties element (which is a child of the dataCache element).

In PowerShell, the provider name and connection string must be specified when you set context to the cluster with the Use-CacheCluster command. If these parameters are not supplied to PowerShell, they are taken from the cluster configuration storage location.

The settings related to these properties are as follows:

Setting XML Configuration Location Setting assigned when…

Provider name

The providerName attribute in the partitionStoreConnectionSettings element, a child of the advancedProperties element.

Assigned during installation. Used for the ProviderName parameter of the Use-CacheCluster command. Options are System.Data.SqlServerCe.3.5, for a shared network folder or System.Data.SqlClient for a SQL Server database.

Cluster connection string

The connectionString attribute in the partitionStoreConnectionSettings element, a child of the advancedProperties element.

Assigned during installation. Used for the ConnectionString parameter of the Use-CacheCluster command. For example, \\ConfigFileServer\ClusterSettings for a shared network folder named ClusterSettings on a network file server named ConfigFileServer or Server=SQLServer1;Database=ClusterConfigurationDB;Trusted_Connection=true for a SQL Server database named ClusterConfigurationDB located on an instance of SQL Server named SQLServer1 using Windows integrated authentication.

Cluster Management Role

The leadHostManagement attribute of the partitionStoreConnectionSettings element, a child of the advancedProperties element. Values are true for lead hosts or false for SQL Server. If cluster configuration settings are stored in a shared folder, the only valid value is true.

The cluster management role is assigned at installation time depending on where you store your cluster configuration settings. For more information, see Lead Hosts and Cluster Management (Velocity).

Crash Dump Settings

If the cache host Windows service fails on a cache server, the crash information can be stored in a crash log file. The crash dump settings specify the type of information that should be written to the file. The crash dump settings are specified in the crashDumpProperties element, a child of the advancedProperties element (which is a child of the dataCache element).

It is not possible to set the crash dump settings with PowerShell directly. To configure them, use the Import-CacheClusterConfig and Export-CacheClusterConfig cmdlets to edit the settings with XML. For more information, see How to: Edit Cluster Configuration Settings (Velocity).

If the crashDumpProperties element is not present in the cluster configuration settings, no crash log file will be created at the time of a cache host service failure. As seen in the following example, this element has two attributes that describe the crash dump settings, overWriteDumpFile and miniDumpType.

<!-- enable MiniDumpNormal, MiniDumpWithFullMemory,
     MiniDumpWithHandleData, MiniDumpWithUnloadedModules,
     and replace existing crash log file -->
<crashDumpProperties miniDumpType="38" overWriteDumpFile="true" />

The overWriteDumpFile attribute specifies if the crash log file should be replaced another crash log file if one is already present in the folder. If false, the new information will be appended to the existing file.

The miniDumpType attribute is a decimal value representing the hexadecimal Or of one or more crash dump settings listed in the following table.

Crash dump setting Hexadecimal value

MiniDumpNormal

0x00000000

MiniDumpWithDataSegs

0x00000001

MiniDumpWithFullMemory

0x00000002

MiniDumpWithHandleData

0x00000004

MiniDumpFilterMemory

0x00000008

MiniDumpScanMemory

0x00000010

MiniDumpWithUnloadedModules

0x00000020

MiniDumpWithIndirectlyReferencedMemory

0x00000040

MiniDumpFilterModulePaths

0x00000080

MiniDumpWithProcessThreadData

0x00000100

MiniDumpWithFullMemoryInfo

0x00000800

MiniDumpWithThreadInfo

0x00001000

MiniDumpWithCodeSegs

0x00002000

MiniDumpWithoutManagedState

0x00004000

To specify the desired crash dump settings, Or the hexadecimal values corresponding to the settings you want. Then, set the miniDumpType attribute equal to the decimal equivalent of the hexadecimal Or operation result.

For example, when selecting MiniDumpNormal (0), MiniDumpWithFullMemory (2), MiniDumpWithHandleData (4), and MiniDumpWithUnloadedModules (20), the Or of the corresponding hexadecimal values "add up" to 0x26, a hexadecimal 26. To select these options, the miniDumpType attribute should be 38, the decimal equivalent to hexadecimal 26.

Note

Recent Microsoft Windows operating systems provide a Calculator program that offers a Scientific view that simplifies hexadecimal arithmetic and conversion to decimal.

See Also

Tasks

How to: Edit Cluster Configuration Settings (Velocity)

Concepts

Cluster Configuration Storage Options (Velocity)
Cache Administration with PowerShell (Velocity)
Application Configuration Settings (Velocity)
Log Sink Settings (Velocity)

Other Resources

Configuring the Cache Cluster (Velocity)
Installation and Deployment (Velocity)
Cache Concepts (Velocity)
Programming Guide (Velocity)