HP StorageWorks Storage Mirroring for Linux User's Guide (T2558-96317, June 2009)

9 - 8
Queuing Storage Mirroring data
During the Storage Mirroring installation, you identified the amount of disk space that can be used
for Storage Mirroring queuing. Queuing to disk allows Storage Mirroring to accommodate high volume
processing that might otherwise fill up system memory. For example, on the source, this may occur
if the data is changing faster than it can be transmitted to the target, or on the target, a locked file
might cause processing to backup.
Understanding queuing
The following diagram will help you understand how queuing works. Each numbered step is described
after the diagram.
1. If data cannot immediately be transmitted to the target, it is stored, or queued, in system
memory. You can configure how much system memory you want to use for queuing. By default,
128 or 512 MB of memory is used, depending on your operating system.
2. When the allocated amount of system memory is full, new changed data bypasses the full
system memory and is queued directly to disk. Data queued to disk is written to a transaction
log. Each transaction log can store 5 MB worth of data. Once the log file limit has been reached,
a new transaction log is created. The logs can be distinguished by the file name which includes
the target IP address, the Storage Mirroring port, the connection ID, and an incrementing
sequence number.
3. When system memory is full, the most recent changed data is added to the disk queue, as
described in step 2. This means that system memory contains the oldest data. Therefore, when
data is transmitted to the target, Storage Mirroring pulls the data from system memory and
sends it. This ensures that the data is transmitted to the target in the same order it was changed
on the source. Storage Mirroring automatically reads operations from the oldest transaction log
file into system memory. As a transaction log is depleted, it is deleted. When all of the
transaction log files are deleted, data is again written directly to system memory (step 1).
4. To ensure the integrity of the data on the target, the information must be applied in the same
order as it was on the source. If there are any delays in processing, for example because of a
locked file, a similar queuing process occurs on the target. Data that cannot immediately be
applied is queued to system memory. By default, 128 or 512 MB of memory is used, depending
on your operating system.
5. When the allocated amount of system memory on the target is full, new incoming data bypasses
the full system memory and is queued directly to disk. Data queued to disk is written to a
transaction log. On the target, the transaction logs are identified with the source IP address, the
Storage Mirroring port, the connection ID, and an incrementing sequence number.
NOTE: You may notice transaction log files that are not the defined size limit. This is because
data operations are not split. For example, if a transaction log has 10 KB left until the
limit and the next operation to be applied to that file is greater than 10 KB, a new
transaction log file will be created to store that next operation. Also, if one operation
is larger than the defined size limit, the entire operation will be written to one
transaction log.
2
System Memory
100.10.10.9_1100_1_1.xlog
100.10.10.9_1100_1_4.xlog
100.10.10.9_1100_1_2.xlog
100.10.10.9_1100_1_3.xlog
System Memory
Target Server
3
5
216.234.244.47_1100_1_1.xlog
216.234.244.47_1100_1_4.xlog
216.234.244.47_1100_1_2.xlog
216.234.244.47_1100_1_3.xlog
File Change
1
File Change
6
4
Applied
Source Server