Linux DM Multipath - Linux DM Multipath
| изначальный выпуск | 17 июня 2005 г . Linux Kernel 2.6.12 |
|---|---|
| Репозиторий | https://git.opensvc.com/gitweb.cgi?p=multipath-tools%2F.git;a=log |
| Написано в | C |
| Операционная система | Linux |
Device Mapper Multipath Input Output часто сокращается до DM-Multipathing и сокращенно DM-MPIO обеспечивает переключение ввода-вывода ( I / O ) и балансировку нагрузки с использованием многопутевого ввода-вывода в Linux для блочных устройств . Используя device-mapper, демон multipathd предоставляет логику на стороне хоста для использования нескольких путей резервированной сети для обеспечения непрерывной доступности и связи с более высокой пропускной способностью между хост-сервером и устройством блочного уровня. DM-MPIO обрабатывает перенаправление блочного ввода-вывода на альтернативный путь в случае сбоя пути. DM-MPIO также может сбалансировать нагрузку ввода-вывода по всем доступным путям, которые обычно используются в средах Fibre Channel (FC) и iSCSI SAN . DM-MPIO основан на устройстве отображения устройств , которое обеспечивает базовую структуру, которая отображает одно блочное устройство на другое.
Соображения
При использовании Linux DM-MPIO в центре обработки данных с другими операционными системами и решениями с несколькими путями необходимо учитывать ключевые компоненты управления путями.
- Балансировка нагрузки - рабочая нагрузка распределяется по доступным аппаратным компонентам. Цель: сократить время завершения ввода-вывода, максимизировать пропускную способность и оптимизировать ресурсы
- Отработка отказа и восстановление пути - использует избыточные каналы ввода-вывода для перенаправления операций чтения и записи приложения, когда один или несколько путей больше не доступны.
История
DM-MPIO начинался как набор патчей, созданный Джо Торнбером, а позже поддерживался Аласдером Дж. Кергоном из Red Hat. Он был включен в основную версию Linux с версией ядра 2.6.12, выпущенной 17 июня 2005 года.
Составные части
DM-MPIO в Linux состоит из компонентов ядра и компонентов пользовательского пространства.
- Ядро - устройство-сопоставитель - блочная подсистема, обеспечивающая механизм многоуровневости для блочных устройств.
-
dm-multipath- модуль ядра, реализующий цель multipath device-mapper.
-
- Пользовательское пространство - multipath-tools - предоставляет инструменты для управления многопутевыми устройствами путем указания модулю multipath-сопоставления устройств, что делать. Инструменты состоят из:
- Многопутевый: сканирует систему на наличие многопутевых устройств, собирает их, обновляет карту устройства-сопоставителя.
- Multipathd: демон, который ожидает событий карты, а затем выполняет multipath и отслеживает пути. Помечает путь как сбойный, когда путь становится ошибочным. В зависимости от политики восстановления после отказа он может повторно активировать путь.
- Devmap-name: предоставляет значимое имя устройства для udev для devmaps.
- Kpartx: сопоставляет линейные devmaps с разделами устройств, чтобы сделать многопутевые карты разделяемыми.
- Multipath.conf: файл конфигурации для демона multipath. Используется для перезаписи встроенной таблицы конфигурации multipathd.
Конфигурационный файл
Файл конфигурации /etc/multipath.conf делает многие из функций DM-MPIO настраиваемыми пользователем. Команда multipath и демон ядра multipathd используют информацию, содержащуюся в этом файле. К файлу обращаются только во время настройки многопутевых устройств. Перед запуском команды multipath необходимо внести изменения . Последующие изменения файла потребуют повторного выполнения функции multipath .
Multipath.conf состоит из пяти разделов:
- Значения по умолчанию на системном уровне (по умолчанию ): Пользователь может изменить настройки по умолчанию на системном уровне.
- Устройства, занесенные в черный список ( черный список ): Пользователь указывает список устройств, которые не должны находиться под контролем DM-MPIO.
- Исключения из черного списка ( blacklist_exceptions ): определенные устройства должны рассматриваться как устройства с несколькими путями, даже если они перечислены в черном списке.
- Специфические настройки контроллера хранилища ( устройства ): указанные пользователем настройки конфигурации будут применены к устройствам с указанной информацией «Поставщик» и «Продукт».
- Параметры для конкретных устройств ( многопутевые ): точная настройка параметров конфигурации для отдельных LUN.
Терминология
- HBA: адаптеры шины хоста обеспечивают физический интерфейс между шиной хоста ввода / вывода (I / O) устройств Fibre Channel и базовой сетью Fibre Channel.
- Путь: подключение от сервера через HBA к определенному LUN.
- Состояния пути DM: вид устройства отображения состояния пути. Возможны только два условия:
- Активно: последняя операция ввода-вывода, отправленная по этому пути, успешно завершена. Аналогично состоянию пути готовности.
- Ошибка: последняя операция ввода-вывода, отправленная по этому пути, не завершилась успешно. Аналогично состоянию неисправного пути.
- Отработка отказа: когда определено, что путь находится в состоянии сбоя, путь, который находится в состоянии готовности, станет активным.
- Восстановление после сбоя: когда неудачный путь снова становится активным, multipathd может выбрать возврат на путь, определенный политикой восстановления после отказа.
- Политика восстановления после сбоя: четыре параметра, заданные в файле конфигурации multipath.conf.
- Немедленно: Немедленное переключение на путь с наивысшим приоритетом.
- Вручную: сбойный путь не отслеживается, требуется вмешательство пользователя для восстановления после сбоя.
- Followover (для кластеров): выполнять автоматическое восстановление после сбоя только тогда, когда первый путь группы путей становится активным. Это предохраняет узел от автоматического восстановления после отказа, когда другой узел запросил переход.
- Количество секунд: подождите определенное количество секунд, чтобы позволить I / O стабилизироваться, затем вернитесь к пути с наивысшим приоритетом.
- Активный / Активный: в системе с двумя контроллерами хранилища каждый контроллер может обрабатывать операции ввода-вывода.
- Активный / пассивный: в системе с двумя контроллерами хранилища только один контроллер одновременно может обрабатывать операции ввода-вывода, а другой (пассивный) находится в режиме ожидания.
- LUN: номер логического устройства SCSI
- WWID : Worldwide Identifier - это идентификатор многопутевого устройства, который гарантированно будет глобально уникальным и неизменным.
дальнейшее чтение
- Майкл, Т., Кабир, Р., Джайлз, Дж. И Халл, Дж. (2006 г.) Настройка Linux для включения многопутевого ввода-вывода. Получено с http://www.dell.com/downloads/global/power/ps3q06-20060189-Michael.pdf
- Гоггин, Э., Кергон, А., Вароки, К., и Олиен, Д. (2005) Труды симпозиума по Linux - Многопутевость в Linux. Получено с https://web.archive.org/web/20101227213252/http://www.linuxinsight.com/files/ols2005/goggin-reprint.pdf
- Документация Red Hat. (nd) Red Hat Enterprise Linux 6, DM Multipath. Получено с https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/DM_Multipath/.
- Вароки, К. (2010). Многопутевая реализация в Linux. Получено с http://christophe.varoqui.free.fr/refbook.html
Рекомендации
внешняя ссылка
- multipath-tools , домашняя страница вышестоящего проекта, используемого для управления драйвером multipathing Device Mapper.