Adding unsupported disk arrays to the DISKS category

Disk arrays should be added as JBOD devices if no Array Support Library (ASL) is available for the array.

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. If a JBOD is ALUA-compliant, it is added as an ALUA array.

Warning:

This procedure ensures that Dynamic Multi-Pathing (DMP) is set up correctly on an array that is not supported by Veritas Volume Manager (VxVM). Otherwise, VxVM treats the independent paths to the disks as separate devices, which can result in data corruption.

To add an unsupported disk array to the DISKS category

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

    where device_name is the device name of one of the disks in the array. 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 example output shows that the vendor ID is SEAGATE and the product ID is ST318404LSUN18G.

    Vendor id (VID)     : SEAGATE
    Product id (PID)    : ST318404LSUN18G
    Revision            : 8507
    Serial Number       : 0025T0LA3H
  2. Stop all applications, such as databases, from accessing VxVM volumes that are configured on the array, and unmount all file systems and Storage Checkpoints that are configured on the array.
  3. If the array is of type A/A-A, A/P, or A/PF, configure it in autotrespass mode.
  4. Enter the following command to add a new JBOD category:
    # vxddladm addjbod vid=vendorid [pid=productid] \
    [serialnum=opcode/pagecode/offset/length] \
    [cabinetnum=opcode/pagecode/offset/length] policy={aa|ap}]

    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 length argument (for example, 10). If the array is of type A/A-A, A/P, or A/PF, you must also specify the policy=ap attribute.

    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
  5. Use the vxdctl enable command to bring the array under VxVM control.
    # vxdctl enable

  6. 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          SerialNum            CabinetNum   Policy
                     (Cmd/PageCode/off/len) (Cmd/PageCode/off/len)
    ==============================================================
    SEAGATE ALL PIDs  18/-1/36/12           18/-1/10/11    Disk
    SUN     SESS01   	18/-1/36/12   	       18/-1/12/11 		 Disk
  7. 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
    ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS    ARRAY_TYPE LUN_COUNT FIRMWARE
    =======================================================================
    Disk       Disk       DISKS     CONNECTED Disk       2         -

    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
    punr710vm04_disk_1 auto:none       -            -            online invalid
    punr710vm04_disk_2 auto:none       -            -            online invalid
    punr710vm04_disk_3 auto:none       -            -            online invalid
    punr710vm04_disk_4 auto:none       -            -            online invalid
    sda                auto:none       -            -            online invalid
    xiv0_9148          auto:none       -            -            online invalid thinrclm
    ...
  8. 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
    ==============================================================================
    punr710vm04_disk_1   ENABLED      Disk         1      1     0     disk
    punr710vm04_disk_2   ENABLED      Disk         1      1     0     disk
    punr710vm04_disk_3   ENABLED      Disk         1      1     0     disk
    punr710vm04_disk_4   ENABLED      Disk         1      1     0     disk
    sda                  ENABLED      Disk         1      1     0     disk
    ...

    The output in this example shows that there are two paths to the disks in the array.

    For more information, enter the command vxddladm help addjbod.

    See the vxddladm(1M) manual page.

    See the vxdmpadm(1M) manual page.

More Information

How DMP works

Enabling discovery of new disk arrays