Previous  |  Next  >  
Product: Volume Manager Guides   
Manual: Volume Manager 4.1 Administrator's Guide   

Discovering and Configuring Newly Added Disk Devices

When you physically connect new disks to a host or when you zone new fibre channel devices to a host, you can use the vxdctl command to rebuild the volume device node directories and to update the DMP internal database to reflect the new state of the system.

To reconfigure the DMP database, first run ioscan followed by insf to make the operating system recognize the new disks, and then invoke the vxdctl enable command. See the vxdctl(1M) manual page for more information.

You can also use the vxdisk scandisks command to scan devices in the operating system device tree and to initiate dynamic reconfiguration of multipathed disks. See the vxdisk(1M) manual page for more information.

Partial Device Discovery

The Dynamic Multipathing (DMP) feature of VxVM supports partial device discovery where you can include or exclude sets of disks or disks attached to controllers from the discovery process.

The vxdisk scandisks command re-scans the devices in the OS device tree and triggers a DMP reconfiguration. You can specify parameters to vxdisk scandisks to implement partial device discovery. For example, this command makes VxVM discover newly added devices that were unknown to it earlier:


vxdisk scandisks new

The next example discovers fabric devices:


vxdisk scandisks fabric

The following command scans for the devices c1t1d0 and c2t2d0:


vxdisk scandisks device=c1t1d0,c2t2d0

Alternatively, you can specify a ! prefix character to indicate that you want to scan for all devices except those that are listed:


vxdisk scandisks !device=c1t1d0,c2t2d0

You can also scan for devices that are connected (or not connected) to a list of logical or physical controllers. For example, this command discovers and configures all devices except those that are connected to the specified logical controllers:


vxdisk scandisks !ctlr=c1,c2

The next command discovers devices that are connected to the specified physical controller:


vxdisk scandisks pctlr=8/12.8.0.255.0
Note   Note    The items in a list of physical controllers are separated by + characters.

You can use the command vxdmpadm getctlr all to obtain a list of physical controllers.

You can specify only one selection argument to the vxdisk scandisks command. Specifying multiple options results in an error.

For more information, see the vxdisk(1M) manual page.

Discovering Disks and Dynamically Adding Disk Arrays

You can dynamically add support for a new type of disk array which has been developed by a third-party vendor. The support comes in the form of vendor-supplied libraries, and is added toan HP-UXsystem by using the swinstall command.

Disk Categories

Disk arrays that have been certified for use with VERITAS Volume Manager are supported by an array support library (ASL), and are categorized by the vendor ID string that is returned by the disks (for example, "HITACHI").

Disks in JBODs for which DMP (see Administering Dynamic Multipathing (DMP)) can be supported in Active/Active mode, and which are capable of being multipathed, are placed in the DISKS category. Disks in unsupported arrays can be placed in this category by following the steps given in Adding Unsupported Disk Arrays to the DISKS Category.

Disks in JBODs that do not fall into any supported category, and which are not capable of being multipathed by DMP are placed in the OTHER_DISKS category.

Adding Support for a New Disk Array

The following example illustrates how to add support for a new disk array named vrtsda to an HP-UXsystem using a vendor-supplied package on a mounted CD-ROM:


swinstall -s /cdrom vrtsda

The new disk array does not need to be already connected to the system when the package is installed. If any of the disks in the new disk array are subsequently connected, and if vxconfigd is running, vxconfigd immediately invokes the Device Discovery function and includes the new disks in the VxVM device list.

Enabling Discovery of New Devices

To have VxVM discover a new disk array, use the following command:

# vxdctl enable

This command scans all of the disk devices and their attributes, updates the VxVM device list, and reconfigures DMP with the new device database. There is no need to reboot the host.


Note   Note    This command ensures that dynamic multipathing is set up correctly on the array. Otherwise, VxVM treats the independent paths to the disks as separate devices, which can result in data corruption.

Removing Support for a Disk Array

To remove support for the vrtsda disk array, use the following command:


swremove vrtsda

If the arrays remain physically connected to the host after support has been removed, they are listed in the OTHER_DISKS category, and the volumes remain available.

Third-Party Driver Coexistence

The third-party driver (TPD) coexistence feature of VxVM 4.1 allows I/O that is controlled by third-party multipathing drivers to bypass DMP while retaining the monitoring capabilities of DMP. Provided that a suitable ASL is available, devices that use TPDs can be discovered without requiring you to set up a specification file, or to run a special command. In previous releases, VxVM only supported TPD coexistence if the code of the third-party driver was intrusively modified. The new TPD coexistence feature maintains backward compatibility with such methods, but it also permits coexistence without require any change in a third-party multipathing driver.

See Changing Device Naming for TPD-Controlled Enclosures for information on how to change the form of TPD device names that are displayed by VxVM.

See Displaying Information About TPD-Controlled Devices for details of how to find out the TPD configuration information that is known to DMP.

Administering the Device Discovery Layer

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:

  • List the types of arrays that are supported.
  • Add support for an array to DDL.
  • Remove support for an array from DDL.
  • List information about excluded disk arrays.
  • List disks that are supported in the DISKS (JBOD) category.
  • Add disks from different vendors to the DISKS category.
  • Remove disks from the DISKS category.
  • Add disks as foreign devices.

The following sections explain these tasks in more detail. For further information, see the vxddladm(1M) manual page.

Listing Details of Supported Disk Arrays

To list all currently supported disk arrays, use the following command:


vxddladm listsupport all
Note   Note    Use this command to obtain values for the vid and pid attributes that are used with other forms of the vxddladm command.

To display more detailed information about a particular array library, use this form of the command:


vxddladm listsupport libname=library_name.sl

This command displays the vendor ID (VID), product IDs (PIDs) for the arrays, array types (for example, A/A or A/P), and array names. The following is sample output.


vxddladm listsupport libname=libvxfujitsu.so
ATTR_NAME            ATTR_VALUE
=================================================
LIBNAME              libvxfujitsu.so
VID                  vendor
PID                  GR710, GR720, GR730
                     GR740, GR820, GR840
ARRAY_TYPE           A/A, A/P
ARRAY_NAME           FJ_GR710, FJ_GR720, FJ_GR730
                     FJ_GR740, FJ_GR820, FJ_GR840

Excluding Support for a Disk Array Library

To exclude all arrays that depend on a particular array library from participating in device discovery, use the following command:


vxddladm excludearray libname=libvxenc.sl

This example excludes support for disk arrays that depends on the library libvxenc.sl. You can also exclude support for disk arrays from a particular vendor, as shown in this example:


vxddladm excludearray vid=ACME pid=X1

For more information about excluding disk array support, see the vxddladm (1M) manual page.

Re-including Support for an Excluded Disk Array Library

If you have excluded support for all arrays that depend on a particular disk array library, you can use the includearray keyword to remove the entry from the exclude list, as shown in the following example:


vxddladm includearray libname=libvxenc.sl

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 vxdisk scandisks command to discover the arrays and add their details to the database.

Listing Excluded Disk Arrays

To list all disk arrays that are currently excluded from use by VxVM, use the following command:


vxddladm listexclude

Listing Supported Disks in the DISKS Category

To list disks that are supported in the DISKS (JBOD) category, use the following command:


vxddladm listjbod

Adding Unsupported Disk Arrays to the DISKS Category


Caution  Caution    The procedure in this section ensures that Dynamic Multipathing (DMP) is set up correctly on an array that is not supported by VERITAS Volume Manager. Otherwise, VERITAS Volume Manager treats the independent paths to the disks as separate devices, which can result in data corruption.

To add an unsupported disk array:

  1. Use the following command to identify the vendor ID and product ID of the disks in the array:
    # /etc/vx/diag.d/vxdmpinq device_name

    where device_name is the device name of one of the disks in the array (for example, /dev/rdsk/c1t20d0). 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:


    # /etc/vx/diag.d/vxdmpinq /dev/rdsk/c1t20d0
    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 ST318404LSUN18G.

  2. Enter the following command to add a new JBOD category:
    # vxddladm addjbod vid=vendorid pid=productid [length=serialno_length]

    where vendorid and productid are the VID and PID values that you found from the previous step. For example, vendorid might be FUJITSU, IBM, or 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).


    Note   Note    In VxVM 4.0 and later releases, a SEAGATE disk is added as a JBOD device by default.

    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
  3. Use the vxdctl enable command to bring the array under VxVM control as described in Enabling Discovery of New Devices:
    vxdctl enable
  4. To verify that the array is now supported, enter the following command:
    vxddladm listjbod

    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
  5. To verify that the array is recognized, use the vxdmpadm listenclosure command 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 vxdisk list command to display the disks in the array:


    vxdisk list
    DEVICE       TYPE       DISK      GROUP       STATUS
    Disk_0       auto:none       -      -       online invalid
    Disk_1       auto:none       -      -       online invalid
    ...
  6. To verify that the DMP paths are recognized, use the vxdmpadm getdmpnode command 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 help addjbod, or see the vxddladm(1M) and vxdmpadm(1M) manual pages.

Removing Disks from the DISKS Category

To remove disks from the DISKS (JBOD) category, use the vxddladm command with the rmjbod keyword. The following example illustrates the command for removing disks supplied by the vendor, Seagate:


vxddladm rmjbod vid=SEAGATE

Adding Foreign Devices

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 vxddladm 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 chardir=/dev/foo/rdsk

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 -f and -n options as described on the vxddladm(1M) manual page.

After adding entries for the foreign devices, use either the vxdisk scandisks or the vxdctl enable command to discover the devices as simple disks. These disks then behave in the same way as autoconfigured disks.

The foreign device mechanism 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. This mechanism has a number of limitations:

  • A foreign device is always considered as simple disk with a single path. Unlike an autodiscovered disk, it does not have a DMP node.
  • It is not supported for shared disk groups in a clustered environment. Only standalone host systems are supported.
  • It is not supported for Persistent Group Reservation (PGR) operations.
  • It is not under the control of DMP, so enabling of a failed disk cannot be automatic, and DMP administrative commands are not applicable.
  • Enclosure information is not available to VxVM. This can reduce the availability of any disk groups that are created using such devices.

If a suitable ASL is available for an array, these limitations are removed, as described in Third-Party Driver Coexistence.

 ^ Return to Top Previous  |  Next  >  
Product: Volume Manager Guides  
Manual: Volume Manager 4.1 Administrator's Guide  
VERITAS Software Corporation
www.veritas.com