Сначала выберите правильный стек многоканального доступа.
В SUSE Linux Enterprise Server 15 Device Mapper Multipath (DM-Multipath) является стандартным решением для хранилищ SCSI и DASD, представленных по нескольким путям. Он объединяет совпадающие пути к одному логическому блочному устройству, отслеживает состояние путей и может переключаться между группами путей при сбое. Он защищает соединение с томом хранения; он не защищает от сбоя тома, потери данных контроллера или повреждения файловой системы.
В SLES 15 используется другой параметр по умолчанию: в ядре включена встроенная многоканальная передача данных NVMe. Для NVMe over Fabrics перед выполнением процедуры DM-Multipath убедитесь, что встроенная многоканальная передача данных NVMe является рекомендуемым стеком для вашей подсистемы. SUSE рекомендует использовать встроенную многоканальную передачу данных NVMe и заявляет, что использование DM-Multipath для NVMe не рекомендуется. См. руководство SUSE по многоканальной передаче данных SLES 15 SP7 и руководство по NVMe over Fabrics .
Прежде чем менять хост
- Убедитесь, что массив хранения, HBA или сетевой транспорт, а также версия SLES поддерживаются совместно. В тех случаях, когда настройки многоканального доступа Linux отличаются от стандартных настроек, следуйте инструкциям производителя массива.
- Попросите администратора хранилища предоставить LUN хосту через соответствующие коммутационные сети и подтвердить зонирование и маскирование LUN.
- Запишите текущую схему загрузки и хранения данных. Определите, находится ли корневая файловая система, файл подкачки или физический том LVM на хранилище SAN.
- Не монтируйте, не форматируйте, не добавляйте в LVM и не записывайте данные на каждое отдельное устройство пути. Один и тот же LUN должен использоваться только через его карту мультипутей; одновременное использование необработанных путей может привести к повреждению данных.
- Перед изменением конфигурации загрузки SAN настройте консольный или внеполосный доступ. Несоответствие между работающей системой и initramfs может привести к переходу хоста в аварийный режим.
1. Убедитесь, что Linux видит пути к хранилищу.
Сначала убедитесь, что HBA или iSCSI-транспорт подключен и что SLES видит ожидаемые блочные устройства. Для SCSI-хранилищ проверьте устройства и их идентификаторы:
sudo lsblk -o NAME,TYPE,SIZE,MODEL,SERIAL
Данная инвентаризация подтверждает, видны ли ожидаемые блочные устройства размером с LUN. На данном этапе не следует предполагать, что отдельные имена устройств подтверждают наличие отдельных томов хранения: на следующих шагах проверяются их WWID и пути, соответствующие группам.
Если ожидаемые пути отсутствуют, остановитесь здесь и сначала устраните проблему обнаружения. Проверьте видимость HBA, сеансы iSCSI или вход в систему Fibre Channel, зонирование SAN, маскирование LUN и процедуру повторного сканирования от поставщика хранилища. Многопутевой режим не может создавать пути, которые не доступны на транспортном уровне.
2. Установите и запустите службу multipath.
Установите пакет SUSE, если он еще не установлен, затем включите демон, чтобы карты собирались при загрузке:
sudo zypper install multipath-tools
sudo systemctl enable --now multipathd
sudo systemctl status multipathd
Этот multipath-toolsпакет предоставляет инструменты командной строки multipath и саму multipathdслужбу. SUSE рекомендует оставлять службу включенной и работающей на системах с поддержкой multipath на аппаратном обеспечении; использование только активации сокета systemd может привести к тому, что карты будут не установлены во время загрузки. После активации демона сравните WWID и идентификаторы путей:
sudo multipathd show paths format "%i %d %w %s"
sudo multipath -ll
Пути к одному и тому же LUN должны указывать на один и тот же WWID. Разные WWID представляют разные устройства и не должны объединяться в одну карту.
Для многих массивов данных достаточно встроенных аппаратных настроек по умолчанию. Не стоит создавать большой конфигурационный файл только для того, чтобы включить многоканальный доступ.
3. Добавьте только необходимое переопределение конфигурации.
Используйте /etc/multipath.confтолько при наличии конкретных требований, таких как стабильный и удобный псевдоним или настройка, заданная производителем. Инструменты многопутевого доступа идентифицируют пути по WWID; псевдоним карты — это отдельное, настраиваемое имя. Псевдоним для каждого устройства можно настроить следующим образом:
multipaths {
multipath {
wwid 3600EXAMPLE_REPLACE_WITH_THE_REAL_WWID
alias appdata01
}
}
Замените указанный в примере WWID точным идентификатором LUN. Не копируйте заполнитель и не придумывайте правила для конкретного производителя/продукта. SUSE рекомендует минимизировать конфигурацию, а любые специфические настройки для массива должны предоставляться поставщиком хранилища. Встроенные свойства устройства могут иметь приоритет над общими значениями в этом defaultsразделе, поэтому общее значение по умолчанию может не изменить поведение конкретного массива.
Если вам нужен полный шаблон-образец, SUSE документирует multipath -Tгенератор. Например, пользователь с правами root может сохранить его с помощью команды sudo sh -c 'multipath -T > /etc/multipath.conf'`.`. Этот шаблон содержит множество директив; просмотрите его и сохраните только те настройки, которыми вы собираетесь управлять.
4. Проверьте и примените конфигурацию.
Перед изменением настроек карты в реальном времени запросите у Multipath отображение топологии, которая будет создана при предложенных параметрах:
sudo multipath -d -v2
Перед продолжением проверьте WWID и группировку путей. Этот тестовый запуск показывает предлагаемые карты, но не все карты, которые могут быть удалены или сброшены. Если демон уже запущен, применяйте конфигурацию через демон, а не с помощью автономной команды multipath для применения новых настроек:
sudo multipathd reconfigure
Затем проверьте результат в реальном времени с помощью sudo multipath -llили sudo multipathd show topology. В руководстве SUSE отмечается, что эти представления обычно показывают одну и ту же топологию; одно отображает состояние ядра, а другое — состояние демона.
5. Поддерживайте синхронизацию initramfs.
После внесения изменений в /etc/multipath.confфайлы WWID или привязок, связанные с ними параметры конфигурации или правила udev, влияющие на идентификацию устройств, пересоберите initramfs:
sudo dracut -f
SUSE требует, чтобы загруженная система и initramfs вели себя согласованно в отношении многопутевого доступа. Это особенно важно, когда корневая файловая система находится на многопутевом устройстве SAN. Перед перезагрузкой хоста, загруженного с SAN, убедитесь, что желаемая карта доступна и что конфигурация включает необходимую поддержку хранилища. При пересоздании initramfs из среды восстановления или после загрузки с отключенным многопутевым доступом следуйте явной процедуре SUSE, dracut --add multipathа --omit multipathне предполагайте, что автоматическое определение будет соответствовать обычной загрузке.
6. Перед использованием проверьте карту.
В корректной карте должны отображаться ожидаемый WWID, идентификатор производителя/продукта, группы путей и отдельные пути. В столбцах состояния путей activeобозначает состояние пути ядра, readyобозначает корректный многопутевой путь, а running— состояние устройства SCSI. Массивы с активными/пассивными контроллерами также могут отображать пассивные пути как ghost; интерпретируйте это состояние, используя политику пути массива, а не рассматривая его автоматически как ошибку.
Используйте карту multipath или постоянную ссылку по идентификатору в последующей конфигурации хранилища. Не размещайте файловые системы, LVM или данные приложений по отдельному /dev/sdXпути. Стабильная ссылка может быть основана на WWID карты /dev/mapperили соответствующей /dev/disk/by-id/dm-uuid-mpath-WWIDссылке. Избегайте предположения, что псевдоним, например, mpathaостанется назначенным, если вы специально его не настроили.
Краткий справочник
| Цель | Команда или файл | Что подтвердить |
| Отображение карт и путей многопутевого доступа | sudo multipath -ll | Ожидается WWID и все запланированные пути. |
| Проверьте идентификаторы пути. | sudo multipathd show paths format "%i %d %w %s" | Пути к одному LUN используют один WWID. |
| Проверить состояние демона | sudo systemctl status multipathd | Сервис активен и включен. |
| Предварительный просмотр предлагаемых карт | sudo multipath -d -v2 | Перед применением изменений корректно сгруппированы соответствующие устройства. |
| Перезагрузить конфигурацию демона | sudo multipathd reconfigure | Текущая топология отражает заданную конфигурацию. |
| Синхронизация конфигурации загрузки | sudo dracut -f | Выполняется после внесения соответствующих изменений в параметры многопутевого распространения или идентификации устройства. |
Устранение неполадок, когда карта отсутствует или неисправна.
- Пути не отображаются: перед редактированием правил многопутевого доступа подтвердите вход в транспортный интерфейс, обнаружение HBA, зонирование, маскирование LUN и обнаружение устройств ядра.
- LUN отображается как отдельный диск: сравните WWID. Если они различаются, убедитесь, что хранилище предоставило один и тот же LUN по каждому пути. Если они совпадают, но карта не отображается, проверьте состояние демона и политику выбора устройства.
- Один из каналов неисправен или отключен: проверьте кабель или коммутационную матрицу, порт HBA, порт коммутатора, целевой контроллер и журналы событий массива. Не настраивайте таймеры опроса или сбоев без рекомендаций производителя системы хранения данных.
- После изменения параметров загрузки хост переходит в аварийный режим: необходимо исследовать несоответствия в выборе многопутевого доступа и ссылках на устройства, затем использовать процедуру восстановления SUSE для корневого устройства и initramfs.
- Задержки ввода-вывода возникают, когда все пути выходят из строя: операции ввода-вывода в очереди могут заставить приложения ждать. Рассматривайте политику очередей как оперативное решение, принимаемое совместно владельцами хранилища и приложений; ее изменение может превратить ожидающие операции записи в сообщения об ошибках ввода-вывода.
Не проверяйте отказоустойчивость, отключая производственный канал без плана технического обслуживания и утвержденной поставщиком процедуры. Подтвердите восстановление с помощью поддерживаемого мониторинга и контролируемого тестового окна. Для настроек по умолчанию и шагов восстановления, специфичных для массива, используйте текущую документацию поставщика оборудования, а также справочник SUSE по настройке, проверке и устранению неполадок многоканального доступа .