Настройка FC HBA и подключение SCSI-томов в Linux c внешнего SAN-хранилища

Занимался новой хоронилкой и подключением томов к серверу под linux, решл записать команды которые вечно забываются.

Итак – нужно настроить FC HBA, включть хост в SAN и отпамить тома с хранилища, при этом не забываем про мультипас. Физически сервер представляет из себя лезвие в шасси с двумя мезонинными HBA и FC коммутаторами Brocade включенными в SAN фабрику с СХД.

HBAшка вобщем-то никакой настройки не требует, если драйвер ее видит то больше ничего не нужно. Нужно только завести ее в SAN и отзонировать на свичах фабрики.

Быстро глянуть port WWNы адаптеров для настройки в SAN

тут же рядом node WWN cat /sys/class/fc_host/host*/node_name

Можно заводть алиасы и зонировать свичи. Эту тему, равно как и настройку СХД, настройку хост-групп и мапинг томов я опущу.

Далее, смотрим список подключеных устройств scsi

Ничего кроме набортных дисков и iDRACовских устройств пока не видно.
Сервачек у меня новый, зоны я только что нарисовал и отдал с хоронилки один том. Естественно хост ничего и не видит.

При изменении конфигурации scsi есть 2 способа “пнуть” систему и заставить ее найти изменения: рескан SCSI шины и LIP на самой FC-HBAшке.
Первый – заставляет драйверы пересканировать SCSI-шину на предмет обнаружения новых устройств.
Второй – это запуск Loop Initialization Protocol на FC-адаптере, который заставит перерегистрироваться ноду в FC-фабрике.
Оба этих варианта чреваты таймаутами если выполняются в моменты большой IO нагрузки, так что использовать нужно с большой осторожностью. Особенно LIP, его лучше вообще не делать при наличии уже примонтированых дисках и вводе-выводе на них.

Обычно SCSI-рескан делается если уже рабочей системе презентуется какойто дополнительный новый том с хранилища, а выполнение LIP нужно лишь если изменялись настройки зонирования в SAN и инициатор хоста не видит новые таргеты.

У меня на хосте ничего нет, зонирование я только что изменял для этого самого инициатора, так что дергаю LIP echo 1 > /sys/class/fc_host/host[0-9]/issue_lip

И смотрю что в появилось в логе.

А в логе появилось 2 новых диска. Вернее это один и тот же том видимый по 2м путям, но у меня должно быть вроде как 4 пути, СХД к SAN подключена 4мя портами.
А ну да, я забыл что LIP нужно дергать на обоих портах HBAшки (или HBAшек).
Дергаю второй порт и смотрю что из scsi-устройств теперь доступно.

Уже лучше, по сути это не 4 диска а один доступный по 4м путям.
Для удобства можно поставить вспомогательную утилитку lsscsi:

Ну вот и наш том в 4х экземплярах. Для использования балансировки и резервирования доступа по разным путям к СХД нужен multipath – софтина которая отслеживает доступность разных путей к тому и реализует failover and balancing по нескольким FC-путям.

Ставим multipath-tools из репозитория и смотрим что он сможет найти

Мультипас нашел все активные пути к тому, обращаться к нему теперь нужно через маппер:

360060e80132c620050202c620000003e это айдишник тома. Монтировать том можно либо по пути к устройству либо настроить конфиг мультипаса и облагородить метку. Пока эту тему оставлю на потом.

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

echo "- - -" > /sys/class/scsi_host/host[0-9]/scan

Смотрим в логах какие устройства обнаружились:

Появился еще один том по 2м путям, надо просканировать 2й порт хбашки и поднять еще 2 пути аналогично.

Мультипас у меня уже работает и сам все понял что и где появилось, проверим:

Ну вот и второй том с активным мулипасингом. Можно форматировать диски и отдавать систему в продуктив.

P.S. Если размер тома со стороны СХД изменился (например был расширен), то рескан уже имеющихся томов на предмет изменения размера можно сделать так:
[code] # echo 1 > /sys/block/[device_name]/device/rescan
[/code]

LINKS
http://www.techtamer.net/content/how-get-all-then-fc-info-you-need-and-more

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">