Volume Replicator 7.4.1 Administrator's Guide - Windows
- Understanding Volume Replicator
- About Volume Replicator
- Basic Volume Replicator terms
- Building blocks of Volume Replicator
- Understanding replication in the Volume Replicator environment
- Modes of replication
- Understanding data flow in Volume Replicator asynchronous mode
- Managing data during failure and recovery
- Replication concepts
- About using Volume Replicator as a disaster recovery tool
- Understanding how Volume Replicator logs writes to the Replicator Log
- Understanding replication settings for a Secondary
- Measures to protect log overflow and replication latency
- Pausing the replication
- Synchronizing the Secondary
- Understanding Volume Replicator support for FlashSnap
- About Synchronized Snapshots
- Understanding Bunker replication
- Understanding Volume Replicator Support for TCP Multi-Connection
- About Volume Replicator memory monitoring and control support
- About Volume Replicator Graphs
- Setting up replication
- Security considerations for Volume Replicator
- Setting up replication using the Setup Replicated Data Set wizard
- Setting up the Bunker RVG for replication
- Using the VEA Console for Volume Replication Operations
- Monitoring replication
- Interpreting the information in the Volume Replicator views
- Monitoring replication using the VEA console
- Checking replication performance using vxrlink stats
- Administering Volume Replicator
- Adding volumes
- Administering the RVG
- Administering replication
- Managing checkpoints
- Pausing replication using Volume Replicator
- Creating snapshots for the data volumes
- Creating synchronized snapshots using the VSS Snapshot wizard
- Administering Bunker replication
- Performing disaster recovery operation
- Deleting Volume Replicator objects
- Accessing data on Secondary host
- Performing automated system recovery (ASR)
- Alternative methods to synchronize the Secondary faster
- Obtaining statistical information through Volume Replicator Graphs
- Using the command line interface
- Administering the RDS using the vxrds command
- Resizing the data volumes
- Displaying the network statistics for the RLINK
- Administering the RVGs using the vxrvg command
- Displaying information using the vxprint command
- Creating snapshots using the vxsnap command
- Administering replicated volumes using the vxvol command
- Displaying and changing replication ports using the vrport command
- Administering the RVG using the vxedit
- Administering the RVG using the vxassist command
- Tuning Volume Replicator
- Examples: Using the command line
- Example 1: Setting up replication using the command line interface
- Example 3: Using Bunker node for disaster recovery
- Example 4: Using synchronized snapshots to restore data
- Configuring Volume Replicator in a VCS environment
- Components of a VCS cluster
- Illustrating a highly available Volume Replicator setup
- How the agents work
- Configuring the agents
- Working with existing replication service groups
- Configuring Volume Replicator with Hyper-V
- Advanced settings in Volume Replicator
- Troubleshooting Volume Replicator
- Recommendations and checks
- Recovering from problems in a firewall or NAT setup
- Recovering from problems during replication
- Error when configuring the VxSAS Service
- Operation time-out errors
- Problems when configuring Volume Replicator in a VCS environment
- Problems when setting performance counters
- Appendix A. Services and ports
- Appendix B. Using the vxrsync utility
- Appendix C. VR Advisor (VRAdvisor)
Tuning Volume Replicator
Volume Replicator provides the vxtune command that enables you to tune memory tunables to best suit your environment. This command is especially useful if you want to experiment with different values to arrive at an optimum value that suits your requirements.
Syntax for vxtune command
vxtune [-r] [ <tunable> [<value>] ]
The following table describes the parameters that you can specify with the vxtune command.
Table: Parameters for vxtune command
Parameter | Description |
---|---|
tunable | Specifies the tunable name whose value you want to display or change. |
value | Specifies the value that you want to set for the tunable. |
Note:
The iopath_logging tunable should be enabled only after consulting the Support team. If enabled without caution, it can adversely affect the performance of Volume Replicator.
The following table describes various Volume Replicator memory tunables.
Table: Volume Replicator tunables
Tunable | Value |
---|---|
NMCOM_POOL_SIZE (vol_max_nmpool_sz) | Specifies the maximum memory that Volume Replicator uses on a Secondary, to hold the write requests coming from the Primary. The default value for this tunable is 131072 K, however you can specify a value from 4096K to 524288K. However, if you have assigned a lower value than the specified one, then you may need to restart the system for the changed values to get into effect. |
READBACK_POOL_SIZE (vol_max_rdback_sz) | Specifies the maximum memory that Volume Replicatoruses, when write requests are read back from the Replicator Log. The default value for this tunable is 262144 K. However, if you have assigned a lower value than the specified one, then you may need to restart the system for the changed values to get into effect |
BASE_MEMORY (vol_min_lowmem_sz) | Specifies the minimum threshold of available Volume Replicator memory that is needed to keep the write requests in memory on the Primary RVG before sending it to Secondary. The default value for this tunable is 1024K, however you can specify a value from 512K to 10240K. However, if you have assigned a lower value than the specified one, then you may need to restart the system for the changed values to get into effect. |
MAX_MEMORY (vol_rvio_maxpool_sz) | Specifies the maximum memory that is requested from the system by Volume Replicator for its use. The default value for this tunable is 32768K, however you can specify a value from 4096K to 1048576K. However, if you have assigned a lower value than the specified one, then you may need to restart the system for the changed values to get into effect. |
MAX_TCP_COUNT (max_tcp_conn_count) | Specifies the maximum number of TCP connections per RLINK. The default value for maximum TCP connections per RLINK is 64. This value is used as upper bound while calculating the number of connections required per RLINK. When the value is changed, the following message is displayed: Command executed successfully. Note: The changed value will get reflected only in the next connect cycle with the Secondary. To force reconnect, please pause and resume replication. |
NMCOM_MAX_MESSAGES (nmcom_max_msgs) | Specifies the number of outstanding messages waiting to be processed on the Secondary array. It takes the value from 128 K to 2048 K. The default value is 2048 K. It is recommended that the values for this tunable should be changed only after consulting the support team. |
MAX_RECEIVE_GAP (max_rcvgap) | Specifies the tolerable gap between the expected message ID and the actual out of order received message ID on the Secondary. It takes the value from 5 to 25, however, the default value is 5. Values for this tunable should be altered only after consulting the support team. |
RLINK_READBACK_LIMIT (rlink_rdbklimit) | Specifies the upper limit that is allocated for per RLINK readback memory. You can specify a value from 4096K to 65536K. The default value, however, is 262144K. Values for this tunable should be changed with the assistance of support team |
COMPRESSION_SPEED (compression_speed) | Specifies the current speed limit of the compression that Volume Replicator performs. The default value for this tunable is 7. You can specify a value ranging from 1 to 9. Examples:
The compression speed is inversely proportionate to the compression that Volume Replicator performs. If compression_speed value is smaller, then the amount of data that gets compressed is larger. If the value is bigger, then the amount of compressed data is smaller. |
COMPRESSION_THREAD (compression_threads) | Specifies the number of threads that are dedicated for compression and decompression of data. It can take values in the range 1 to 63. The default value is 10. Its value can be displayed or set through the vxtune command. Examples:
The maximum value to which compression_threads value can be set depends on the number of CPUs the system has. If CPU usage is very high during compression, then you can change the compression_threads value to lower the CPU usage. However, setting the tunable value to a very low value can considerably increase the data compression time. |
COMPRESSION_WINDOW (compression_window) | Specifies the data window size in kilobytes (KB) for compression. The default value for this tunable is 0, which means a window of unlimited size. If compression_window tunable is set to a default value of 0, then almost all of the data that is sent to the DR site is sent in a compressed state when the RLINK is set with COMPRESSION_ENABLED flag. Data compression can sometimes cause high amount of CPU or memory consumption. The compression_window tunable can be set to reduce the resource usage. If compression_window size is set to a smaller value, then the amount of data that gets compressed on the primary is less and the remaining data is sent in an uncompressed form to the secondary. However, if this tunable is set with a high value, then large amount of data is sent to the secondary in a compressed form. Examples:
|
COMPRESSION_THRESHOLD (compression_threshold) | Specifies the CPU usage threshold after which Volume Replicator starts reducing the compression_thread to reduce the CPU utilization and, if required, disable Volume Replicator compression. This value is node-specific and is applicable on both Primary and Secondary. You can specify a value from 0 to 100. The default value is 0. You can disable Adaptive Compression by specifying this value as 0. When the RLINK is set with COMPRESSION_ENABLED flag, data compression can sometimes cause high amount of CPU consumption. The compression_threshold tunable can be set to reduce the CPU usage. If compression_threshold size is set to a value other than zero (for example, 30) and the CPU consumption goes beyond the mentioned threshold, then Volume Replicator starts decreasing the rate of compression on the Primary or decompression on the Secondary depending on the node on which the value is set. Examples:
|
FORCE_MAX_CONNECTION (force_max_conn) | Specifies whether to force Volume Replicator to use the maximum number of TCP connections. It takes the value of either True or False. If this tunable is set to True, then the automatic way of estimating the number of connections that are required for RLINK based on latency of network can be overridden and the value specified for max_tcp_conn_count can be used instead |
NETWORK_LOSS_TOLERANC (rp_incr_decr) | Specifies the degree of network loss-tolerance during replication. Increasing the value of rp_incr_decr increases the degree of network error tolerance. The default value of rp_incr_decr is 8, which works fine for good networks. However, it takes value between 1 to 100. This tunable should be changed only after consulting the support team. |
TCP_SOURCE_RESTRICT (tcp_src_port_restrict) | Specifies whether to restrict the TCP source port usage of Volume Replicator data connections. This tunable takes the value of either True or False. The value is shown as True when data port range is used for source ports. These range of ports should be opened as source ports in firewall. To get multi-connection working across a firewall or NAT environment, you are required to open port 4145 for both UDP and TCP. |
IOPATH_LOGGING (iopath_logging) | Specifies whether to enable IO path logging and takes the value of either True or False. By setting iopath_ logging to True, extra log messages get logged to the log files which help in debugging certain issues in I/O. However, the extra log messages can affect the I/O performance adversely. |
NAT_SUPPORT (nat_support) | This tunable specifies the presence of Network Address Translation (NAT) in the network. Use the vxtune command to see whether NAT is enabled or not. It takes the value of either True or False. When NAT support is enabled, the value is shown as True and when disabled it is shown as False. |
HB_TIMEOUT (hb_timeout) | Specifies the number of heartbeat messages that can be missed before the RLINK gets disconnected. The default value is 15 and it can take values from 1 to 60. It should only be tuned for lossy networks where the Volume Replicator frequently disconnects the RLINKs because it doesn't receive heartbeat messages. |
TCP_ROUND_ROBIN (tcp_round_robin) | Specifies whether Volume Replicator should use round-robin method of sending data over multiple TCP connections. The value can be either True or False. |
DHCP_IP_Support (dhcp_ip_support) | Determines whether or not DHCP IPs can be used while configuring Volume Replicator. The value can either be True or False. This tunable must be enabled if you plan to set up replication in an Azure environment. DHCP IP addressess are assigned to the virtual machines that are created in an Azure environment. To identify the DHCP IP addresses, DHCP_IP tunable must be set to True. |
IP mode (ip_mode) | Sets the IP family for replication when host names are specified. The valid values are ipv4 and ipv6, and the default is ipv4. When you specify this parameter and its value, the vxtune command updates the corresponding registry value:
In case of dual stack, if only one IP family exists on the host, the host name is resolved to that type of address. |