Veritas Cluster Server (VCS) DiskGroup and CVMVolDg 7.4.2.x Agents include new DGOptions attribute to specify additional vxdg import options such as "-o usereplicatedev=only"

Article: 100053402
Last Published: 2024-07-05
Ratings: 3 0
Product(s): InfoScale & Storage Foundation

Description

 

Veritas Cluster Server (VCS) DiskGroup and CVMVolDg 7.4.2.x Agents now include a new DGOptions attribute to specify additional vxdg import options such as "-o usereplicatedev=only".
 

To reduce the effort required to manage and detect Hardware Replicated type devices, Veritas has now introduced the new tunable 'use_hw_replicatedev' with VRTSvxvm public patch 7.4.2.5200 for RHEL7 and RHEL8.

When the tunable use_hw_replicatedev is turned on, the import selection process will detect the presence of Hardware Replicated type devices and automatically call vxdg options -c -o usereplicatedev=only. The enhanced functionality will work for Private and Shared disk groups.


vxtune | grep rep
use_hw_replicatedev                                      on                          on    N        N


If the tunable use_hw_replicatedev is turned off, the Hardware Replicated type devices will not be imported with the required -c -o usereplicatedev=only import options.
 

The Veritas recommendation is now to apply 7.4.2.5200 or higher for Veritas Volume Manager (VxVM). This supercedes the previous hotfix information listed below.

Customers can still populate the main.cf as shown below, but it is no longer essential to handle hardware replicated devices.



VCS CVMVolDg Example

group srdf_SG (
        SystemList = { node1 = 0, node2 = 1 }
        AutoFailOver = 0
        Parallel = 1
        AutoStartList = { node1, node2 }
        )

        CFSMount data_cfs (
                Critical = 0
                MountPoint = "/data"
                BlockDevice = "/dev/vx/dsk/LINUXSRDF/data"
                MountOpt = rw
                )

        CFSMount scripts_cfs (
                Critical = 0
                MountPoint = "/data/scripts"
                BlockDevice = "/dev/vx/dsk/LINUXSRDF/scripts"
                MountOpt = rw
                )

        CVMVolDg srdf_dg (
                CVMDiskGroup = LINUXSRDF
                CVMVolume = { data, scripts }
                CVMActivation = sw
                CVMDeportOnOffline = 1
                ClearClone = 1
                DGOptions = { "-t -o usereplicatedev=only" }
                ScanDisks = 1

                )

        requires group cvm online local firm
        data_cfs requires srdf_dg
        scripts_cfs requires data_cfs
        scripts_cfs requires srdf_dg

 

VRTScavf

Please contact Veritas Technical Support if you require the latest hot-fixes for the VRTScavf package for CVMVolDg.

Cluster Server Agents for SFCFS 7.4.2 Hot Fix 2103 (VRTScavf) RHEL7 cavf-rhel7_x86_64-HotFix-7.4.2.2103.tar.gz.

RHEL8, SLES12, SLES15, AIX & Solaris fixed will be available soon for VRTScavf.

 

The VCS DiskGroup and CVMVolDg agent will be taking over the responsibility of running the selective device scan (vxdisk scandisks device=<paths>) operations for replication agents which don’t have this capability.

Refer to articles for more details surrounding "ScanDisks = 1"

https://www.veritas.com/support/en_US/article.100053398
https://www.veritas.com/support/en_US/article.100050722
 

NOTE: A selective device scan is performed on all paths associated with the disk group name specified when ScanDisks = 1”.


 

VCS DiskGroup agent performing selective device scans (example)
 

Figure 2 . Enhanced VCS design


Sample main.cf
 

group srdf_SG (
        SystemList = { node1 = 0, node2 = 1 }
        ClusterList = { clust1 = 0, clust2 = 1 }
        Authority = 1
        AutoStartList = { node1, node2 }
        )

        DiskGroup srdf_sg (
                DiskGroup = LINUXSRDF
                ClearClone = 1
                DGOptions = "-o usereplicatedev=only"
                ScanDisks = 1
                )

        Mount data (
                MountPoint = "/data"
                BlockDevice = "/dev/vx/dsk/LINUXSRDF/data"
                FSType = vxfs
                FsckOpt = "-n"
                )

        Mount scripts (
                MountPoint = "/data/scripts"
                BlockDevice = "/dev/vx/dsk/LINUXSRDF/scripts"
                FSType = vxfs
                FsckOpt = "-n"
                )

        SRDF srdflin (
                GrpName = LINUXSRDF
                )

        data requires srdf_dg
        scripts requires data
        scripts requires srdf_dg
        srdf_dg requires srdflin


 

With the introduction of the new VCS "DGOptions" attribute, it is now possible for VCS in connection with VxVM and Veritas Dynamic Multi-pathing (DMP) to exclusively select the hardware replicated type disk group image.
 

Sample VxVM syntax


Fencing enabled:

# vxdg -Ccs -t -o usereplicatedev=only -o groupreserve="VCS" import LINUXSRDF

Non-Fencing:

# vxdg -Ccs -t -o usereplicatedev=only  import LINUXSRDF
 

NOTE: The -s is required for Shared disk groups in connection with Clustered Volume Manager (CVM).
The -c option is required to import Hardware Replicated devices.
The -C option is required to clear the stale hostid from the source system.
 

The new vxdg "-o usereplicatedev=only" functionality is available with the following Veritas Volume Manager 7.4.2. hot-fixes:
 

Linux:

vm-rhel7_x86_64-HotFix-7.4.2.2902.tar.gz
vm-rhel8_x86_64-HotFix-7.4.2.2902.tar.gz
vm-sles12_x86_64-HotFix-7.4.2.2902.tar.gz    
vm-sles15_x86_64-HotFix-7.4.2.2902.tar.gz    


The enhanced functionality is not included in the latest VxVM 7.4.2.3200 public patch. The recommendation now is to apply 7.4.2.5200 for VxVM or higher on Linux..

Solaris:

vm-sol11_sparc-HotFix-7.4.2.2901.tar.gz    

AIX:

vm-aix-HotFix-7.4.2.2601.tar.gz    

Please contact Veritas Technical Support if you require the above VxVM hot-fixes.

 

VxVM in connection with Veritas Dynamic Multi-pathing (DMP), uses a series of extended attributes to determine the type of LUN presented to the host.
 

# vxdisk -eo alldgs list
DEVICE       TYPE           DISK        GROUP        STATUS               OS_NATIVE_NAME   ATTR
emc0_08af    auto:cdsdisk   emc0_033c    LINUXSRDF   online thinrclm      sdau             srdf-r1 tprclm
emc0_08b0    auto:cdsdisk   emc0_033d    LINUXSRDF   online thinrclm      sdav             srdf-r1 tprclm
emc0_08b1    auto:cdsdisk   emc0_033e    LINUXSRDF   online thinrclm      sdaw             srdf-r1 tprclm
emc0_08b2    auto:cdsdisk   emc0_033f    LINUXSRDF   online thinrclm      sdax             srdf-r1 tprclm
emc0_08b3    auto:cdsdisk   emc0_035e    LINUXSRDF   online thinrclm      sdbm             srdf-r1 tprclm
emc0_08b4    auto:cdsdisk   emc0_035f    LINUXSRDF   online thinrclm      sdaz             srdf-r1 tprclm
emc0_087a    auto:cdsdisk   -            (LINUXSRDF) online thinrclm udid_mismatch sdbg             tprclm
emc0_087b    auto:cdsdisk   -            (LINUXSRDF) online thinrclm udid_mismatch sdat             tprclm
emc0_0862    auto:cdsdisk   -            (LINUXSRDF) online thinrclm udid_mismatch sdao             tprclm
emc0_0863    auto:cdsdisk   -            (LINUXSRDF) online thinrclm udid_mismatch sdbd             tprclm
emc0_0864    auto:cdsdisk   -            (LINUXSRDF) online thinrclm udid_mismatch sdbe             tprclm
emc0_0865    auto:cdsdisk   -            (LINUXSRDF) online thinrclm udid_mismatch sdar             tprclm

 

EMC SRDF-R1 & SYMCLONE
 

# vxdisk -px LIST_CLONE list | egrep 'DEVICE|emc'
DEVICE               DG_NAME   REPLICATED REPLICATED_TYPE HARDWARE_MIRROR LUN_SIZE   NR_DEVICE DEVICE_TYPE DDL_DEVICE_ATTR
emc0_08af            LINUXSRDF yes        rep_pri         no              20974080   no        -           srdf-r1,tprclm
emc0_08b0            LINUXSRDF yes        rep_pri         no              20974080   no        -           srdf-r1,tprclm
emc0_08b1            LINUXSRDF yes        rep_pri         no              20974080   no        -           srdf-r1,tprclm
emc0_08b2            LINUXSRDF yes        rep_pri         no              20974080   no        -           srdf-r1,tprclm
emc0_08b3            LINUXSRDF yes        rep_pri         no              20974080   no        -           srdf-r1,tprclm
emc0_08b4            LINUXSRDF yes        rep_pri         no              20974080   no        -           srdf-r1,tprclm
emc0_087a            LINUXSRDF -          -               no              20974080   no        -           tprclm
emc0_087b            LINUXSRDF -          -               no              20974080   no        -           tprclm
emc0_0862            LINUXSRDF -          -               no              20974080   no        -           tprclm
emc0_0863            LINUXSRDF -          -               no              20974080   no        -           tprclm
emc0_0864            LINUXSRDF -          -               no              20974080   no        -           tprclm
emc0_0865            LINUXSRDF -          -               no              20974080   no        -           tprclm



The Storage Array Vendors cannot expose all attributes via SCSI inquiries


Improved error messaging:


The vxdg –c import option was introduced to handle Hardware Replicated devices (such as EMC SRDF, Hitachi TrueCopy etc).

NEW vxdg "-o usereplicatedev=only" CLI option must be used in connection with “-c” for H/W Replicated disks only with Veritas DMP. It relies on the REPLICATED flag stating "yes" to work.


# vxdg -cs import LINUXSRDF
VxVM vxdg ERROR V-5-1-0 Disk group LINUXSRDF: import failed:
Replicated dg record is found.
Did you want to import hardware replicated LUNs?
Try vxdg [-o usereplicatedev=only] import option with -c[s]

 

The enhanced vxdg import syntax logic will explicitly cater for Hardware Replicated devices and for those devices that are in a SPLIT state. This functionality is restricted to Veritas DMP use only.

The command vxdg -c [s] -o usereplicatedev=only will exclusively select Hardware Replicated devices only.

The enhanced vxdg -o usereplicatedev=only option reduces the chances of accidentally importing the incorrect disk group image.

Requires DMP & VxVM attributes to be refreshed prior to importing using "vxdisk scandisks".

 

Example to import Hardware Clone DiskGroups using VCS DiskGroup resource:
 

DiskGroup tc_dg (
             DiskGroup = datadg
             DGOptions = "-o useclonedev=on -o updateid"
             ForceImport = 0
             ScanDisks = 1
             )

 

Was this content helpful?