Howto guide to scan new disk or LUNs on Linux or HPUX machines. This guide explains steps to scan and then identify new disk device names.
When you add a new disk to the system, you need to scan it so that kernel will be able to identify new hardware and assign a disk name to it. Adding a new disk to the system can be local or from storage. If it’s a local then its an addition of disk in free disk slots attached to server. If its a storage LUN then it’s masking and zoning at storage level to WWN of the server.
Once the disk / LUN is made available/visible to the server, the next step is to scan it. The kernel has a know hardware tree with it. This tree needs to be updated with new disk information. To let the kernel know that a new disk is made available to server disk scanning is required. If the disk is from storage array then there are chances you have storage vendor utilities/scripts available to scan storage on server example: evainfo
(for EVA storage), xpinfo
(for XP12K storage), powermt (for EMC storage). If these utilities are not available, you still be able to scan them from OS.
HPUX disk scan :
In HPUX, we have dedicated ioscan
command to scan new hardware. You can ask command to scan on hard disks with -C
option i.e. class. Before executing this command, keep the output of previous disks (ioscan -funC disk
) handy. This output can be compared to new output (command below) to identify new disk.
# ioscan -fnC disk
Class I H/W Path Driver S/W State H/W Type Description
==========================================================================
disk 4 0/0/1/1.0.0 sdisk CLAIMED DEVICE HP 36.4GST373455LC#36
/dev/dsk/c1t0d0 /dev/rdsk/c1t0d0
disk 0 0/0/1/1.2.0 sdisk CLAIMED DEVICE HP 36.4GST373455LC#36
/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
disk 1 0/0/2/0.2.0 sdisk CLAIMED DEVICE HP 36.4GST373455LC#36
/dev/dsk/c2t2d0 /dev/rdsk/c2t2d0
disk 2 0/0/2/1.2.0 sdisk CLAIMED DEVICE HP DVD-ROM 305
/dev/dsk/c3t2d0 /dev/rdsk/c3t2d0
disk 3 0/10/0/1.0.0.0 sdisk CLAIMED DEVICE I2O RAID5
/dev/dsk/c4t0d0 /dev/rdsk/c4t0d0
Scan output shows you all detected disks on the system and their assigned disk names in CTD format. Sometimes, ioscan
unable to install special device files for newly detected disks, in such a situation you can run insf
(install special files) command to ensure all detected hardware has device files in place.
# insf -e
insf: Installing special files for btlan instance 0 address 0/0/0/0
insf: Installing special files for stape instance 1 address 0/0/1/0.1.0
insf: Installing special files for sctl instance 0 address 0/0/1/0.7.0
insf: Installing special files for sdisk instance 4 address 0/0/1/1.0.0
insf: Installing special files for sdisk instance 0 address 0/0/1/1.2.0
insf: Installing special files for sctl instance 1 address 0/0/1/1.7.0
----- output clipped ----
New disk even can be identified by comparing directory structure of /dev/disk
or /dev/dsk/
before and after the scan. Any new addition during the scan to these directories is your new disk.
Once you identify this new disk, you can use it on the system via volume managers like LVM.
Linux Disk scan:
In Linux, it’s a bit tricky since there is no direct ioscan
available. First, you need to get currently available disk details using fdisk
command as below :
# fdisk -l |egrep '^Disk' |egrep -v 'dm-'|grep -v identifier
Disk /dev/sda: 74.1 GB, 74088185856 bytes
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
Disk /dev/sdd: 2147 MB, 2147483648 bytes
Disk /dev/sde: 2147 MB, 2147483648 bytes
Disk /dev/sdc: 2147 MB, 2147483648 bytes
Keep this list handy to compare with the list after scan.
Scan SCSI disks
Now, if you have connected disks via SCSI then you need to scan SCSI hosts on the server. Check the current list of hosts on the server as below :
# ls /sys/class/scsi_host/
host0 host1 host2 host3
Now, you have 4 hosts on this server (in the example above). You need to scan all these 4 hosts in order to scan new disks attached to them. This can be done by writing - - -
in their respective scan files. See below commands:
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
echo "- - -" > /sys/class/scsi_host/host3/scan
This completes your scan on SCSI hosts on the server. Now you can again run fdisk
command we saw previously and compare the new output with the old one. You will see a new disk being added to the system and its respective device name too.
Scan FC LUNs:
If you have connected disks via FC then you need to scan FC hosts on the server. Check the current list of hosts on the server as below :
# ls /sys/class/fc_host
host0 host1
Now there are 2 FC hosts on the server. Again we need to scan them by writing 1 to their respective issue_lip
file along with scan steps from above.
# echo "1" > /sys/class/fc_host/host0/issue_lip
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "1" > /sys/class/fc_host/host1/issue_lip
# echo "- - -" > /sys/class/scsi_host/host1/scan
This will scan your FC HBA for new visible disks. Once the command completes (check syslog for completion event), you can use fdisk
command to list disks. Compare the output with ‘before scan’ output and get new disk names!