VMware Cloud Community
Kushmaro
Contributor
Contributor

get-scsilun + powerpath = NOT WORKING

hi,

apperantly the get-scsilun command does not work with an error of

"value cannot be null"

this refers to the multipath policy which is set to nothing basically, when powerpath takes over vmware nmp...

does this have any workaround???

I want to cross "naa.234234" device names with lun Id's (runtime names....)

the commands that I ran were

$vmhost = get-vmhost hostname

get-scsilun -VMhost $vmhost

when run on pp/ve enabled server - nasty error.

when run on a server with fixed policy - everythings ok.

(i've also seen some threads from 2010 regarding empty multipath policy field and issues with get-scsilun.. yet this hasn't been fixed yet in powercli ver 5 by vmware? 😕 )

help!

Please reward this comment if you find it useful
Tags (1)
Reply
0 Kudos
5 Replies
bousix
Contributor
Contributor

Hello,

I have the same problem on UCS blades (PowerPath). On HP blades (no PowerPath) is works fine.

Using to PowerCLI 5.0 / PowerGUI 3.1 did not change the output.

Did you find a solution?

ps. My main goal is to find dead-lun paths, by script...

     HP --> ($LUNS = $ESXHOST | Get-ScsiLun -LunType disk | Where-Object {$_.Vendor -like "HITACHI*"} | Sort-Object CanonicalName)

     UCS -->  unknown yet

Greetz,

Rob

Reply
0 Kudos
edwardm007
Contributor
Contributor

Does anyone know of any progress on this issue?

Reply
0 Kudos
BrentCocjhran
Contributor
Contributor

Have you tried the rpowermt command?

  rpowermt <connect params> display paths

Reply
0 Kudos
edwardm007
Contributor
Contributor

Powermt can get the canonical name, but I'm not sure I can get what I am looking for with that.  One is to generate a report of VMs to datastores to LUNs similar to this thread (http://communities.vmware.com/thread/240466) and the other is to be able to use the canonical name from the get-scsilun command to use in a script to add datastores in bulk.  Any ideas?

Thanks,

Ed

Reply
0 Kudos
jawad420
Contributor
Contributor

for anyone like me coming to this thread because they have EMC as the vendor of the disks and are getting blank RUNTIMENAMEs, you can use the script LucD has for obtaining the LUN IDs.

http://www.lucd.info/2010/10/17/runtime-name-via-extensiondata-and-new-viproperty/

You can use the new-VIProperty to add another field to Get-SCSILun and use that for getting the information you need.

Excerpt :

$VMHost | %{

      $_.ExtensionData.Config.StorageDevice.HostBusAdapter | %{

        $HbaNames1.Add($_.Key,$_.Device)

      }

      $_.ExtensionData.Config.StorageDevice.PlugStoreTopology.Adapter | %{

        $HbaNames2.Add($_.Key,$HbaNames1.Item($_.Adapter))

      }

      $_.ExtensionData.Config.StorageDevice.PlugStoreTopology.Path | %{

        $HbaNames2.Item($_.Adapter) + ":C" + $_.ChannelNumber + ":T" + $_.TargetNumber + ":L" + $_.LunNumber

      }

    }

Reply
0 Kudos