Solaris: Skript zum Suchen des physischen Gerätepfads aller installierten Glasfaserkarten

Solaris: Skript zum Suchen des physischen Gerätepfads aller installierten Glasfaserkarten

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 prtdiagsich 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, fmtopoob 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

verwandte Informationen