PDF

Tracing IBM AIX hdisks back to IBM System Storage
SAN Volume Controller (SVC) volumes
Brian Smith ([email protected])
System Administrator
01 November 2013
When working in an IBM AIX® environment that uses the IBM System Storage® SAN Volume
Controller (SVC), you need to be able to determine the SVC volumes that represent each
AIX hdisk. This article covers the procedure to perform this manually as well as automate the
process by using a script. With these skills, you will be able to better manage the storage on
your SVC and AIX systems.
Introduction
SVC is an extremely powerful and versatile SAN virtualization product from IBM. It supports
numerous features such as thin provisioning, IBM Real-time Compression™, online data
migration, and so on. The management of the SVC is done through a simple web interface that
makes working with it very intuitive and easy. However, from an AIX host perspective, it can be
time consuming and difficult to map out which AIX hdisk maps back to which SVC volume. If you
need to delete a SVC LUN hdisk device from an AIX server, you need to be sure you understand
which hdisk maps to which SVC LUN to prevent deleting the wrong LUN. This article covers how
to discover which SVC volume backs each AIX hdisk when using the SDDPCM multipathing
software on AIX.
Manual tracing
If you only have a couple of AIX hdisks that you need to map back to SVC volumes, the simplest
way is to just do it manually. We need to begin by collecting information from the AIX server.
This article is geared towards AIX servers using the IBM Subsystem Device Driver Path Control
Module (SDDPCM) multipathing software. SDDPCM provides the pcmpath command which is
a very powerful command that can, among several other things, gather information about the
LUN's visible on the AIX server and that are controlled by SDDPCM. Start by logging in to your AIX
server and running the pcmpath query device command. This shows detailed information on the
status of each SAN LUN controlled by SDDPCM. One of the items listed for each LUN is a serial
number. The serial number is the key that we can use to trace the hdisks back to SVC volumes as
the SVC shows this same number as the volume "UID".
© Copyright IBM Corporation 2013
Tracing IBM AIX hdisks back to IBM System Storage SAN
Volume Controller (SVC) volumes
Trademarks
Page 1 of 6
developerWorks®
ibm.com/developerWorks/
Listing 1. Example output of pcmpath query device
# pcmpath query device
DEV#: 0 DEVICE NAME: hdisk0 TYPE: 2145 ALGORITHM: Load Balance
SERIAL: 60050763624B79486800000000000004
==========================================================================
Path#
Adapter/Path Name
State
Mode
Select
Errors
0
fscsi0/path0
OPEN
NORMAL 8037977
0
1
fscsi0/path1
OPEN
NORMAL 8032250
0
2*
fscsi0/path2
OPEN
NORMAL
62
0
3*
fscsi0/path3
OPEN
NORMAL
62
0
4
fscsi1/path4
OPEN
NORMAL 8066256
0
5
fscsi1/path5
OPEN
NORMAL 8070900
0
6*
fscsi1/path6
OPEN
NORMAL
62
0
7*
fscsi1/path7
OPEN
NORMAL
62
0
DEV#: 1
DEVICE NAME: hdisk1
TYPE: 2145 ALGORITHM: Load Balance
SERIAL: 60050763624B79486800000000000005
==========================================================================
Path#
Adapter/Path Name
State
Mode
Select Errors
0
fscsi0/path0
OPEN
NORMAL 3009569
0
1
fscsi0/path1
OPEN
NORMAL 3008052
0
2*
fscsi0/path2
OPEN
NORMAL
49
0
3*
fscsi0/path3
OPEN
NORMAL
49
0
4
fscsi1/path4
OPEN
NORMAL 3019297
0
5
fscsi1/path5
OPEN
NORMAL 3018514
0
6*
fscsi1/path6
OPEN
NORMAL
49
0
7*
fscsi1/path7
OPEN
NORMAL
49
0
In Listing 1, we can see that there are two SAN LUNs: hdisk0 and hdisk1. The output also shows
that hdisk0 has a serial number of 60050763624B79486800000000000004 and hdisk1 has a serial
number of 60050763624B79486800000000000005.
Next, log in to the SVC web interface and go to the Volumes section as shown in Figure 1.
Figure 1. Volumes section on the SVC
In the Volumes section, verify that you have the UID column displayed. If you do not see it, rightclick in the top header area and select the UID check box to enable this column, as shown in
Figure 2.
Figure 2. Enable the UID column if needed
Tracing IBM AIX hdisks back to IBM System Storage SAN
Volume Controller (SVC) volumes
Page 2 of 6
ibm.com/developerWorks/
developerWorks®
Next, click the UID column so the list of volumes is sorted by the UID number. Now, look through
the list and find the two serial numbers that we previously recorded from the pcmpath query
device AIX output from Listing 1. Each AIX LUN serial number from pcmpath query device should
match with one of the SVC volume UID numbers, as shown in Figure 3.
Figure 3. Match the serial number from AIX with UID from SVC
You can see in Figure 3 that the hdisk0 AIX device maps back to the App1_1 SVC volume and
the hdisk1 AIX device maps back to the App1_2 SVC volume.
Automating the process
After understanding how to manually map back AIX LUNs to SVC volumes, the next step is to
automate the process. This can help you save time and make it practical to accomplish this on an
AIX server that might have hundreds of SVC volumes mapped to it.
This article presents a script that can automate this task. The script is run from the AIX server,
and the output is a report showing all AIX SDDPCM controlled LUNs and their corresponding SVC
information, including the SVC volume name.
Because the script is run on the AIX host, it must also gather information from the SVC for the
report. The script supports two different methods to gather the information from the SVC. One
method is to have the script connect to the SVC over an SSH connection (using SSH keys or by
manually typing the password) to gather the information. However, some system administrators do
not have access to SVC. In such cases, the other option is to specify a file. This file must contain
the output of the lshostvdiskmap command from the SVC. This makes it possible to have your
SAN administrator run the lshostvdiskmap command, send you the output, and still be able to use
this script without direct access to SVC.
When you run the script, you either specify a user name and the SVC host as user@svchost or
specify the path to the file that contains the previously obtained lshostvdiskmap output. The script
is run from an AIX server and creates a report on all of the AIX server's hdisks that are controlled
by SDDPCM.
For example, to have the script connect to the SVC named "svchost" as the "user" account over an
SSH connection, you can run the command similar to the one in Listing 2.
Tracing IBM AIX hdisks back to IBM System Storage SAN
Volume Controller (SVC) volumes
Page 3 of 6
developerWorks®
ibm.com/developerWorks/
Listing 2. Example command to run the svc_report.sh script and have it
connect to SVC to obtain information
./svc_report.sh user@svchost
To use a file on the AIX server named /tmp/lshost_output that contains the output of the SVC
lshostvdiskmap command, use a command such as the one in Listing 3.
Listing 3. Example command to run the svc_report.sh script and have it use a
file
./svc_report.sh /tmp/lshost_output
The output of the report looks as shown in Figure 4.
Figure 4. Example report from the svc_report.sh script
The report shows the AIX hdisk name, the AIX volume group, the hdisk size, and information from
the SVC, such as the volume name and serial number.
The script to create the reports is shown in Listing 4.
Listing 4. svc_report.sh script
#!/usr/bin/ksh
if ! [ `whoami` = "root" ]; then
echo "Script must be run as root"
exit 3
fi
if [ -n "$1" ]; then
if [ -e "$1" ]; then
svcinfo=`cat "$1"`
else
svcinfo=`ssh $1 lshostvdiskmap`
fi
else
echo "Specify filename with SVC lshostvdiskmap output in it"
echo "OR specify username@svchost to retrive info from SVC through SSH"
echo "example: $0 /path/to/lshostvdiskmap_output"
echo "example: $0 user@svc1"
exit 1
fi
if ! [ -n "$svcinfo" ]; then
echo "Error: Unable to retrive SVC info"
Tracing IBM AIX hdisks back to IBM System Storage SAN
Volume Controller (SVC) volumes
Page 4 of 6
ibm.com/developerWorks/
developerWorks®
exit 2
fi
printf "AIX_Host_Name
AIX_hdisk AIX_VG
SIZE_MB
"
echo "id SVC_AIX_host SCSI_id vdisk_id SVC_vdisk_name
SVC_vdisk_UID"
pcmpath query device | egrep "^DEV|^SERIAL" | paste - - |
awk '{print $5 " " $12}' | while read disk serial; do
vg=`lspv | grep "^$disk " | awk '{print $3}'`
size=`getconf DISK_SIZE /dev/$disk`
printf "%-15s %-10s %-12s %-10s " `hostname -s` $disk $vg $size
echo "$svcinfo" | grep "$serial *$" || echo "Not found on SVC: $serial"
done
Conclusion
Tracing AIX hdisks back to SVC volumes is a task that system administrators need to do on a
regular basis. It is critical to do this correctly so that no mistakes are made when performing SVC
maintenance such as deleting or resizing LUNs. After reading this article, you should be able to
manually trace back AIX hdisks to SVC volumes, and also use the script covered in the article to
automate this process and save time.
Resources
• The IBM SAN Volume Controller Information Center
• The AIX 6.1 Information Center
• AIX 7.1 information center
Tracing IBM AIX hdisks back to IBM System Storage SAN
Volume Controller (SVC) volumes
Page 5 of 6
developerWorks®
ibm.com/developerWorks/
About the author
Brian Smith
Brian Smith is a UNIX/Linux system administrator and lives in Colorado Springs, CO
with his wife and two children. He has worked with IBM AIX for the last seven years.
His areas of expertise include AIX, IBM PowerVM, shell scripting, Perl programming,
and Linux. You can find more information about his work at Brian Smith's AIX / UNIX /
Linux / Open Source blog.
© Copyright IBM Corporation 2013
(www.ibm.com/legal/copytrade.shtml)
Trademarks
(www.ibm.com/developerworks/ibm/trademarks/)
Tracing IBM AIX hdisks back to IBM System Storage SAN
Volume Controller (SVC) volumes
Page 6 of 6