首先,这篇文章不是关于PowerCLI的。也许你知道用vSphere Client可以设置LUN的路径选择策略,但是如果需要修改100个LUN呢?脚本可以轻松搞定。
[do_widget “Language Switcher” wrap=aside title=false]
如何用脚本获取所有LUN的路径选择策略:
esxcli storage nmp device list | egrep "Device Display Name|Path Selection Policy:"
这条命令的输出如下:
Device Display Name: DGC Fibre Channel Disk (naa.600601602a102e0002cdf2a2596be211) Path Selection Policy: VMW_PSP_RR
上边这条脚本可以获得每一个LUN当前使用的路径选择策略。关于路径选择策略的详细信息可以看这里。
然后我们来看看如何批量修改路径选择策略:
首先运行以下脚本把每个LUN的路径选择策略修改命令输出到屏幕。别忘了修改中文部分为你需要的路径选择策略类型。
esxcli storage nmp device list | awk '/^naa/{print "esxcli storage nmp device set -d "$0" -P 你的PSP类型" };'
然后把这些输出的命令复制到记事本,并将本地磁盘那行删除掉。比如以下命令行中的第一段就是HP的本地磁盘。
esxcli storage nmp device set -d naa.600508b1001c1e987243838af4c67891 -P VMW_PSP_RR esxcli storage nmp device set -d naa.600601602a102e008896dda81b88e211 -P VMW_PSP_RR esxcli storage nmp device set -d naa.600601602a102e008861b28a596be211 -P VMW_PSP_RR esxcli storage nmp device set -d naa.600601602a102e00560d8488b456e211 -P VMW_PSP_RR esxcli storage nmp device set -d naa.600601602a102e00c4cd2600b456e211 -P VMW_PSP_RR esxcli storage nmp device set -d naa.600601602a102e008c96dda81b88e211 -P VMW_PSP_RR
最后用Putty登录ESXi粘贴以上命令行,系统就会自动一个一个设置。