Fc подключение к схд сервера под linux
Задача:
Как подключиться к LUN выделенному на системе хранения
Решение:
Обновите систему и перезагрузите сервер с новым ядром
Обновление драйвера QLE2562
Ядро уже содержит драйвер для QLE2562, но вы можете использовать самый свежий драйвер с сайта производителя. Скачайте архив с драйвером
Установка компиляторов и прочих пакетов:
yum install gcc* unzip kernel-devel
Распаковать архив с драйвером и выполнить установку:
tar -xzf qla2xxx-src-v8.07.00.39.07.0-k.tar.gz cd qla2xxx-8.07.00.39.07.0-k/ ./extras/build.sh install
Проверить версию установленного драйвера:
modinfo qla2xxx | grep ^version version: 8.07.00.39.07.0-k
Перезагрузить сервер:
reboot
Получение параметров HBA
Найти HBA карты на вашем сервере:
yum install pciutils lspci -nn | grep -i hba
Есть другие способы чтобы получить информацию о HBA, но удобнее использовать systool (пакет sysfsutils).
yum install sysfsutils systool -c fc_host
Найти WWN портов:
systool -c fc_host -v | grep port_name port_name = "0x21000024ff53e456" port_name = "0x21000024ff53e457"
Сообщите эти значения администратору для настройки параметров доступа к вашему LUN
Определить статус портов:
systool -c fc_host -v | grep port_state port_state = "Online" port_state = "Online"
Если статус Online и настроен доступ на СХД, то можно перезагрузить модуль адаптера и попытаться увидеть ваш LUN
rmmod qla2xxx modprobe qla2xxx
lsscsi -s [0:0:1:1] disk HUAWEI XSG1 4303 /dev/sdg 214GB [0:0:2:1] disk HUAWEI XSG1 4303 /dev/sdh 214GB [7:0:1:1] disk HUAWEI XSG1 4303 /dev/sdc 214GB [7:0:2:1] disk HUAWEI XSG1 4303 /dev/sdd 214GB [7:0:4:1] disk HUAWEI XSG1 4303 /dev/sde 214GB [7:0:5:1] disk HUAWEI XSG1 4303 /dev/sdf 214GB
В этом примере мне выделен один LUN на 200GB, но я вижу 8 штук. Причина в том, что этот LUN виден по 8-ми путям. 2 порта на моем сервере и группа из 4-х портов на СХД образуют 8 возможных путей прохождения данных.
Это необходимо для распределения нагрузки и отказоустойчивости.
- Какое же из устройств использовать? - Если вы просто будете использовать в таком варианте одно из устройств, то это означает использование только одного пути.
Для использования всех нужно использовать либо службу Multipath или Huawei OceanStor UltraPath
Многопутевой ввод-вывод (Multipath I/O)
Использовать много-путевой доступ необходимо даже в том случае если на вашем сервере используется 1 порт.
Иначе, например, в случае обновления прошивки на одном из контроллеров СХД произойдет временное отключение вашего сервера от СХД и данные на вашем LUN могу быть повреждены.
Многопутевой ввод-вывод (Multipath I/O) — технология подключения узлов сети хранения данных с использованием нескольких маршрутов. В случае отказа одного из контроллеров, операционная система будет использовать другой для доступа к устройству. Это повышает отказоустойчивость системы и позволяет распределять нагрузку.
Multipath устройства объединяются в одно устройство с помощью специализированного программного обеспечения в новое устройство. Multipath обеспечивает выбор пути и переключение на новый маршрут при отказе текущего. Это происходит невидимо для программ и процессов использующих это устройство. Кроме того Multipath способен распределять передачу данных по разным путям посредством различных алгоритмов, например:
- round-robin - Цикл по всем маршрутам в группе маршрутов, посылая одинаковый поток в каждый)
- queue-length Посылать следующую порцию данных по маршруту с наименьшим количеством невыполненных запросов
- service-time - Посылать следующую порцию данных по маршруту с наименьшими задержками, которые определяются делением общего объема невыполненного ввода/вывода на каждом маршруте на их относительную пропускную способность.
Преимущества Huawei UltraPath
Установка OceanStor UltraPath
Запросить у службы поддержки ссылку на пакет OceanStor UltraPath соответствующий версии вашей ОС.
Распаковать архив и установить UltraPath:
unzip OceanStor_UltraPath_V100R008C50SPC200_RHEL.zip cd ./RHEL/ sh ./install.sh
В ходе установки вам будет предложено выбрать опции:
1: Boot from local 2: Boot from SAN
Если система у вас установлена на локальном HDD, то ваш выбор должен быть - 1: Boot from local Если ваша система установливалась на диск доступный по Fibre Channel или iSCSI, то ваш выбор должен быть - 2: Boot from SAN
Следующий шаг - согласиться или отказаться от перезагрузки системы.
The installation is complete. Whether to restart the system now? <Y|N>:n
Если для подключения к системе хранения используются HBA адаптеры HCA, QLogic или Emulex, мы рекомендуем установить значение N.
Установите следующие параметры драйвера HBA адаптера:
Например для QLogic (qla2xxx) в файле /etc/modprobe.d/nxupmodules.conf следует добавить строки, если их там нет:
options qla2xxx ql2xfailover=0 options qla2xxx qlport_down_retry=5
Для Emulex:
options lpfc lpfc_nodev_tmo=5
Для программного адаптера Linux-iscsi (Red Hat AS4) в файле /etc/iscsi.conf должны быть параметры:
Multipath=portal ConnFailTimeout=1
Для программного адаптера open-iscsi (RHEL-7, Centos) в файле /etc/iscsi/iscsid.conf должны быть параметры:
node.startup = automatic node.session.timeo.replacement_timeout=1
Перезагрузите сервер:
reboot
Убедитесь, что UltraPath работает
lsscsi | grep updisk [8:0:0:1] disk up updisk 4303 /dev/sdc
В данном случае виртуальный диск созданный UltraPath имеет имя /dev/sdc
В дальнейшем вы можете использовать его для всех нужд
Создать раздел:
parted -s /dev/sdc mkpart primary ext2 1 215GB
Создать файловую систему XFS:
mkfs.xfs /dev/sdc1
Настройка UltraPath
Для управления параметрами используется утилита upadmin
Конфигурация по умолчанию после установки:
upadmin show upconfig ======================================================= UltraPath Configuration ======================================================= Basic Configuration Working Mode : load balancing within controller LoadBalance Mode : min-queue-depth Loadbanlance io threshold : 100 LUN Trespass : on
Здесь стоит изменить параметр Working Mode чтобы данные одновременно передавались по всем путям
upadmin set workingmode -m 0
Контроль I/O по путям для LUN с идентификатором 0:
upadmin show iostat vlun_id=0
Пересканировать SCSI
Если у вас изменился список scsi устройств (добавили LUN), то система не увидит их сама В дистрибутивах основанных на Red Hat есть скрипт:
/usr/bin/rescan-scsi-bus.sh
После отрабатывания скрипта проверьте вывод команды:
lsscsi -s
Смотрите также:
UltraPath 21.3.0
Актуальность: 2019/02/8