Important: For the replication feature, both the source and target VTL systems need to upgraded to the same version

VCartridges in a VTL can be replicated to another VTL system either manually or automatically.
Automatic replication for VCartridges is done when either of the following is true

  • If the storage pool of the vcartridge has auto-replication enabled
  • If the VTL has a remote host set

Auto-replication can be enabled by modifying a storage pool. See Configuring Storage Pools

Remote host for a VTL can be set by modifying the VTL properties. See Configuring a Virtual Tape Library

Additional Requirements

The following are the additional requirements for a successful VTL replication operation

  • The destination VTL must have a storage pool with a name that matches the pool name of the source vcartridge
  • The destination storage pool properties must match the source storage pool properties. If the source storage pool is a non-deduplication storage pool, the destination storage pool must also be a non-deduplication storage pool
  • Sufficient free physical storage space needs to exist in the destination storage pool to store the entire vcartridge data
  • If a vcartridge with the same name exists, then it needs to have the same size and vcartridge type as the source
  • Ensure that the ports 9953 and 9955 are allowed for TCP traffic in your firewall configuration

There is no need to manually create a VTL with similar properties on the destination system. The replication job creates a VTL with the same serial numbers, slot count etc if a VTL with the same name does not exist

Auto-Replication

Configuring the destination VTL system

Create a file called /quadstorvtl/etc/ndrecv.conf and add the following line

RecvAddr=<recv listening ipaddr>
Only IPv4 addresses are supported. Host names and IPv6 addresses are not allowed

For example

RecvAddr=10.0.13.6

In the above example, the system will bind to 10.0.13.6 for receiving replication data

Configuring the source VTL system

Create a file called /quadstorvtl/etc/ndrecv.conf and add the following line

PeerAddr=<ipaddr to send to>

For example

PeerAddr=10.0.13.6

In the above example, the system will send replication data to 10.0.13.6. PeerAddr and RecvAddr will have the same values specified except that PeerAddr is specified on the source system and RecvAddr is specified on the destination system

For auto-replication of vcartridge data, the PeerAddr has to be set on the source VTL system and the RecvAddr has to be set on the destination VTL system. If the VTL has a remote host then setting PeerAddr is optional.

Auto replication is queued and started for a vcartridge when the vcartridge is moved into an import/export port or when the vcartridge is unmounted from a drive. Only newer data written into the vcartridge is replicated to the destination VTL

Job Error handling

If a replication job fails, it restarted after a delay upto five minutes. This gives enough time for the destination VTL to recover from certain conditions such as a system retart. By default the same replication job is retried three times before the job is moved from the job queue and is placed in an error queue. Once the job is placed in an error queue it will only be retried after a replication job suceeds for another vcartrige.

Queue a replication job

A replication job can be manually queued for vcartridge by the following command

/quadstorvtl/bin/vtmirror -q -s <vcart label>

The above command will create a replication job for the vcartridge with the specified label and is only effective if the vcartridge is eligible for auto-replication. If there already is a replication job for the vcartridge in the error queue, the job will be moved back to the job queue.

The number of times a job is retried can be configured in /quadstorvtl/etc/quadstor.conf by adding the following line

MaxRetryCount<new retry count>

For example if MaxRetryCount=5 is specified in /quadstorvtl/etc/quadstor.conf, the same replication job is retried upto 5 times

The number of parallel replication jobs is 3 by default. Newer jobs are queued if the count exeeds the parallel replication jobs limit. When a replication job completes, the next job in queue is started. To change this limit, add the following to /quadstorvtl/etc/quadstor.conf

MaxReplicationJobs=<new limit>

MaxRetryCount and MaxReplicationJobs are read from the config file before starting or restarting a replication job

Manual Replication (HTML UI)

To start a new replication job click on "Job Management". Under "Replication Jobs" click on "Add Job". A form as shown in the figure below is presented Add Replication Job

  • If the destination vcartridge does not exist it will be created with the same properties as the source vcartridge.
  • If the destination vcartridge does not exist and a VTL with the same name as the source vcartridge VTL does not exist the VTL will also be created.
  • If the destination pool name is not specified then the storage pool name of the source vcartridge will be used.
  • Source IP address is optional and if specified, that address is used as the source for sending replication data, else any available ip address on the source VTL system is used.

Click on "Submit" to start the replication job

Job Monitoring

To view the list of replication jobs click on "Job Managment" and then click on "Replication Jobs". The list of jobs are as shown in the figure below.

 

Add Replication Job

The listed jobs include both the auto-replication jobs started by the system and the manual jobs started from the GUI or command line. In the above figure

  • Source: The source vcartridge
  • Source Address: The IPv4 address of the sending interface on the source VTL
  • Destination: The destination vcartridge
  • Destination Address: The IPv4 address of the receiving interface on the destination VTL
  • State: The state of the replication job which can be Running, Completed, Canceled or Error
  • Transfer Size: The size of data on the vcatridge that was replicated. This corresponds to the data size received from the host
  • Elapsed: The number of seconds elapsed since the start of the replication job. For a completed or canceled job, this will be the number of seconds for the entire replication job
  • Write Size: The size of data sent to the destination VTL. This will correspond to the size of data sent over the wire
  • Dedupe Size: The size of duplicate data already present on the destination VTL. When deduplication is enabled, the SHA-256 hashes for the transfer data is first sent to the destination. Based on the hashes received, the destination informs the source which data is unique in the transfer data. Only the unique data is then transfered to the destination. If however "Enable Verify" is set for the destination vcartridge pool, the duplicate data is also sent by the source. The destination VTL will then perform a byte-per-byte comparision for the possible duplicate data with the data already on disk and only unique data is then written to disk.

Click on the Deleteicon to cancel a running replication job Click on "Clear Jobs" to clear all completed jobs, canceled jobs and jobs which ended with an error status

Complete jobs are additional maintained in the database for upto 7 days and these jobs can be viewed by clicking on "Job Management" and then from "Replication DB" menu.

Manual Replication (Command Line)

Set the RecvAddr property as described above for the destination VTL system. Use /quadstorvtl/bin/vtmirror to start the replication as follows /quadstorvtl/bin/vtmirror -s <Source VCartridge Name> -d <Destination VCartridge Name> -r <Destination IP Address> -s <Source IP Address> -g <Destination Pool>

  • If the destination vcartridge does not exist it will be created with the same properties as the source vcartridge.
  • If the destination vcartridge does not exist and a VTL with the same name as the source vcartridge VTL does not exist the VTL will also be created.
  • If the destination pool name is not specified then the storage pool name of the source vcartridge will be used.
  • Source IP address is optional and if specified, that address is used as the source for sending replication data, else any available ip address on the source VTL system is used

For example:

/quadstorvtl/bin/vtmirror -s VCART1 -d VCART1 -r 10.0.13.7 -g ARCHIVE

In the above example vcartridge VCART1 is replicated to another vcartridge name VCART1 belonging to storage pool ARCHIVE on VTL system 10.0.13.7

Managing replication jobs

Listing replication jobs

/quadstorvtl/bin/vtmirror -l will list basic job information annd /quadstorvtl/bin/vtlmirror -l -e will list extended information. For example

# /quadstorvtl/bin/vtmirror -l
Source   SAddr   Destination DAddr      Size       Time  Status   
BCM201L4 0.0.0.0 BCM209L4    10.0.13.13 185.00 MB  8.6   Running  

# /quadstorvtl/bin/vtmirror -l
Source   SAddr   Destination DAddr      Size       Time  Status   
BCM201L4 0.0.0.0 BCM209L4    10.0.13.13 187.00 MB  8.8   Completed

# /quadstorvtl/bin/vtmirror -l -e
Source   SAddr   Destination DAddr      Size       Time  Status    WriteT BytesW       Deduped      Encryped    
BCM201L4 0.0.0.0 BCM209L4    10.0.13.13 187.00 MB  8.8   Completed 3.2    0.00 KB      187.00 MB    0.00 KB  

In the above output Soruce is the source vcartridge SAddr is the source ip address used Destination is the destination vcartridge DAddr is the destination ip address Size is the total transfer size of the operation Time is the number of seconds since the operation started WriteT indicates the number of seconds spent in sending and writing data at the remote VTL BytesW indicates the number of bytes sent and written at the remote VTL Deduped indicates the number of bytes which were deduplicated at the remote VTL Encypted indicates the number of encrypted bytes sent.

Clearing completed jobs

/quadstorvtl/bin/vtmirror -l -p will list the jobs and will also clear completed jobs. So the next time vtmirror -l is run, the completed job will no longer show in the list

Cancel a replication job

/quadstorvtl/bin/vtmirror -s -c will cancel any replication operation running for the source vcartridge For example

/quadstorvtl/bin/vtmirror -s BCM201L4 -c

The above command will cancel any replication job running for vcartridge BCM201L4

Notes

 

  • Only one replication job can be started for a vcartridge at a time
  • If there any pending import/export jobs for a vcartridge, replication cannot be started for the vcartridge
  • Replication is not support for multi-partition virtual tapes (LTFS) and virtual tapes with encrypted data.