Top
ETERNUS SFAdvancedCopy Manager 14.0 Operator's Guide

C.2.4 Customizing the shell script

The method to customize the shell script for replication pre/post-processing is explained below.

When you do not want to unmount the replication target volume

Replicate a volume group

When replicating a file system which is part of a logical volume in a volume group, the processing scripts will need to be modified as follows:

Insert a comment ("#") into line 118 of the source volume pre-processing script and line 112 of the destination pre-processing script.

Note

Note that unmount/mount processing to a volume group is not carried out if the scripts have not been customized.

Note

When a destination volume is a volume group, in order to enable use of the volume for LVM, volume group configuration information is restored using the "vgcfgrestore" command in the restore post-processing. Volume configuration information is restored from the standard backup file "/etc/lvmconf/volume-group-name.conf". If volume group configuration information is backed up by another file the script will need to be customized.

In cluster operation, the respective nodes comprising the cluster must have volume group configuration information.

Note

Modify the parameters and options of the OS commands (such as the mount command and the fsck command), appropriately for their use.

Note

For shared-mode volume groups:

When reconfiguring shared-mode volume groups, comment out lines 78-118, 121, 122 and 152 in the post-processing script (OpcBackup.post) to prevent the volume group from being reconfigured by the post-processing script.
Reconfigure the volume group by manually performing the following steps after the Replication has been executed.

  1. Stop the volume group (on all nodes involved in the transaction).

    # /usr/sbin/vgchange -a n <vg_name>
    #
  2. Restore volume group configuration information (on the node where the volume group was created).

    # /usr/sbin/vgcfgrestore -n <vg_name> <pv_path> 
    #
  3. Mark the volume group as shareable (on the node where the volume group was created).

    # /usr/sbin/vgchange -S y -c y <vg_name> 
    #
  4. Start the volume group (on all nodes involved in the transaction).

    # /usr/sbin/vgchange -a s <vg_name>
    #

File system name

Change the file system names on line 150 of the replication source volume post-processing shell script (RepSrc.post) and lines 127, 139, and 217 of the replication destination volume post-processing shell script (RepDst.post) as appropriate for the operation.

Cluster operation using VERITAS Cluster Server

Customization of the pre-processing and post-processing scripts is required when performing cluster operations using VERITAS Cluster Server, and when the mount point of the original/source volume is registered in the cluster transaction.
Change unmount/mount processing in the pre-processing and post-processing scripts into offline/online processing of the mount point resource.
The mount point resource relating to the Volume is immediately offline/online whilst there will be a time delay before access is actually prevented when mount/unmount is used.
Please note that once the offline/online command is issued there will be a delay before the mount/unmount command can be executed. The "sleep" and "df" commands can be used to delay the mount/unmount until after the process that sets the volumes online or offline has completed.

The examples below show how the pre-processing and post-processing scripts are modified.

[Example]
Changing the unmount processing of the source volume pre-processing script (RepSrc.pre)

[lines 77, 87, 137 and 146]

(before change)

 
/usr/sbin/umount $mount_point

(after change)

 
/opt/VRTSvcs/bin/hares -offline resource-name -sys system-name
[Example]
Adding unmount wait processing to the source volume pre-processing script (RepSrc.pre)

[lines 106 and 165]

(addition)

 
while /usr/bin/df -l "$device">/dev/null 2>&1; do :; done
[Example]
Changing the unmount processing of the destination volume pre-processing script (RepDst.pre)

[lines 71, 81, 121 and 130]

(before change)

 
/usr/sbin/umount $mount_point

(after change)

 
/opt/VRTSvcs/bin/hares -offline resource-name -sys system-name
[Example]
Adding unmount wait processing to the destination volume pre-processing script (RepDst.pre)

[lines 100 and 149]

(addition)

 
while /usr/bin/df -l "$device">/dev/null 2>&1; do :; done
[Example]
Changing the mount processing of the source volume post-processing script (RepSrc.post)

[lines 98, 102, 104, 117, 121, 123, 157 and 166]

(before change)

 
/usr/sbin/mount $device $mount_point
/usr/sbin/mount -F $fs $device $mount_point
/usr/sbin/mount -F $fs $lvname $lv_mount_point

(after change)

 
/opt/VRTSvcs/bin/hares -online resource-name -sys system-name
[Example]
Adding mount wait processing to the source volume post-processing script (RepSrc.post)

[lines 143 and185]

(addition)

 
while ! /usr/bin/df -l "$device">/dev/null 2>&1; do :; done
[Example]
Changing the mount processing of the destination volume post-processing script

[lines 165, 169, 171, 188, 190, 224 and 233]

(before change)

 
/usr/sbin/mount $device $mount_point
/usr/sbin/mount -F $fs $device $mount_point
/usr/sbin/mount -F $fs $lvname $lv_mount_point

(after change)

 
/opt/VRTSvcs/bin/hares -online resource-name -sys system-name
[Example]
Adding mount wait processing to the destination volume post-processing script

[lines 210 and 252]

(addition)

 
while ! /usr/bin/df -l "$device">/dev/null 2>&1; do :; done