"other_disks," "scsi3_jbod" or "jbod" ASLs (Array Support Libraries) are claiming disks as generic devices
Problem
Commands such as vxdmpadm, vxddladm and vxdisk -p list show that the disks are being claimed as generic devices instead of being claimed by by a specific array support library (ASL).
Solution
Introduction
When Veritas detects new disks, it attempts to determine which ASL (Array Support Library) to load by comparing identification strings that are provided by the disk array. If the identifiers match those that the ASL is designed to support, then the corresponding ASL will be loaded. If there is no match, a generic ASL will be loaded.
For some vendors, ASLs may check for additional attributes before claiming a disk. The generic ASLs provide limited multipathing functionality, but vendor-specific ASLs provide the best performance.
Table 1 - Generic ASLs and their descriptions
ASL | Description |
jbod, disk | Used when no vendor-specific ASLs claim the disk |
scsi3_jbod, disk | Used when no vendor-specific ASLs claim the disk. Scsi3_jbod is loaded if the disks supports VPD pages 0x83 or 0x80. |
other_disks | If a disk is claimed by "other_disks," this usually indicates one of the following:
|
Determining which ASL has claimed a disk
Use vxddladm list devices to determine which ASL has claimed each disk. In Figure 1, libvxhdsalua.so has claimed the SAN disk, while the local disk are claimed by a generic jbod ASL.
Note: This command is available starting in 5.0 mp3. As an alternative, for versions earlier than 5.0 mp3, use vxdmpadm list dmpnode | egrep "^dmpdev|^asl" to determine which ASL has claimed each disk (Figure 2).
Figure 1 - Using vxddladm list devices to determine which ASL has claimed each disk (for 5.0 mp3, and later)
Syntax: vxddladm list devices Example, with typical output: # vxddladm list devices |
Figure 2 - Using vxdmpadm list dmpnode | egrep "^dmpdev|^asl" to determine which ASL has claimed each disk (for versions earlier than 5.0 mp3)
Syntax: vxdmpadm list dmpnode | egrep "^dmpdev|^asl" Example, with typical output: # vxdmpadm list dmpnode | egrep "^dmpdev|^asl" |
Determining which ASL supports a disk array
Use vxddladm listsupport to generate a list of ASLs, along with the devices that they support (Figure 3). Since this generates a long list, grep may be used to narrow the output to a specific vendor.
Figure 3 - Using vxddladm listsupport to determine ASL support for a particular manufacturer
Syntax: vxddladm listsupport Example, with typical output: # vxddladm listsupport | grep -i hitachi |
If a disk array is not listed, visit the ASL section of the Veritas SORT site to confirm that the disk array is supported by the installed version of Veritas. In some cases, an updated ASL package is required for support.
Detailed information on hardware compatibility as well as updated ASL packages can be found on the ASL section of SORT:
https://sort.Veritas.com/asl
Determining why an ASL is not claiming a disk
An ASL will fail to claim a disk if the PID and VID strings do not match what the ASL was designed to support. Some ASLs check for additional attributes before claiming a disk. As discussed in Table 1, the presence of the "other_disks" ASL indicates a configuration or hardware problem.
Use checkasl to determine if a specified ASL is able to claim a given disk. Figure 4 shows an example where the PID and VID matches between the ASL and the disk array. Figure 5 shows an example where the ASL does not claim a device because the identifiers do not match.
Figure 4 - Using vxcheckasl to compare attributes of an ASL and a given disk. In this case, the PID and VID match
Syntax: /etc/vx/diag.d/vxcheckasl <ASL> <path to dmp node> Example, with typical output: # /etc/vx/diag.d/vxcheckasl libvxhdsalua.so /dev/vx/rdmp/ams_wms0_63 |
Figure 5 - In this case, the ASL does not claim the disk because the PID and VID do not match
Syntax: /etc/vx/diag.d/vxcheckasl <ASL> <path to dmp node> Example, with typical output: # /etc/vx/diag.d/vxcheckasl libvxemc.so /dev/vx/rdmp/ams_wms0_63 |