
Ich habe mehrere Systeme (leider mit recht unterschiedlichem Typ, Generation und Architektur).
Ich muss eine Liste der Glasfaserkarten auf diesen unterschiedlichen Systemen erstellen.
Ich kann prtconf -v verwenden und mit prtdiag -v korrelieren und bei Bedarf luxadm oder fcinfo verwenden, um diese Informationen zu finden. Angesichts der großen Anzahl an Systemen vor mir frage ich mich jedoch zwei Dinge.
1, falls jemand bereits ein selbst erstelltes Skript hat, mit dem er diese Informationen findet.
2. Wenn jemand einen superschicken Einzeiler kennt, mit dem ich aus den obigen Befehlen die benötigten Informationen extrahieren kann, sodass ich einfach ein Wrapper-Skript dafür schreiben kann und nicht eine Woche damit verbringen muss, mich bei 4.000 Boxen anzumelden.
Auch hier geht es mir nicht so sehr darum, zu lernen, wie man sie findet (obwohl es bei Unix immer TMTOWTDI ist, Ihr Input ist also willkommen), sondern eher darum, ein Skript zu finden, das mir hoffentlich etwas Arbeit abnimmt.
Antwort1
Ich bin nicht sicher, ob Sie das beabsichtigt haben:
Sie können alle VERBUNDENEN HBAs aber folgendermaßen überprüfen:
für i in ls /dev/rdsk/*s2; führe luxadm-Anzeige aus: $i 2>&1|grep WWN|awk '{print $5}'; fertig |sort|uniq |xargs fcinfo hba-port -l |egrep 'Modell'
Oder um alle Teilenummern eines Systems bezüglich HBA-Karten zu erhalten:
fcinfo hba-port|egrep 'Modell'|uniq
Ich denke, das wird tun, was Sie brauchen. Verpacken Sie es einfach, um eine Verbindung zu den Zielsystemen herzustellen, und Sie erhalten die vollständige Liste der HBAs, die Sie auf Ihren Servern haben.
HTH
Antwort2
Eines von zwei Dingen wird zutreffen: 1) Sie werden viele Server haben. 2) Sie werden nicht viele Server haben (helfen Sie mir, wenn ich eine Möglichkeit übersehen habe).
Wenn Sie nicht viele Server haben, können Sie die Hardwareinventur wahrscheinlich manuell durchführen und müssen diese Frage nicht stellen. Wenn Sie jedoch eine umfangreiche Bereitstellung haben, sollten Sie sich wirklich darum kümmern, etwas wie Puppet darauf laufen zu lassen. Im Grunde brauchen Sie etwas, mit dem SieDateien bereitstellenUndRemote-Befehle ausführenen masse. Sobald Sie das haben, werden die meisten administrativen Aufgabeneine Mengeeinfacher.
Sie können Zeit sparen, indem Sie prtdiag
sich jeden Knoten einfach per E-Mail zusenden lassen und das Inventar nach Belieben per Kopieren/Einfügen zusammenstellen.
Natürlich wäre es übertrieben, Puppet für diese eine Aufgabe einzurichten, aber ich könnte mir vorstellen, dass Sie dadurch in Zukunft definitiv viel Zeit sparen und sich nicht mehr die Mühe machen müssen, einen Einzeiler zu finden, der das tut, was Sie wollen. Wenn diese Dinge anfallen, stellen Sie einfach ein Skript in /tmp bereit und führen es aus.
Antwort3
Welche Version von Solaris? Wenn 10 oder neuer, sollten Sie nachsehen, fmtopo
ob eine der Optionen Ihren Anforderungen entspricht. ( /usr/lib/fm/fmd/fmtopo
)
Ich bin mir jedoch nicht sicher, ob es den Detaillierungsgrad bietet, den Sie benötigen, da meines Wissens nach keine WWNs aufgelistet werden.
Antwort4
Endlich habe ich die für mich perfekte Antwort auf meine eigene Frage gefunden.
Die derzeit nicht dokumentierte Option „-L“ für dladm show-phys macht genau das, was ich brauche.
Beispiel:
root@server1:/tmp# dladm show-phys -L
LINK-GERÄT 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/PORT1
net24 ibp5 PCI-EM9/PORT2
root@server1:/tmp