Dynamic addition of disk arrays is possible because of the existence of the Device Discovery Layer (DDL) which is a facility for discovering disks and their attributes that are required for VxVM and DMP operations.
The DDL is administered using the
vxddladm utility, which can be used to perform the following tasks:
The following sections explain these tasks in more detail.
vxddladm(1M) manual page.
To list all supported disk arrays
To display details about a supported array library
To exclude support for a disk array library
To re-include support for an excluded disk array library
includearraykeyword to remove the entry from the exclude list, as shown in the following example:
This command adds the array library to the database so that the library can once again be used in device discovery. If
vxconfigd is running, you can use the
scandisks command to discover the arrays and add their details to the database.
To list all disk arrays that are currently excluded from use by VxVM
To list disks that are supported in the DISKS (JBOD) category
Disk arrays should be added as JBOD devices if no ASL is available for the array. In VxVM 4.0 and later releases, a
SEAGATE disk is added as a JBOD device by default.
JBODs are assumed to be Active/Active (A/A) unless otherwise specified. If a suitable ASL is not available, an A/A-A, A/P or A/PF array must be claimed as an Active/Passive (A/P) JBOD to prevent path delays and I/O failures.
See "How DMP works" on page 139.
To add an unsupported disk array to the DISKS category
where device_name is the device name of one of the disks in the array (for example,
/dev/sdj). Note the values of the vendor ID (VID) and product ID (PID) in the output from this command. For Fujitsu disks, also note the number of characters in the serial number that is displayed. The following is sample output:
Vendor id (VID) : SEAGATE
Product id (PID) : ST318404LSUN18G
Revision : 8507
Serial Number : 0025T0LA3H
In this example, the vendor ID is
SEAGATE and the product ID is
vxddladm addjbod vid=vendorid
where vendorid and productid are the VID and PID values that you found from the previous step. For example, vendorid might be
SEAGATE. For Fujitsu devices, you must also specify the number of characters in the serial number as the argument to the
length argument (for example, 10). If the array is of type A/A-A, A/P or A/PF, you must also specify the
Continuing the previous example, the command to define an array of disks of this type as a JBOD would be:
vxddladm addjbod vid=SEAGATE pid=ST318404LSUN18G
enablecommand to bring the array under VxVM control.
See "Enabling discovery of new disk arrays" on page 84.
The following is sample output from this command for the example array:
VID PID Opcode Page Code Page Offset SNO length
SEAGATE ALL PIDs 18 -1 36 12
listenclosurecommand as shown in the following sample output for the example array:
vxdmpadm listenclosure all
ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS
OTHER_DISKS OTHER_DISKS OTHER_DISKS CONNECTED
Disk Disk DISKS CONNECTED
The enclosure name and type for the array are both shown as being set to
Disk. You can use the
list command to display the disks in the array:
DEVICE TYPE DISK GROUP STATUS
Disk_0 auto:none - - online invalid
Disk_1 auto:none - - online invalid
getdmpnodecommand as shown in the following sample output for the example array:
vxdmpadm getdmpnode enclosure=Disk
NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME
Disk_0 ENABLED Disk 2 2 0 Disk
Disk_1 ENABLED Disk 2 2 0 Disk
This shows that there are two paths to the disks in the array.
For more information, enter the command
vxddladm(1M) manual page.
vxdmpadm(1M) manual page.
To remove disks from the DISKS category
vxddladmcommand with the
rmjbodkeyword. The following example illustrates the command for removing disks supplied by the vendor, Seagate:
DDL may not be able to discover some devices that are controlled by third-party drivers, such as those that provide multipathing or RAM disk capabilities. For these devices it may be preferable to use the multipathing capability that is provided by the third-party drivers for some arrays rather than using the Dynamic Multipathing (DMP) feature. Such foreign devices can be made available as simple disks to VxVM by using the
addforeign command. This also has the effect of bypassing DMP for handling I/O. The following example shows how to add entries for block and character devices in the specified directories:
vxddladm addforeign blockdir=/dev/foo/dsk \
If a block or character device is not supported by a driver, it can be omitted from the command as shown here:
vxddladm addforeign blockdir=/dev/foo/dsk
By default, this command suppresses any entries for matching devices in the OS-maintained device tree that are found by the autodiscovery mechanism. You can override this behavior by using the
-n options as described on the
vxddladm(1M) manual page.
After adding entries for the foreign devices, use either the
scandisks or the
enable command to discover the devices as simple disks. These disks then behave in the same way as autoconfigured disks.
The foreign device feature was introduced in VxVM 4.0 to support non-standard devices such as RAM disks, some solid state disks, and pseudo-devices such as EMC PowerPath.
Foreign device support has the following limitations:
If a suitable ASL is available for an array, these limitations are removed.
See "Third-party driver coexistence" on page 85.