Solaris:用于查找所有已安装光纤卡的物理设备路径的脚本

Solaris:用于查找所有已安装光纤卡的物理设备路径的脚本

我有很多系统(不幸的是,它们的类型、生成和架构各不相同)。

我需要在这些不同的系统上创建光纤卡列表。

我可以使用 prtconf -v 并与 prtdiag -v 关联,如果需要 luxadm 或 fcinfo 来查找此信息,但由于我面前有大量系统,我想知道两件事。

1,如果有人已经为自己编写了一个脚本来查找此信息。

2,如果有人知道一个超级漂亮的衬垫,它可以从上述命令中获取我需要的信息,这样我就可以在上面编写一个包装器脚本,而不必花一周时间登录 4000 个盒子。

再说一次,我并不是想学习如何找到它们(尽管与 unix 一样,TMTOWTDI,所以欢迎您的意见),而是寻找一个希望能减轻我一些工作的脚本。

答案1

不确定这是否是您的意图:

但检查所有已连接 hba 的方法如下:

对于 ls /dev/rdsk/*s2 中的 i; luxadm 显示 $i 2>&1|grep WWN|awk '{print $5}';完成 |sort|uniq |xargs fcinfo hba-port -l |egrep '模型'

或者获取有关 HBA 卡的系统的所有部件号:

fcinfo hba-port|egrep '模型'|uniq

我认为这将满足您的需求,只需将其包装起来以连接到目标系统,您将获得服务器中 HBA 的完整列表。

华泰

答案2

有两件事之一是正确的:1)您将拥有很多服务器2)您不会有很多服务器(如果我忽略了一种可能性,请帮助我)。

如果您没有很多服务器,您可能可以手动进行硬件清单,并且不会提出这个要求。如果您确实有相当大的部署,那么您确实应该考虑在其中使用像 puppet 这样的东西。基本上,你需要一些能让你部署文件执行远程命令全体。一旦你明白了这一点,大多数管理任务就可以完成很多更简单。

您只需让每个节点通过电子邮件将其发送prtdiag给您即可节省时间,并且您可以在闲暇时通过复制/粘贴来编译清单。

显然,为这项任务设置木偶可能有些过分,但我想,今后这肯定会为您节省更多时间,并减轻您必须找到某个班轮来完成您想做的事情的压力。当这些事情出现时,您只需将脚本部署到 /tmp 并执行它。

答案3

Solaris 是什么版本?如果是 10 或更新,您可能需要研究fmtopo一下它的任何选项是否可以满足您的需要。 ( /usr/lib/fm/fmd/fmtopo)

不过,据我所知,我不确定它是否提供了您所需的详细程度,因为它不会枚举 WWN。

答案4

我终于找到了适合我的问题的完美答案。

当前未记录的 dladm show-phys 选项“-L”正是我所需要的。

例子:

root@server1:/tmp# dladm show-phys -L

链接设备 LOC net0 igb0 /SYS/MB

net1 igb1 /SYS/MB

net2 ixgbe0 PCI-EM2

net3 ixgbe1 PCI-EM2

net4 ixgbe2 PCI-EM10

net5 ixgbe3 PCI-EM10

net21 ibp2 PCI-EM1/PORT1

net22 ibp3 PCI-EM1/PORT2

net23 ibp4 PCI-EM9/端口1

net24 ibp5 PCI-EM9/PORT2

根@server1:/tmp#

相关内容