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/22.214.171.124 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/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!