Как увидеть номер wwn на карте hba на сервере linux

Обновлено: 01.07.2024

Как найти идентификатор FC (WWN) scsi-устройства/LUN в Red Hat Enterprise Linux?

Actualizado el 14 de noviembre de 2018 00:20 -

Найден выпуск: Red Hat Enterprise Linux 5, 6, 7

Проблема

  • Когда система подключена к нескольким SAN одного типа, трудно сказать, какой диск находится в какой SAN или какой диск, лента, чейнджер и другие устройства scsi обслуживаются каким портом процессора хранилища.
  • Как найти имя_порта (WWPN) и имя_узла (WWNN) настроенного HBA в Red Hat Enterprise Linux?
  • Как определить, какие диски и устройства scsi находятся за каким портом хранилища wwn?
  • Как проверить хост HBA и соответствующий ему WWPN?
  • Как найти WWN установленных HBA?
  • Как найти международный номер hba WWPN (международное имя порта)?
  • Как найти международное название HBA?
  • Как узнать WWPN и WWNN (мировое имя узла) подключенных портов хранилища?
  • Как найти WWID (всемирный идентификатор) подключенных дисков и других устройств scsi?

Разрешение

Хотя не существует поддерживаемого инструмента для создания полного представления топологии хранилища в конфигурациях SAN, можно написать простые программы или сценарии, которые интегрируют информацию, доступную в ядре, в различные полезные формы и отчеты.

Ниже описаны команды, которые можно использовать для получения различных wwn и идентификаторов, связанных с хранилищем, а также способы их удобного комбинирования.

Описание маршрута команды от хоста к диску хранения san или другому типу устройства scsi, которое принимает команда io, состоит из следующей информации:

  1. назначенный ядром адрес scsi плюс имена sdN и sgN
  2. HBA wwnn и wwpn (если структура: идентификатор порта)
  3. переключить порт wwn, к которому подключен HBA (если ткань)
  4. Хранилище wwnn и wwpn (если структура: идентификатор порта)
  5. Диск (или другое устройство scsi) WWID

В Red Hat Enterprise Linux 5, 6 и 7 почти вся информация о маршруте ядра к хранилищу хранится в /sys, и ее можно найти независимо от используемого драйвера Fibre Channel. Единственным исключением является сам wwid диска, который не хранится в /sys, но его можно найти в выводе multipath -ll output.

Например, вот некоторая информация, собранная из выходных данных sysfs и команды multipath.

Следующая информация была предоставлена ​​Red Hat, но выходит за рамки опубликованных соглашений об уровне обслуживания и процедур поддержки. Информация предоставляется как есть, и любые настройки конфигурации или установленные приложения, сделанные на основе информации в этой статье, могут привести к тому, что операционная система не будет поддерживаться глобальной службой поддержки Red Hat. Цель этой статьи — предоставить информацию для удовлетворения потребностей системы. Пользователь использует информацию в этой статье на свой страх и риск.

Исходный код программы, сгенерировавшей указанный выше вывод, доступен в источнике 'mapdevs', но предназначен только для иллюстративных целей и, согласно выше, предоставляется как есть и не поддерживается. Вывод из ./mapdevs -wpx .

Для приведенных выше данных это частичная карта scsi host8 (8:0:1 — это h:c:t:* адрес scsi, где «h» — номер хоста scsi, в данном случае он же host8). Это частично, потому что для этого хоста также существует маршрут 8:0:0:* к устройствам. В ascii-арте путь к устройству хранения следующий:

Итак, где мы можем найти всю вышеуказанную информацию?

[1] адрес scsi, назначенный ядром, плюс имена sdN и sgN

С помощью следующей команды мы можем определить соответствие между адресами SCSI HBTL и дисками:

ПРИМЕЧАНИЕ: sg_map является частью пакета sg3_utils. Кроме того, при запуске sg_map необходимо, чтобы в системе был загружен модуль sg.

Альтернативной командой для предоставления той же информации является команда lsscsi -g из пакета lsscsi.

[2] HBA wwnn и wwpn (если структура: идентификатор порта)

Чтобы найти адреса Fibre Channel HBA на машине, выполните следующее:

Кроме того, информацию можно найти непосредственно в дереве sysfs. Например:

В системе приведенные выше данные взяты из того, что мы видим, что на этой конкретной машине есть два HBA, которые в настоящее время указаны как host8 и host9 .

ПРИМЕЧАНИЕ: эти номера хостов могут меняться. Они могут меняться каждый раз, когда драйвер Fibre Channel выгружается, перезагружается, а также могут меняться при перезагрузке. Ядро назначает номера хостов по порядку, но какой номер HBA получает, зависит от порядка обнаружения и от того, когда конкретный хост регистрируется в ядре. Номер хоста — это H-значение при адресации H:B:T:L SCSI.

[3] (если структура: переключите порт wwn, к которому подключен HBA)

Если san представляет собой фабрику с коммутатором, порт коммутатора wwn будет указан под именем фабрики в дереве sysfs. Чтобы найти адреса Fibre Channel портов коммутатора, к которым подключены HBA, выполните следующее:

Кроме того, информацию можно найти непосредственно в дереве sysfs. Например:

[4] Хранилище wwnn и wwpn (если структура: идентификатор порта)

С помощью следующей команды мы можем определить WWN целевого хранилища Fibre Channel для триплета H:B:T из адресации H:B:T:L SCSI.

Обратите внимание, что для каждого HBA существует две комбинации H:B:T, а именно 8:0:0 плюс 8:0:1 для хоста8 и 9:0:0 плюс 9:0:1 для хоста9. Это просто означает, что каждый HBA подключен к коммутатору, а этот коммутатор подключен к 2 или более портам хранения, 2 из которых зонированы, чтобы быть видимыми для каждого HBA.

Кроме того, все доступные удаленные порты могут быть перечислены с помощью systool -c fc_report_ports -v , в то время как класс fc_transport перечисляет только порты хранилища, за которыми стоят луны, fc_report_ports перечисляет все порты, на которые выполнен вход. Например, это могут быть инициаторы FCP (другие адаптеры главной шины) в нашей зоне или порты хранения, которые не экспортируют на хост ни один lun.

В качестве альтернативы информацию можно получить непосредственно из дерева sysfs:

Обычно, но не обязательно универсально, порт хранилища wwnn является общим для всех портов хранения, связанных с данной системой хранения. Например, эти выходные данные показывают, что в системе есть два HBA, каждый из которых подключен к двум портам хранения в соответствии с комбинациями H:B:T, представленными в выходных данных:

Мы видим, что имя хранилища wwnn всех целевых устройств хранения одинаковое (0x50014380113622b0), что указывает на то, что все порты хранилища находятся в одной системе хранения. Другие способы узнать, является ли система хранения одинаковой или другой, включают просмотр страницы запроса scsi 0x80 из разных лунов. Возвращаемый серийный номер часто является общим и отражает серийный номер системы хранения. Могут быть и другие методы, в том числе зависящие от поставщика, для определения того, какие наборы портов хранения (scsi-цели) связаны с одной и той же или разными системами хранения.

Данные wwpn целевого хранилища сопутствующего хранилища для указанной выше системы показывают, что существует четыре разных порта хранилища для разных перечисленных уникальных идентификаторов:

Итак, в этой системе host8 подключен к двум портам хранения (0x50014380113622bd и 0x50014380113622b9), а host9 подключен к двум разным портам хранения (0x50014380113622bc и 0x50014380113622b8, но все четыре порта хранилища находятся в одной системе хранения (wwnn1:43x50011) .

[5] Диск (или другое устройство scsi) WWID

WWID устройства не хранятся в дереве sysfs в RHEL5 или 6. WWID устройства можно найти с помощью:

  • только для дисков: команда multipath (пакет device-mapper-multipath),
  • все устройства scsi: команда sg_inq (пакет sg3_utils),
  • команда scsi_id (только RHEL 5,6: пакет udev),
  • команда lsscsi --scsi_id (только RHEL 7: пакет lsscsi),
  • или изучив ссылки в /dev/ /by-id
    • это "диск", "лента" и т. д.
    • имена ссылок получаются из команды scsi_id.

    Обычное место, где можно быстро найти эти диски, находится в выводе команды multipath -ll.

    Выделенная часть – это WWID диска, возвращенный хранилищем.

    В качестве альтернативы WWID устройства можно узнать с помощью команды sg_inq -p 0x83 /dev/sdN:

    Или с помощью команды scsi_id -g -u -s /block/sdN:

    RHEL7:
    В RHEL 7 команда scsi_id не существует. Частичной заменой является lsscsi --scsi_id, но она будет работать только для дисковых устройств.

    Как и при использовании udevadm info --name , по крайней мере, для дисков:

    Но по-прежнему для недисковых устройств ни scsi_id, ни идентификатор VPD недоступны напрямую, захватывается только очень ограниченная информация:

    В этих случаях можно использовать команду sg_inq из пакета sg3_utils:

    Обратите внимание, что в приведенном выше случае идентификатор представляет собой строку ASCII, специфичную для поставщика. По самой своей природе строки, специфичные для поставщика, не гарантируют уникальность во всем мире и, следовательно, не являются WWID, поскольку этот термин обычно используется. Принимая во внимание, что в следующем примере для ленточного устройства scsi идентификатор соответствует формату NAA, который включает IEEE OUI (уникальный идентификатор организации), что делает этот идентификатор уникальным во всем мире:

    Еще один метод, доступный во всех версиях RHEL, — использование или проверка ссылок в /dev//by-id:

    Все вышеуказанные методы зависят от вывода команды scsi INQUIRY (страница 0x83, страница идентификации устройства). Вы можете указать параметры scsi_id "-p 0x83" в RHEL5 и --page 0x83" в RHEL6, чтобы указать используемую страницу ЗАПРОСА, хотя по умолчанию команда будет использовать наилучший доступный параметр.

    См. "Как генерируется идентификатор SCSI?" для получения информации о том, как scsi_id формирует уникальный идентификатор scsi на хосте linux.

    Собираем все вместе

    Используя команды и информацию из (1)-(5), можно сгенерировать сопоставление адресов SCSI диска H:B:T:L через WWID устройства.

    В качестве примера возьмем /dev/sdd:

    Проделывая описанное выше для всех дисков, связанных с

    Дополнительная информация доступна только о самом HBA, например, адрес pci HBA, которому был назначен scsi hostN, версия драйвера (если доступна), уровень микропрограммы HBA (если доступна) и следующая информация о состоянии (в В следующем примере нас интересует только scsi8, адрес pci 0e:00.0 ).


    Этот пост поможет вам узнать, как найти номер WWN HBA и отсканировать FC Luns в LINUX.

    Если вы заинтересованы в обучении, попросите вас пройти рекомендуемый ниже учебник.

    Как узнать номер WWN HBA и просканировать FC Luns в LINUX?

    Как администратор Linux, мы можем столкнуться с такой ситуацией, как поиск WWN-номера HBA и сканирование FC Luns в LINUX, которые предоставляются командой Storage. Его нужно сканировать со стороны ОС Linux без перезагрузки сервера.

    Итак, как найти номер WWN HBA и просканировать FC Luns в LINUX без перезагрузки сервера?

    Вот решение для поиска номера WWN HBA и сканирования FC Luns.

    Определите количество адаптеров HBA

    systool -c fc_host -v
    или
    ls /sys/class/fc_host
    host0 host1

    Обратите внимание на количество хостов, доступных на сервере. У нас есть два HBA из приведенного выше примера (host0 и host1).

    Чтобы получить WWNN (номер узла в мире) карты HBA или FC в Linux

    cat /sys/class/fc_host/host0/node_name
    0x20000000c9538d83
    cat /sys/class/fc_host/host1/node_name
    0x20000000c9538dac

    Чтобы получить WWPN (международный номер порта) карты HBA или FC в Linux

    cat /sys/class/fc_host/host0/port_name0x10000000c9538d83
    cat /sys/class/fc_host/host1/port_name0x10000000c9538dac

    Если у вас больше адаптеров HBA, замените «host0 или host1» на «hostN». В большинстве случаев системным администраторам необходимо предоставить WWPN администраторам хранилища для выделения хранилища.

    Сканировать вновь добавленные диски или повторно сканировать существующие LUN ​​в Linux

    эхо «1» > /sys/class/fc_host/host0/issue_lip
    эхо «- – -» > /sys/class/scsi_host/host0/scan

    Если у вас есть больше файлов hosts в каталоге /sys/class/fc_host, используйте команду для каждого файла hosts, заменив «host0».

    Начиная с Redhat Linux 5.4 и выше, компания Redhat представила сценарий «/usr/bin/rescan-scsi-bus.sh» для сканирования всей шины SCSI и обновления уровня SCSI для отражения новых устройств.

    Мы также можем использовать сценарий rescan-scsi-bus.sh для обнаружения новых LUN без перезагрузки сервера.
    Этот скрипт доступен в пакете sg3-utils. Поэтому установите пакет sg3-utils с помощью yum, перейдите по этой ссылке, чтобы настроить сервер репозитория yum в Linux.

    yum install sg3_utils
    rescan-scsi-bus.sh

    Теперь проверьте обнаруженные диски с помощью команды fdisk.

    Надеюсь, у вас есть идея, как найти номер WWN HBA и отсканировать FC Luns в LINUX.

    Продолжайте тренироваться и получайте удовольствие. Оставьте свои комментарии, если они есть.

    Поддержите нас: поделитесь с друзьями и группами.

    Оставайтесь с нами на сайтах социальных сетей, спасибо.

    найти номер wwn в linux, найти wwn linux, статус hba в linux, найти номер WWN карты HBA в linux, как проверить номер wwpn в linux

    Извлечение идентификаторов WWN и сопоставлений портов HBA со SCSI-дисков в Linux
    Madhav Ponamgi Abstract
    В этой заметке представлена ​​методика извлечения уникального идентификатора Scsi для каждого диска, подключенного к серверу на базе Linux. Доступные диски могут быть установлены непосредственно на сервере или подключены через плату адаптера главной шины (HBA) к сети хранения данных (SAN) или коммутатору. Если диски подключены через SAN, информация о пути и порте также извлекается.

    Извлечение идентификатора SCSI
    Интерфейс для хранения небольших компьютеров (Scsi) обычно соединяет жесткие диски, ленточные устройства, DVD-плееры, дисководы гибких дисков и т. д. через общий интерфейс с серверами на базе Linux. Дисковые массивы, сгруппированные вместе как хранилища логических номеров (LUN) в SAN, также могут представлять себя как устройства Scsi на серверах Linux. Команда fdisk -l выводит список подключенных дисковых устройств Scsi, в том числе из SAN.

    Когда к серверу подключено несколько LUN из SAN, сопоставление со списком устройств, сгенерированным командой fdisk, не всегда очевидно. Часто для целей системного администрирования необходимо создать это сопоставление. Например, один или несколько дисков, составляющих LUN, могут выйти из строя, и пользовательские файлы необходимо перенести с него.LUN может иметь специальные характеристики, такие как широкая полоса RAID или настройки кэша, на которые файловая система, такая как General Parallel File System (GPFS), опирается для оптимизации производительности. По этим причинам важно определить сопоставление LUN ​​со списком fdisk.

    Наш пример системы состоит из сервера x86_64 под управлением Red Hat Enterprise Linux 5.5 с двумя локальными дисками и шестью удаленными дисками, которые находятся в сети SAN, подключенной к серверу через HBA-адаптер Fibre Channel. Соединение SAN на сервере обрабатывается многоканальным прокси-драйвером Redundant Disk Array Controller (RDAC) (mpp). Ввод fdisk -l дает (вывод отредактирован для ясности):
    Диск /dev/sda: 250,0 ГБ
    Диск /dev/sdb: 750,1 ГБ
    Диск /dev /sdc: 8818,3 ГБ
    Диск /dev/sdd: 9663,6 ГБ
    Диск /dev/sde: 7516,1 ГБ
    Диск /dev/sdf: 8818,3 ГБ
    Диск /dev/sdg : 8589,9 ГБ
    Диск /dev/sdh: 8589,9 ГБ

    Используя команду scsi_id для каждого /block/ah (например, для /dev/sda мы набираем scsi_id -g -s /block/sda ) формирует выходной сигнал:
    SATA WD2502ABYS-23B7 WD-WCAT1H504691
    SATA HUA721075KLA330 GTA260P8H8893E

    3600a0b8000753b49000006244dca89ae 3600a0b8000754bad000006144dca8a1f

    3600a0b8000753b49000006274dca89ef 3600a0b8000754bad000006164dca8ad3 <бр / >3600a0b8000753b490000062a4dca8aa5
    3600a0b8000754bad000006194dca8b10

    Два исходных идентификатора Scsi представляют локальные диски (/dev/sda и /dev/sdb). Остальные шесть представляют идентификаторы Scsi LUN, подключенных к оптоволоконному каналу. Подмножество выходной строки scsi_id, генерируемой для логических номеров оптоволокна, соответствует всемирному имени (WWN). В системе хранения на базе IBM DS информация о WWN для LUN доступна с помощью программного обеспечения SMclient в разделе, посвященном массивам/LUN.

    Извлечение пути
    Сопоставив идентификатор Scsi с WWN LUN, мы обращаем наше внимание на задачу определения, через какой порт HBA LUN представляется серверу. Команда lspci | grep -i fibre создает список плат Fibre Channel HBA, установленных на нашем тестовом сервере хранения с запущенным RDAC:
    12:00.0 Fibre Channel: 8Gb Fibre Channel на основе ISP2532 Qlogic Corp. для PCI Express HBA
    12:00.1 Fibre Channel: 8Gb Fibre Channel на базе Qlogic Corp. ISP2532 для PCI Express HBA

    На этом рисунке показана одна двухпортовая плата адаптера главной шины Fibre Channel 8 Гбит/с (HCA или HBA) с портами 0.0 и 0.1. Далее мы исследуем диски SAN sdc-sdh в /sys/block . Для дисков команда ls -l /sys/block/ sd[ch] /device отображает (отредактировано для актуальности):
    ../.. /devices/mppvirtual/mppadapter0/host6/target6:0.0/6:0:0:0 (диск sdc)
    ../../devices/mppvirtual/mppadapter0/host6/target6:0.0/6:0: 0:1 (диск sdd)
    ../../devices/mppvirtual/mppadapter0/host6/target6:0.0/6:0:0:2 (диск sde)
    ../../ devices/mppvirtual/mppadapter0/host6/target6:0.0/6:0:0:3 (диск sdf)
    ../../devices/mppvirtual/mppadapter0/host6/target6:0.0/6:0:0 :4 (диск sdg)
    ../../devices/mppvirtual/mppadapter0/host6/target6:0.0/6:0:0:5 (диск sdh)

    Подстрока «6:0.0» относится к файлу /proc/scsi/mpp/6 в каталоге драйвера RDAC mpp с используемым портом 0.0. Последняя цифра каждой выходной строки выше относится к номеру LUN. Поиск номеров Lun непосредственно в файле /proc/scsi/mpp/6 показывает имя WWN для каждого диска, которое соответствует извлеченному результату scsi_id.

    Используя два описанных выше метода, SCSI-диск на сервере Linux можно сопоставить с LUN в SAN, а используемый им путь ввода-вывода (HBA и номер порта) также извлекается. Этот метод успешно используется в RHEL, CentOS и SLES, подключенных к IBM DS, DDN, EMC и сетям хранения данных HP.

    Управляемый список HBA
    Порт WWN: 11:00:00:00:d9:58:bf:92
    Узел WWN: 10:00:00:00:b9:58:ba:92
    Имя ткани: 20:3f:01:04:51:a1:71:00
    Флаги: 1100a980
    Имя хоста: tilak_phy01
    Производитель: Emulex Corporation
    = =================
    В Redhat 4 и более ранних версиях (включая OEL и CentOS) файл /proc/scsi// содержит информацию о WWN HBA как показано ниже.

    cat /proc/scsi/qla2300/1
    Хост-адаптер QLogic PCI-Fibre Channel для QLA2460:
    Версия микропрограммы: 4.00.23, версия драйвера 7.07.05
    Адрес входа = f888d060

    cat /proc/scsi/qla2xxx/1

    Информация об устройстве SCSI:
    scsi-qla0-adapter-node=200000xxxxxxxxxx;
    scsi-qla0-adapter-port=210000xxxxxxxxx;

    Использование команды scsi_id для каждого /block/ah (например, для /dev/sda мы вводим scsi_id -g -s /block/sda) генерирует вывод:
    SATA WD2502ABYS-23B7 WD-WCAT1H504691 < бр /> SATA HUA721075KLA330 GTA260P8H8893E

    3600a0b8000753b49000006244dca89ae 3600a0b8000754bad000006144dca8a1f

    3600a0b8000753b49000006274dca89ef 3600a0b8000754bad000006164dca8ad3

    3600a0b8000753b490000062a4dca8aa5 3600a0b8000754bad000006194dca8b10
    два первых идентификаторов SCSI представляют собой локальные диски ( /dev/sda и /dev/sdb).Остальные шесть представляют идентификаторы Scsi LUN, подключенных к оптоволоконному каналу

    Код:
    sg_map -x
    /dev/sg0 1 0 0 0 5 /dev/scd0
    /dev/sg1 2 0 0 0 0 /dev/sda
    /dev/sg2 2 0 1 0 0 /dev/sdb
    /dev/sg3 2 0 2 0 0 /dev/sdc
    /dev/sg4 2 0 3 0 0 /dev/sdd
    /dev/sg5 3 0 1 0 0 /dev/sde

    root@ sunserver:/root$ luxadm -e порт
    /devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl ПОДКЛЮЧЕН
    /devices/pci@400/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:devctl НЕ ПОДКЛЮЧЕН

    По физическому пути, полученному с помощью приведенной выше команды, мы можем отследить номера WWN следующим образом. здесь я использую физический путь к тому, который подключен:

    root@ sunserver:/root$ luxadm -e dump_map /devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl
    Pos Port_ID Hard_Addr Порт WWN Узел WWN Тип
    0 123456 0 11111111111111112222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222XXXX 2000001B32xxxxxx 0x1f Адаптер главной шины)

    Открытие устройства: /devices/ssm@0,0/pci@18,700000/SUNW,qlc@2/fp@0,0:devctl
    Обнаруженная версия FCode: ISP2312 Host Adapter fcode версии 1.16 11/ 15 июня

    Открытие устройства: /devices/ssm@0,0/pci@19,700000/SUNW,qlc@2/fp@0,0:devctl
    Обнаруженная версия FCode: версия 1.16 хост-адаптера ISP2312 fcode 11/ 15/06
    Завершено

    Открытие устройства: /devices/ssm@0,0/pci@18,700000/SUNW,qlc@2/fp@0,0:devctl
    Обнаруженная версия FCode: ISP2312 Host Adapter fcode версии 1.16 11/ 15 июня

    Открытие устройства: /devices/ssm@0,0/pci@19,700000/SUNW,qlc@2/fp@0,0:devctl
    Обнаруженная версия FCode: версия 1.16 хост-адаптера ISP2312 fcode 11/ 15/06
    Завершено

    Читайте также: