Veritas Cluster Server (VCS) Zpool agent includes the enhanced functionality to specify the /dev/vx/dmp/ path details with the DeviceDir attribute

Article: 100033999
Last Published: 2022-04-07
Ratings: 10 0
Product(s): InfoScale & Storage Foundation

Problem
 

ZFS is a type of file system presenting a pooled storage model developed by SUN (Oracle). File systems can directly draw from a common storage pool (zpool).

The Solaris Operating System (OS) can use two different types of disk labels: Sun Microsystems, Inc. (SMI) labels, and Extensible Firmware Interface (EFI) labels.
Traditionally, LUNs which are larger than 1TB in size, are configured with an EFI label (instead of SMI labels). ZFS configured devices will default with an EFI disk label regardless of the physical LUN size.

Veritas Volume Manager (VxVM) in conjunction with Veritas DMP can be used to manage ZFS pools and any ZFS file system(s) that operate on those pools.
If enabled, DMP can be used as the multi-pathing driver for the management of ZFS pools.

Figure 1.0


ZFS Server Configuration

The above sample Solaris environment consists of two Solaris Sparc (SOL) servers with several ZFS devices visible to both servers.
 

Issue:

The VCS zpool agent can take significant time to bring resources online, when the device search directory is specified (i.e. /dev/vx/dmp) with the DeviceDir attribute

By importing the zpool using the full blockdevice, VCS should be able to reduce the time required to import the ZFS zpool.
 

Cause

As each device is checked within the specified DeviceDir search path (i.e. /dev/vx/dmp), the zpool import operation can be delayed.

The zpool import performance can be made faster by specifying the absolute path of the the device with the -d argument.

The original VCS zpool agent did not support the absolute path as a value for the DeviceDir attribute.
 

Investigation:
 

During the investigation process, it was proven that the zpool import runtime is dramatically reduced when the zpool import –d option is specified along with the full blockdevice path.

# zpool import -d /dev/vx/dmp/emc0_02fas0 testpool

Where multiple disks are associated with a ZFS zpool, the -d option can be specific multiple times as shown below:

# zpool import -d /dev/vx/dmp/emc0_02fas0 -d /dev/vx/dmp/emc0_02fcs0 vrtspool
 

Differences:

The zpool import operation takes an acceptable time when using the following zpool options:

# /usr/sbin/zpool import -R / -o failmode=continue VERITAS1# /usr/sbin/zpool import -R / -d /dev/vx/dmp -o failmode=continue VERITAS1

Fast:

The zpool import operation is extremely fast when the "-d" option is directly associated with the corresponding Veritas disk access (da) name for the zpool:

# usr/sbin/zpool import -R / -d /dev/vx/dmp/emc1_2967s0 -o failmode=continue VERITAS1


Solution



The VCS Zpool agent has been modified to support the absolute path for the ZFS device with the DeviceDir attribute.

The import operation can be reduced to seconds rather than minutes in some cases. By the user specifying the /dev/vx/dmp/<da-name><slice-number> path details when importing the ZFS zpool,

This dramatically improves the import time for the DMP managed ZFS devices, whilst providing multi-pathing support using Veritas DMP.

The enhanced behaviour was first made available via a Solaris Sparc Private Hot-fix for the Veritas VCS bundle agent package (VRTSvcsag) with 6.1.1.003 and 6.2.1.006.

This has since been ported to InfoScale 7.1 and later.


Sample main.cf entry:

        Zpool testpool (
                Critical = 0
                AltRootPath = "/"
                ChkZFSMounts = 0
                PoolName = testpool
                DeviceDir = { "/dev/vx/dmp/emc0_02fas0" }
                )


See related article:

How to specify multiple DMPNODE names with the VCS Zpool DeviceDir Attribute for Solaris ZFS zpools
https://www.veritas.com/support/en_US/article.100052831
 

Was this content helpful?