我有很多系统(不幸的是,它们的类型、生成和架构各不相同)。
我需要在这些不同的系统上创建光纤卡列表。
我可以使用 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#