#!/usr/bin/perl # This script may only work on RHEL5, because it uses data in the /dev filesystem # ppatram@btsincorporated.com 05-23-2009 # visit http://oracle.3dub.com for more DBA tips # @hostNtargets=`iscsiadm -m node`; %Targets={}; #go thru each node listed print "Host:Port\t\tTargetName\t\tPartition\t\tAttached To\n"; foreach $line (@hostNtargets){ chomp $line; ($hostNport,$targetName,undef)=split(" ",$line); $hostNport =~ s/..$//; $Targets{$targetName} = $hostNport; #print "adding $targetName to has now...\n"; } #get listing of /dev/disk/by-path @diskPaths=`ls -l /dev/disk/by-path/ | awk '{print \$9,\$11}'`; foreach $line (@diskPaths){ chomp $line; foreach $target (keys %Targets){ $search = 'ip-' . $Targets{$target} . '-iscsi-' . $target . '-part'; @tmp = split($search,$line); if ( $line =~ /^$search/ ){ (undef,$tmp) = split("$target-part",$line); ($partition,$device) = split(" ",$tmp); $device =~ s/\.\.\/\.\./\/dev/; print "$Targets{$target}\t$target\t$partition\t$device\n"; } } } __DATA__ ip-192.168.10.5:3260-iscsi-iqn.2006-01.com.openfiler:tsn.1ac297606be9 ../../sde 1 ../../sdb1