Managing SAN Devices and Multipathing in Oracle® Solaris 11.2

Exit Print View

Updated: December 2014
 
 

Creating Tape Links

The /etc/devlink.tab file is called the default device table file. It specifies rules that devfsadm uses to create links in the /dev directory. This file does not contain any entries for tapes because devfsadm is already able to create links for tape drives, but rules can be added that will modify the default behavior for creating tape links. For more information, see devlinks(1M).

For any tape drive visible to Oracle Solaris OS but not specified in the devlink file, devfsadm automatically assigns a minor node number starting from 0. These minor node numbers will conflict with any lower numbers assigned manually in /etc/devlink.tab, so be sure to assign numbers there that are high enough to avoid conflicts.

This approach can easily lead to duplicate links in /dev/rmt. Any tapes discovered before entries were specified in /etc/devlink.tab have automatically created links. When entries are added and devfsadm is run, the original links remain in /dev/rmt, resulting in duplicate links. To remove the original links in /dev/rmt, run the rm /dev/rmt/* command before running devfsadm.

This approach cannot be used with multiple-port tape drives that are attached to multiple HBA ports. If multiple HBA ports are attached to the same tape LUN, the system detects two tape drives instead of one. The one that appears last in the prtconf output gets the link generated by the /etc/devlink.tab.

The following example shows a sample entry for tape in the devlink.tab file.

type=ddi_byte:tape;addr=PWWN,LUN-number; rmt/rmt-number\M0
 

Change the rmt # to whatever /dev/rmt/N is required. Then change the PWWN and LUN to match the desired tape device. You can obtain this value by running the ls -l command on the existing /dev/rmt/ link as shown below.

# ls -l /dev/rmt/4
lrwxrwxrwx 1 root root 69 Oct 6 14:57 /dev/rmt/4 ->
../../devices/pci@1f,700000/SUNW,qlc@2/fp@0,0/st@w5005076300617717,0:

If, for example, you wanted the /dev/rmt/ number to be 40, you would create an entry in /etc/devlink.tab like the following example:

# type=ddi_byte:tape;addr=w5005076300617717,0; rmt/40\M0
 

You can then add this line to the devlink file on every Solaris server on the SAN that uses this drive so that it always appears as minor node 40.