Veritas Volume Replicator Planning and Tuning Guide
Veritas Volume Replicator Planning and Tuning Guide
Veritas Volume Replicator Planning and Tuning Guide
AIX
5.0
N18483J
Technical support
For technical assistance, visit http://support.veritas.com and select phone or email support. Use the Knowledge Base search feature to access resources such as TechNotes, product alerts, software downloads, hardware compatibility lists, and our customer email notification service.
Contents
Chapter 1
Chapter 2
Glossary Index
47
51
Chapter
volume, the file system is the application; if the database writes directly to a data volume, then it is considered the application.
Figure 1-1
When a write is performed on a data volume associated with a Replicated Volume Group (RVG), VVR copies the data into a kernel buffer on the Primary. VVR then writes a header and the data to the SRL; the header describes the write. From the kernel buffer, VVR sends the write to all Secondary hosts and writes it to the Primary data volume. Writing the data to the Primary data volume is performed asynchronously to avoid adding the penalty of a second full disk write to the overall write latency. Until the data volume write to the Primary is complete, the kernel buffer cannot be freed.
For all Secondary hosts replicating in synchronous mode, VVR first sends the write to the Primary SRL. VVR then sends the write to the Secondary hosts and waits for a network acknowledgement that the write was received. When all Secondary hosts replicating in synchronous mode have acknowledged the write, VVR notifies the application that the write is complete. The Secondary sends the network acknowledgement as soon as the write is received in the VVR kernel memory on the Secondary. The application does not need to wait for the full disk write, which improves performance. The data is subsequently written to the Secondary data volumes. When the write is completed on the Secondary data volumes, VVR sends a data acknowledgement back to the Primary. For all Secondary hosts replicating in asynchronous mode, VVR notifies the application that the write is complete after it is written to the Primary SRL. Therefore, the write latency consists of the time to write to the SRL only. VVR then sends the write to the Secondary hosts. The Secondary sends a network acknowledgement to the Primary as soon as the write is received in the VVR kernel memory on the Secondary. When the write is completed on the Secondary data volumes, VVR sends a data acknowledgement back to the Primary. The application considers the write complete after receiving notification from VVR that the data is written to the Primary SRL, and, for any Secondary hosts replicating in synchronous mode, that the write has been received in the kernel buffer. However, VVR continues to track the write until the data acknowledgement is received from all the Secondary hosts. If the Secondary crashes before writing to the data volumes on the Secondary or if the Primary crashes before it receives the data acknowledgement, the write can be replayed from the SRL.
The amount of data that can be lost if a disaster occurs and yet continue the business successfully The amount of time acceptable to recover the data after the disaster and continue the business successfully
In a traditional tape backup scheme, the amount of data lost in a disaster can be large, depending on the frequency of backup and tape vaulting. Also, the recovery time from a tape backup can be significant. In a VVR environment, recovery time is negligible and the amount of data lost depends on the following factors:
Mode of replication Network bandwidth Network latency between the Primary and the Secondary Ability of the Secondary data volumes to keep up with the write rate
If the data on the Secondary must be as up to date as possible, we recommend that you use synchronous mode and provide the same bandwidth as the peak rate at which the application writes on the Primary. However, if the Secondary can be allowed to lag behind, we recommend that you use asynchronous mode and provide the same bandwidth as the average rate at which the application writes on the Primary. These decisions are determined by your business needs.
11
Average application write rate Peak application write rate Period of peak application write rate
For a more volatile application, a table of measured usages over specified intervals may be needed. Because matching application write rate to disk capacity is not an issue unique to replication, it is not discussed here. It is assumed that an application is already running, and that Veritas Volume Manager (VxVM) has been used to configure data volumes to support the write rate needs of the application. In this case, the application write rate characteristics may already have been measured. If the application characteristics are not known, they can be measured by running the application and using a tool to measure data written to all the volumes to be replicated. If the application is writing to a file system rather than a raw data volume, be careful to include in the measurement all the metadata written by the file system as well. This can add a substantial amount to the total amount of replicated data. For example, if a database is using a file system mounted on a replicated volume, a tool such as vxstat (see vxstat(1M)) correctly measures the total data written to the volume, while a tool that monitors the database and measures its requests fails to include those made by the underlying file system. It is also important to consider both peak and average write rates of the application. These numbers can be used to determine the type of network connection needed. For Secondary hosts replicating in synchronous mode, the network must support the peak application write rate. For Secondary hosts replicating in asynchronous mode that are not required to keep pace with the Primary, the network only needs to support the average application write rate. Finally, once the measurements are made, the numbers calculated as the peak and average write rates should be close to the largest obtained over the measurement period, not the averages or medians. For example, assume that measurements are made over a 30-day period, yielding 30 daily peaks and 30 daily averages, and then the average of each of these is chosen as the application peak and average respectively. If the network is sized based on these values, then for half the time there will be insufficient network capacity to keep up with
the application. Instead, the numbers chosen should be close to the highest obtained over the period, unless there is reason to doubt that they are valid or typical.
13
Thus, synchronous mode can significantly decrease application performance by adding the network round trip to the latency of each write request. If you choose synchronous mode, you must consider what VVR should do if there is a network interruption. In synchronous mode, the synchronous attribute enables you to specify what action is taken when the Secondary is unreachable. The synchronous attribute can be set to override or fail. When the synchronous attribute is set to override, synchronous mode converts to asynchronous during a temporary outage. In this case, after the outage passes and the Secondary catches up, replication reverts to synchronous. When the synchronous attribute is set to fail, the application receives a failure for writes issued while the Secondary is unreachable. The application is likely to fail or become unavailable, and hence this setting must be chosen only if such a failure is preferable to the Secondary being out of date. We recommend setting the synchronous attribute to override, as this behavior is suitable for most applications. Setting the synchronous attribute to fail is suitable only for a special class of applications that cannot have even a single write difference between the Primary and Secondary data volumes. In other words, this mode of operation must be used only if you want an application write to fail if the write cannot be replicated immediately. It is imperative that the network connection between hosts using this option must be highly reliable to avert unnecessary application downtime as network outage could cause an application outage.
and applied to the data volumes even though the application correctly receives failure for these writes. This happens because the data volume writes are asynchronous regardless of the mode of replication. For more information about the sequence of operations, see Data flow in VVR on page 8. The state of the running application on the Primary at this time is no different from that of the application brought up on the Secondary after changing its role to Primary. However, the actual contents of the Primary data volumes and the Secondary data volumes differ, and the Primary data volumes are ahead by these last writes. Note that as soon as the synchronous RLINK connects, these writes will reach the Secondary, and then the data volumes on the Primary and the Secondary have the same contents. Also, note that at no time is the data consistency being compromised. If the application is stopped or crashes at this point and is restarted, it recovers using the updated contents of the data volumes.The behavior of the application on the Primary could be different from the behavior of the application when it is brought up on the Secondary after changing its role of the Secondary to Primary, while the RLINK was still disconnected. In the case of a database application, these writes might be the ones that commit a transaction. If the application tries to recover using the data volumes on the Primary, it will roll forward the transaction because the commit of the transaction is already on the data volume. However, if the application recovers using the data volumes on the Secondary after changing its role to Primary, it will roll back the transaction. This case is no different from that of an application directly writing to a disk that fails just as it completes part of a write. Part of the write physically reaches the disk but the application receives a failure for the entire write. If the part of the write that reached the disk is the part that is useful to the application to determine whether to roll back or roll forward a transaction, then the transaction would succeed on recovery even though the transaction was failed earlier. It could also happen that a write was started by the application and the RLINK disconnected and now before the next write is started, the RLINK reconnects. In this case, the application receives a failure for the first write but the second write succeeds. Different applications, such as file systems and databases, deal with these intermittent failures in different ways. The Veritas File System handles the failure without disabling the file or the file system. When the synchronous attribute is set to fail, application writes may fail if the RLINK is disconnected. Because auto synchronization or resychronizing
15
requires the RLINK to disconnect in order to completely drain the SRL, to avoid application errors note the following:
when failing back after takeover, do not start the application on the Primary until the DCM replay is complete, or change the replication mode to asynchronous mode temporarily until the DCM replay completes. when synchronizing a Secondary using autosync or with DCM replay, change the replication mode to asynchronous mode temporarily until the synchronization completes.
Asynchronous mode
Asynchronous mode
Could result in data latency on the Secondary. You need to consider whether or Does not require latency protection (because the Secondary is always current). not it is acceptable to lose committed transactions if a disaster strikes the Primary, and if so, how many. VVR enables you to manage latency protection, by specifying how many outstanding writes are acceptable, and what action to take if that limit is exceeded.
17
RPO in writes. Average write rate. Average available network bandwidth. Average write size. Maximum time required by the SRL to drain from the latency high mark to the latency low mark. This is the timeout value of the application which is the most sensitive, i.e., the application with the LOWEST timeout value among all using volumes from the RVG. Number of writes already logged in the SRL.
Based on specific requirements, set the user-defined latency high mark to an acceptable RPO value, in terms of number of writes. Thus, the value that should be set for the latency high mark is calculated as RPO in writes divided by average write size. Set the latency low mark value such that the stalling of writes does not affect any application. Thus, assuming that the average network rate is greater than or equal to the average write rate calculate the effective SRL drain rate as average network rate - average write rate. Once this value is obtained the latency low mark value is calculated as:
latency high mark -(Effective SRL drain rate * lowest timeout)/ average write size
19
The replication parameter srlprot can be used to prevent the SRL from overflowing and has an effect similar to latencyprot. However, the srlprot attribute is set to autodcm by default, which allows the SRL to overflow and convert to dcm_logging mode. As a result, there is no effect on write performance, but the Secondary is allowed to fall behind and is inconsistent while it resynchronizes. For more information, refer to the Veritas Volume Replicator Administrators Guide.
21
situations. The latencyprot and srlprot features, when enabled, can both have this effect. These features are discussed fully in Choosing latency and SRL protection on page 18. To avoid problems caused by insufficient network bandwidth, apply the following principles:
If synchronous mode is used, the network bandwidth must at least match the application write rate during its peak usage period; otherwise, the application is throttled. However, this leaves excess capacity during nonpeak periods, which is useful to allow synchronization of new volumes using checkpoints as described in Peak usage constraint on page 27. If only asynchronous mode is used, and you have the option of allowing the Secondary to fall behind during peak usage, then the network bandwidth only needs to match the overall average application write rate. This might require the application to be shut down during synchronization procedures, because there is no excess network capacity to handle the extra traffic generated by the synchronization. If asynchronous mode is used with latencyprot enabled to avoid falling too far behind, the requirements depend on how far the Secondary is allowed to fall behind. If the latency high mark is small, replication will be similar to synchronous mode and therefore must have a network bandwidth sufficient to match the application write rate during its peak usage period. If the latency high mark is large, the Secondary can fall behind by several hours. Thus, the bandwidth only has to match the average application write rate. However, the RPO may not be met.
Description
IANA approved port for heartbeat communication between the Primary and Secondary. IANA approved port for communication between the vradmind daemons on the Primary and the Secondary. Communication between the in.vxrsyncd daemons, which are used for differences-based synchronization. Ports used for each Primary-Secondary connection for data replication between the Primary and the Secondary. One data port is required on each host.
TCP 8199
TCP 8989
23
By default, VVR uses the following ports when replicating data using TCP. Port Numbers
UDP 4145
Description
IANA approved port for heartbeat communication between the Primary and Secondary. IANA approved port for TCP Listener port. IANA approved port for communication between the vradmind daemons on the Primary and the Secondary. Communication between the in.vxrsyncd daemons, which are used for differences-based synchronization. Ports used for each Primary-Secondary connection for data replication between the Primary and the Secondary. One data port is required on each host.
TCP 8989
The vrport command enables you to view and change the port numbers used by VVR. For instructions, see the Veritas Volume Replicator Administrators Guide.
the port used for heartbeats the port used by the vradmind daemon and
the port used by the in.vxrsyncd daemon. Use the vrport command to display information about the ports and to change the ports being used by VVR. 2 Set a restricted number of ports to replicate data between the Primary and the Secondary. The operating system assigns anonymous port numbers by default. Most operating systems assign anonymous port numbers between 32768 and 65535. For each Primary-Secondary connection, one data port is required. Use the vrport command to specify a list of ports or range of ports to use for VVR. In the firewall, enable the ports that have been set in step 2.
25
losses on the network because the packets are going through routers that do not support IP fragmentation and have a smaller MTU than your network device. In this case, make the MTU size the same as the MTU size of the router with the smallest MTU in the network.
It must not overflow for asynchronous RLINKs during periods of peak usage when replication over the RLINK may fall far behind the application. It must not overflow while a Secondary RVG is being synchronized. It must not overflow while a Secondary RVG is being restored. It must not overflow during extended outages (network or Secondary node).
Note: The size of the SRL must be at least 110 MB. If the size that you have specified for the SRL is less than 110 MB, VVR displays an error message which prompts you to specify a value that is equal to or greater then 110 MB. To determine the size of the SRL, you must determine the size required to satisfy each of these constraints individually. Then, choose a value at least equal to the maximum so that all constraints are satisfied. The information needed to perform this analysis, presented below, includes:
The maximum expected downtime for Secondary nodes The maximum expected downtime for the network connection The method for synchronizing Secondary data volumes with data from Primary data volumes. If the application is shut down to perform the synchronization, the SRL is not used and the method is not important. Otherwise, this information could include: the time required to copy the data over a network, or the time required to copy it to a tape or disk, to send the copy to the Secondary site, and to load the data onto the Secondary data volumes.
27
Note: If the Automatic Synchronization option is used to synchronize the Secondary, the previous paragraph is not a concern. If you are going to perform Secondary backup to avoid complete resynchronization in case of Secondary data volume failure, the information needed also includes:
The frequency of Secondary backups The maximum expected delay to detect and repair a failed Secondary data volume The expected time to reload backups onto the repaired Secondary data volume
Note: In a shared environment, you must consider the write rates on all the nodes in the cluster. The application write rate (BWAP) should reflect the aggregate of the write rates on each node.
For each interval, accumulate all the SRL usage values to find the cumulative SRL log size (LS):
LSn =
i=1...n
LUi
The largest value obtained for any LSn is the value that should be used for SRL size as determined by the peak usage constraint. See the table Example calculation of SRL size required to support peak usage period on page 28, which shows an example of this calculation. The third column, Application, contains the maximum likely application write rate per hour obtained by measuring the application as discussed in Understanding application characteristics on page 11. The fourth column, Network, shows the network bandwidth. The fifth column, SRL Usage, shows the difference between application write rate and network bandwidth obtained for each interval. The sixth column, Cumulative SRL Size, shows the cumulative difference every hour. The largest value in column 6 is 37 gigabytes. The SRL should be at least this large for this application. Note that several factors can reduce the maximum size to which the SRL can fill up during the peak usage period. Among these are:
The latencyprot characteristic can be enabled to restrict the amount by which the RLINK can fall behind, slowing down the write rate. The network bandwidth can be increased to handle the full application write rate. In this example, the bandwidth should be 15 gigabytes/hourthe maximum value in column three. Example calculation of SRL size required to support peak usage period Hour Ending Application (GB/hour)
8 a.m. 9 10 11 12 p.m. 1 6 10 15 15 10 2
29
Example calculation of SRL size required to support peak usage period Hour Ending Application (GB/hour)
2 3 4 5 6 6 8 8 7 3
Note: In a shared environment, the values in the Application column should include write rates on all the nodes. For example, if in one hour, the write rate on seattle1 is 4 GB and the write rate on seattle2 is 2 GB, the application write rate is 6 GB/hour.
Depending on your needs, it may or may not be possible to schedule the synchronization during periods of low application write activity. If it is possible to complete the synchronization process during a period of low application write activity, then you must ensure that the SRL is sized such that it can hold all the incoming writes during this period. Otherwise, the SRL may overflow. For more information on how to arrive at an optimum SRL size, refer to the Veritas Volume Replicator Advisor Users Guide. If however there is an increase in the application write activity then you may need to resize the SRL even when the synchronization is in progress. For more information on resizing the SRL, see section Resizing the SRL in the Veritas Volume Replicator Administrators Guide. If it is not possible to complete the synchronization process during periods of low application write activity, then size the SRL such that it uses either the average value, or to be safer, the peak value. For more information, see section Understanding application characteristics on page 11.
Thus, given an application write rate and frequency of Secondary backups, it is possible to come up with a minimal SRL size. Realistically, an extra margin should be added to an estimate arrived at using these figures to cover other possible delays, including:
Maximum delay before a data volume failure is detected by a system administrator. Maximum delay to repair or replace the failed drive. Delay to reload disk with data from the backup tape.
31
To arrive at an estimate of the SRL size needed to support this constraint, first determine the total time period the SRL needs to support by adding the period planned between Secondary backups to the time expected for the three factors mentioned above. Then, use the application write rate data to determine, for the worst case, the amount of data the application could generate over this time period. Note: Even if only one volume failed, all volumes must be restored.
Additional factors
Once estimates of required SRL size have been obtained under each of the constraints described above, several additional factors must be considered. For the synchronization period, downtime and Secondary backup constraints, it is not unlikely that any of these situations could be immediately followed by a
period of peak usage. In this case, the Secondary could continue to fall further behind rather than catching up during the peak usage period. As a result, it might be necessary to add the size obtained from the peak usage constraint to the maximum size obtained using the other constraints. Note that this applies even for synchronous RLINKs, which are not normally affected by the peak usage constraint, because after a disconnect, they act as asynchronous RLINKs until caught up. Of course, it is also possible that other situations could occur requiring additions to constraints. For example, a synchronization period could be immediately followed by a long network failure, or a network failure could be followed by a Secondary node failure. Whether and to what degree to plan for unlikely occurrences requires weighing the cost of additional storage against the cost of additional downtime caused by SRL overflow. Once an estimate has been computed, one more adjustment must be made to account for the fact that all data written to the SRL also includes some header information. This adjustment must take into account the typical size of write requests. Each request uses at least one additional disk block (512) for header information, so the adjustments are as follows: If Average Write Size is:
512 bytes
1K
2K
4K
8K
10K
16K
32K or more
Example
This section shows how to calculate the SRL size for a VVR configuration. First, collect the relevant parameters for the site. For this site, they are as follows:
Application peak write rate Duration of peak Application off-peak write rate 1 gigabyte/hour 8 am - 8 pm 250 megabytes/hour
33
Average write size Number of Secondary sites Type of RLINK Synchronization Period: application shutdown copy data to tape send tapes to Secondary site load data Total Maximum downtime for Secondary node Maximum downtime for network Secondary backup
2 kilobytes
1
synchronous=override
no
3 hours
4 hours
3 hours
10 hours
4 hours
24 hours
not used
Because synchronous RLINKs are to be used, the network bandwidth must be sized to handle the peak application write rate to prevent the write latency from growing. Thus, the peak usage constraint is not an issue, and the largest constraint is that the network could be out for 24 hours. The amount of data accumulating in the SRL over this period would be: (Application peak write rate x Duration of peak) + (Application off-peak write rate x Duration of off peak). In this case, the calculation would appear as follows:
1 GB/hour x 12 hours+ 1/4 GB/hour x 12 = 15 GB
An adjustment of 25% is made to handle header information. Since the 24-hour downtime is already an extreme case, no additional adjustments are needed to handle other constraints. The result shows that the SRL should be at least 18.75 gigabytes.
Chapter
SRL layout
This section explains how the SRL affects application performance and how a good SRL layout can improve performance.
The writes to SRL are sequential, whereas, the writes to the data volumes
are spatially random in most cases. Typically, sequential writes are processed faster than the random writes.
slow. The following sections explain how to lay out the SRL to improve performance.
37
Tuning VVR
This section describes how to adjust the tunable parameters that control the system resources used by VVR. Depending on the system resources that are available, adjustments may be required to the values of some tunable parameters to optimize performance. You can modify these tunables by setting their values using the System Management Interface Tool (SMIT). To modify these tunables, choose Volume Manager > Change/Show VxVM Tunables. For details, refer to Chapter 8, Configuring and Administering VVR Using System Management Interface Tool. For instructions on changing the value of tunables, refer to the Veritas Volume Replicator Administrators Guide. Note that in a shared disk group environment, each of the VVR buffer spaces must be set to the same value on each node.
Write buffer space on the Primary Readback buffer space on the Primary Buffer space on the Secondary
In a private disk group or in a shared disk group that uses write shipping, the buffer is not released until the data has been written to the Primary SRL and sent to all the Secondaries in synchronous mode. If the Secondaries in asynchronous mode cannot keep up with the application write rate, the data to be sent to the Secondary starts accumulating in the write-buffer space on the Primary. As a result, write-buffer space on the Primary becomes low. Then, VVR begins to free some buffers and postpones sending the data to the Secondaries in asynchronous mode. As a result, more space is freed up for incoming write requests so that they are not delayed.
39
Use the vxmemstat command to monitor the buffer space used by VVR. The following sections describe each of the above tunables. For instructions on changing the value of the tunable parameters, refer to the Veritas Volume Replicator Administrators Guide.
Tunable parameters for the write buffer space on the Primary in a private disk group
The following tunable parameters control the write buffer space on the Primary in a private disk group:
vol_rvio_maxpool_sz vol_min_lowmem_sz
The amount of buffer space that can be allocated within the operating system to handle incoming writes is defined by the tunable vol_rvio_maxpool_sz, which defaults to 128MB. Figure 2-2 How VVR uses buffers between the Primary and Secondary
If the available buffer space is not sufficient to process the write request, writes are held up. VVR must wait for current writes to complete and release the memory being used before processing new writes. Furthermore, when the b uffer space is low, VVR frees buffers early, requiring VVR to read back the write from the SRL, as explained in Write buffer space on the Primary on page 37. Both these problems can be alleviated by increasing vol_rvio_maxpool_sz. By setting the vol_rvio_maxpool_sz to be large enough to hold the incoming writes, you can increase the number of concurrent writes and reduce the number of readbacks from the SRL. When decreasing the value of the vol_rvio_maxpool_sz tunable, stop all the RVGs on the system on which you are performing this operation.
41
When deciding whether or not a given write is freed early and read back later, VVR looks at the amount of buffer space available, and frees the write if the amount is below a threshold, which is 10% of vol_rvio_maxpool_sz. This threshold is too low in some cases, which results in buffers being held for a long time. New writes cannot be performed because of lack of buffer space. You can raise the threshold by increasing the value of the tunable vol_min_lowmem_sz. It should be set to at least 3 x N x I, but not less than 520K, where N is the number of concurrent writes to replicated volumes, and I is the average I/O size, rounded up to 8 kilobytes. The vol_min_lowmem_sz tunable is auto-tunable and depending on the incoming writes, VVR will increase or decrease the tunable value. The value that you specify for the tunable, using the vxtune utility or the system-specific interface, will be used as an initial value and could change depending on the application write behavior. Note that this tunable is used only when replicating in asynchronous mode because SRL is not read back when replicating in synchronous mode. Use the vxrvg stats command to determine the maximum concurrency (N) and average write size (I).
need to increase this value if you have multiple Secondaries in asynchronous mode for one or more RVGs.
Use the vxmemstat command to monitor the buffer space. If the output indicates that the amount of space available is completely used, increase the value of the vol_max_rdback_sz tunable to improve readback performance. When decreasing the value of the vol_max_rdback_sz tunable, pause replication to all the Secondaries to which VVR is currently replicating.
Tunable parameters for the buffer space on the Primary in a shared disk group
In a shared disk group environment, the following tunable parameters control the buffer space on the Primary when replicating in asynchronous mode:
In asynchronous mode, the tunable parameters work the same way as described in the section Tunable parameters for the write buffer space on the Primary in a private disk group on page 40. The vol_rvio_maxpool_sz tunable applies
43
to all nodes. The vol_min_lowmem_sz vol_max_rdback_sz tunables are only applied on the logowner node. However, these tunables should also be set to the same values on all nodes, because any node may become the logowner at some time. In a shared disk group environment, the following tunable parameters control the buffer space on the Primary when replicating in synchronous mode:
vol_max_wrspool_sz vol_rvio_maxpool_sz
When replicating in synchronous mode, the vol_rvio_maxpool_sz tunable works as described in the Tunable parameters for the write buffer space on the Primary in a private disk group on page 40, except that it wont prevent readbacks. This tunable should be set on all nodes in the shared disk group. In addition, the amount of buffer space that can be allocated on the logowner to receive writes sent by the non-logowner is defined by the write ship bufffer space tunable vol_max_wrspool_sz, which defaults to 16MB. This tunable should be set to the same value on all nodes, because any node may become the logowner at some time. Figure 2-3 How VVR Uses Buffers on a Primary in a Shared Disk Group Environment for Synchronous RLINKs
Then, run the vxstat command to get the lowest write rate:
# vxstat -g diskgroup -i5
1663
0.0
9.0
45
0 0 0 0 0 0
0 0 0 0 0 0
9.0
5.9
12.1
11.1
0.0
0.0
0 0 0 0 0 0 0
20.1
10.1
5.9
14.4
10.0
0.0
0.0
For each interval, add the numbers in the blocks written column for data volumes, but do not include the SRL. Also, do not include any subvolumes. For example, archive-L01, and archive-L02 are subvolumes of the volume archive. The statistics of the writes to the subvolumes are included in the statistics for the volume archive. You may vary the interval, the total time you run the test, and the number of times you run the test according to your needs. In this example, the interval is 5 seconds and the count is in blocks, hence on a machine with 2 kilobytes of block size, the number of megabytes per interval, M, is (total * 2048)/(1024*1024), where total is the sum for one interval. Hence, for one second the number of megabytes is M/5 and the size of the buffer is (M/ 5)*50. If there is more than one Primary, do not increase the buffer size beyond this number. The writes to the SRL should not be considered part of the I/O load of the application. However, in asynchronous mode, the Secondary writes the incoming updates to both the Secondary SRL and the data volumes, so it may be necessary to make the value of vol_max_nmpool_sz slightly larger. However, to avoid the problems discussed at the beginning of this section, the calculated vol_max_nmpool_sz value should still ensure that writes do not remain in the pool for more than one minute.
Heartbeat timeout
VVR uses a heartbeat mechanism to detect communication failures between the Primary and the Secondary hosts. The RLINKs connect after the heartbeats are exchanged between the Primary and the Secondary. The RLINK remains connected while the heartbeats continue to be acknowledged by the remote host. The maximum interval during which heartbeats can remain unacknowledged is known as the heartbeat timeout value. If the heartbeat is not acknowledged within the specified timeout value, VVR disconnects the RLINK. The tunable vol_nm_hb_timeout enables you to specify the heartbeat timeout value. The default is 10 seconds. For a high latency network, increasing the default value of the tunable vol_nm_hb_timeout prevents the RLINKs from experiencing false disconnects.
Glossary
asynchronous
Asynchronous mode queues writes persistently and holds them at the Primary for later transmission. automatic synchronization
A feature of VVR that synchronizes the Secondary while the application is running on the Primary. buffer space
The memory used by VVR to process writes and perform replication. checkpoint
A feature of VVR that allows replay of the SRL from an earlier point than the current position. A checkpoint delineates with starting and ending points the sectionof the SRL to be replayed later. consistent
A term indicating that data is recoverable by the system or application using it; for example, a file system or database. In VVR, a Secondary that is consistent can be used for takeover. data volume
A volume that is associated with an RVG and contains application data. DCM (Data Change Map)
An object containing a bitmap that can be optionally associated with a data volume on the Primary RVG. The bits represent regions of data that are different between the Primary and the Secondary. The bitmap is used during synchronization and resynchronization. heartbeat protocol
The heartbeat protocol is a continuous exchange of messages to ensure that the nodes in an RDS will detect any network outage or a node crash. The protocol allows the nodes to reestablish a connection later. inconsistent
In VVR, a Secondary is inconsistent if it is not a viable candidate for takeover, because it is known that the application will not be able to recover. latency protection
For RLINKs operating in asynchronous mode, which may fall behind, the latency protection attribute (latencyprot) of theRLINK is used to limit the maxi um number of m outstanding write requests. The maximum number of outstanding write requests cannot exceed the value set in latency_high_mark, and cannot increase until the number of outstanding writes falls to the latency_low_mark.
48
latencyprot
See latency protection. logowner
The node on which VVR performs replication when replicating in a shared disk group environment. For synchronous RLINKs, VVR also performs writes on the logowner node. metadata shipping
The process of exchanging information between the non-logowner nodes that issue writes and the logowner, and then writing locally on the non-logowner nodes, when replicating in asynchronous mode. Primary node
The Primary node is where the application is running, and from which data is being replicated to the Secondary. Primary node SRL overflow
Because the Primary SRL is finite, prolonged halts in update activity to any RLINK can exceed the SRLs ability to maintain all the necessary update history to bring an RLINK up to-date. When this occurs, the RLINK is marked as STALE and requires manual recovery before replication can proceed. Primary Replicated Volume Group
See RVG (Replicated Volume Group). RDS (Replicated Data Set)
The group of the RVG on a Primary and the corresponding RVGs on one or more Secondary hosts. readback
The process of retrieving a write request from the SRL in order to send it across the RLINK. RLINK
An RLINK represents the communication link between the corresponding RVGs on the Primary and Secondary nodes. RVG (Replicated Volume Group)
A component of VVR that is made up of a set of data volumes, one or more RLINKs, and an SRL. VVR replicates from the Primary RVG, on the node where the application is running, to one or more Secondary RVGs. Secondary checkpoint
See checkpoint. Secondary node
The node to which VVR is replicating data from the Primary. Secondary Replicated Volume Group
See RVG (Replicated Volume Group). SRL (Storage Replicator Log)
49
The Storage Replicator Log (SRL) is a circular buffer of writes for an RVG. Writes stored in the SRL are waiting to be shipped to the Secondary from the Primary, or waiting to be written to the data volumes in the RVG. SRL overflow protection
A feature of VVR that ensures that a Secondary RVG does not require a full resynchronization after a Primary node SRL overflow. STALE
The RLINK state that indicates that the RLINK has either not been attached yet or it has overflowed. synchronization
The process of making the data on the Secondary identical to the data on the Primary. synchronous
In synchronous mode, the Secondary is kept up-to-date with the Primary by waiting for each write request to be acknowledged by the Secondary before the application sees the successful completion of the write on the Primary. throttling
A mechanism that delays incoming writes. update
Data from the Primary corresponding to an application write sent to the Secondary. Volume Replicator Objects
The objects used for replication such as RVG (Replicated Volume Group), SRL (Storage Replicator Log), RLINK, and DCM (Data Change Map). write shipping
The process of sending the writes issued on nodes other than the logowner over the cluster network to the logowner.
50
Index
applications characteristics 11 defined 7 write rates 11 asynchronous mode considerations 12 defined 47 asynchronous writes in VVR 9 Automatic Synchronization, about 47
backup constraints, Secondary 30 bandwidth, network 20 block size, DCM replay 45 buffer space defined 47
Primary 37
Secondary 38, 44
tunable parameters 39
VVR 37
business needs 10
inconsistent flag 47
C
checkpoints, about 47 chunk size, memory tunable 46 configuring VVR in a firewall environment 23 introduction 7 consistent, explained 47 constraints peak usage 27 Secondary backup 30 Secondary downtime 31 synchronization period 29
52
maximum bandwidth 20
maximum transmission unit, network 24
memory chunk size 46
mirroring the SRL 36
modes of replication
and network performance 20
asynchronous 12
synchronous 13
MTU, see maximum transmission unit
RDS 48
readback 48
readback buffer space on the Primary
explained 38
tunable parameter 41
Replicated Data Set 48
Replicated Volume Group 48
TCP 22
TCP ports 22
throttling 49
timeout, heartbeat 46
transmission unit, network maximum 24
tunable parameters, buffer spaces 39
tuning VVR 37
53
UDP 22
UDP ports 22
update 49
usage constraint, peak 27
vol_dcm_replay_size 45
vol_max_nmpool_sz 44
vol_max_rdback_sz 41
vol_max_wrspool_sz 43
vol_min_lowmem_sz 40, 42, 43
vol_nm_hb_timeout 46
vol_rvio_maxpool_sz 40, 42, 43
vol_vvr_use_nat 46
voliomem_chunk_size 46
Volume Replicator Objects 49
vrport command 23
VVR
buffer space 37
data flow in 8
processing writes 8
tuning 37
VVR and Network Address Translation firewall 46
vxmemstat command 39
vxstat command 11
54