Solaris: Скрипт для поиска физического пути устройства всех установленных оптоволоконных карт

Solaris: Скрипт для поиска физического пути устройства всех установленных оптоволоконных карт

У меня есть несколько систем (к сожалению, весьма разных типов, поколений и архитектур).

Мне нужно создать список оптоволоконных карт в этих различных системах.

Я могу использовать prtconf -v и сопоставлять его с prtdiag -v, а также, если нужно, luxadm или fcinfo, чтобы найти эту информацию, но, учитывая большое количество систем, которые мне предстоит обработать, меня интересуют две вещи.

1, если у кого-то есть готовый скрипт, который находит эту информацию.

2. Если кто-то знает супер-классный однострочный код, который бы извлек нужную мне информацию из приведенных выше команд, чтобы я мог просто написать оболочку для нее и не тратить неделю на вход в 4000 ящиков.

Опять же, я не столько ищу, как их найти (хотя, как всегда в Unix, TMTOWTDI, так что ваши комментарии приветствуются), сколько ищу скрипт, который, надеюсь, облегчит мне работу.

решение1

Не уверен, что вы имели в виду именно это:

Но вот способ проверить все ПОДКЛЮЧЕННЫЕ hba:

для i в ls /dev/rdsk/*s2; do luxadm display $i 2>&1|grep WWN|awk '{print $5}'; done |sort|uniq |xargs fcinfo hba-port -l |egrep 'Model'

Или чтобы получить все номера деталей системы, касающиеся карт HBA:

fcinfo hba-port|egrep 'Модель'|uniq

Я думаю, это то, что вам нужно, просто добавьте оболочку для подключения к целевым системам, и вы получите полный список HBA, которые есть на ваших серверах.

НТН

решение2

Будет верно одно из двух: 1) У вас будет много серверов 2) У вас будет не так много серверов (помогите мне, если я упустил возможность).

Если у вас не так много серверов, вы, вероятно, сможете провести инвентаризацию оборудования вручную и не будете спрашивать об этом. Если у вас есть значительное развертывание, то вам действительно стоит рассмотреть возможность использования чего-то вроде puppet на них. По сути, вам нужно что-то, что позволит вамразвернуть файлыивыполнять удаленные командыen masse. Как только вы это получите, большинство административных задач станутмногопроще.

Вы можете сэкономить время, просто отправив каждый узел по электронной почте, prtdiagи вы сможете составить инвентарь, скопировав/вставив его в удобное для вас время.

Очевидно, что настройка puppet для этой одной задачи может быть излишней, но я полагаю, что в дальнейшем это определенно сэкономит вам гораздо больше времени и снимет с вас давление, связанное с необходимостью найти какую-то одну строку, чтобы сделать то, что вы хотите. Когда такие вещи появляются, вы просто развертываете скрипт в /tmp и выполняете его.

решение3

Какая версия Solaris? Если 10 или новее, вам стоит изучить ее fmtopoи посмотреть, подойдет ли вам какая-либо из ее опций. ( /usr/lib/fm/fmd/fmtopo)

Хотя я не уверен, что он обеспечивает необходимый вам уровень детализации, поскольку, насколько мне известно, он не перечисляет WWN.

решение4

Я наконец нашел то, что показалось мне идеальным ответом на мой собственный вопрос.

Недокументированная в настоящее время опция «-L» для dladm show-phys делает именно то, что мне было нужно.

пример:

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

LINK DEVICE LOC net0 igb0 /SYS/MB

net1 igb1 /SYS/МБ

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#

Связанный контент