Device Mapper Multipath Input Output часто сокращается до DM-Multipathing и сокращенно DM-MPIO обеспечивает переключение ввода-вывода ( I / O ) и балансировку нагрузки с помощью многопутевого ввода-вывода в Linux для блочных устройств . [1] [2] [3] Используя устройство сопоставления, демон multipathd предоставляет логику на стороне хоста для использования нескольких путей резервной сети для обеспечения постоянной доступности и связи с более высокой пропускной способностью между хост-сервером и уровнем блоков. устройство. [4]DM-MPIO обрабатывает перенаправление блочного ввода-вывода на альтернативный путь в случае сбоя пути. DM-MPIO также может сбалансировать нагрузку ввода-вывода по всем доступным путям, которые обычно используются в средах Fibre Channel (FC) и iSCSI SAN . [5] ДМ-MPIO основан на Mapper устройства , [6] , который обеспечивает основную структуру , которая отображает один блок устройства на другое.
Первый выпуск | 17 июня 2005 г . Linux Kernel 2.6.12 |
---|---|
Репозиторий | https://git.opensvc.com/gitweb.cgi?p=multipath-tools%2F.git;a=log |
Написано в | C |
Операционная система | Linux |
Соображения
При использовании Linux DM-MPIO в центре обработки данных с другими операционными системами и решениями с несколькими путями необходимо учитывать ключевые компоненты управления путями.
- Балансировка нагрузки - рабочая нагрузка распределяется по доступным аппаратным компонентам. Цель: сократить время выполнения операций ввода-вывода, максимизировать пропускную способность и оптимизировать ресурсы.
- Отработка отказа и восстановление пути - использует избыточные каналы ввода-вывода для перенаправления операций чтения и записи приложения, когда один или несколько путей больше не доступны.
История
DM-MPIO начинался как набор патчей, созданный Джо Торнбером, а позже поддерживался Аласдером Дж. Кергоном из Red Hat. Он был включен в основную версию Linux с версией ядра 2.6.12, выпущенной 17 июня 2005 г. [7]
Составные части
DM-MPIO в Linux состоит из компонентов ядра и компонентов пользовательского пространства.
- Ядро - устройство-сопоставитель - блочная подсистема, которая обеспечивает механизм многоуровневости для блочных устройств.
dm-multipath
- модуль ядра, реализующий цель multipath device-mapper.
- Пользовательское пространство - multipath-tools - предоставляет инструменты для управления многопутевыми устройствами, инструктируя модуль multipath-device-mapper, что делать. Инструменты состоят из:
- Многопутевый: сканирует систему на наличие многопутевых устройств, собирает их, обновляет карту устройства-сопоставителя. [5]
- Multipathd: демон, который ожидает событий карты, а затем выполняет multipath и отслеживает пути. Помечает путь как сбойный, когда путь становится ошибочным. В зависимости от политики восстановления после отказа он может повторно активировать путь. [5]
- Devmap-name: предоставляет значимое имя устройства для udev для devmaps. [5]
- Kpartx: сопоставляет линейные devmaps с разделами устройств, чтобы сделать multipath maps разделяемыми. [5]
- Multipath.conf: файл конфигурации для демона multipath. Используется для перезаписи встроенной таблицы конфигурации multipathd.
Конфигурационный файл
Файл конфигурации /etc/multipath.conf делает многие функции DM-MPIO настраиваемыми пользователем. Команда multipath и демон ядра multipathd используют информацию, содержащуюся в этом файле. К файлу обращаются только во время настройки многопутевых устройств. Перед запуском команды multipath необходимо внести изменения . Последующие изменения файла потребуют повторного выполнения функции multipath .
Multipath.conf состоит из пяти разделов: [8]
- Значения по умолчанию на системном уровне (по умолчанию ): Пользователь может изменить настройки по умолчанию на системном уровне.
- Устройства, занесенные в черный список ( черный список ): Пользователь указывает список устройств, которые не должны находиться под контролем DM-MPIO.
- Исключения из черного списка ( blacklist_exceptions ): определенные устройства должны рассматриваться как устройства с несколькими путями, даже если они перечислены в черном списке.
- Специфические настройки контроллера хранилища ( устройства ): указанные пользователем настройки конфигурации будут применены к устройствам с указанными данными «Поставщик» и «Продукт».
- Параметры для конкретных устройств ( многопутевые ): точная настройка параметров конфигурации для отдельных LUN.
Терминология
- HBA: адаптеры шины хоста обеспечивают физический интерфейс между шиной хоста ввода / вывода (I / O) устройств Fibre Channel и базовой сетью Fibre Channel. [9]
- Путь: подключение от сервера через HBA к определенному LUN.
- Состояния пути DM: вид устройства отображения состояния пути. Возможны только два условия:
- Активно: последняя операция ввода-вывода, отправленная по этому пути, успешно завершена. Аналогично состоянию пути готовности.
- Ошибка: последняя операция ввода-вывода, отправленная по этому пути, не была успешно завершена. Аналогично состоянию неисправного пути.
- Отработка отказа: когда определено, что путь находится в состоянии сбоя, путь, который находится в состоянии готовности, станет активным. [10]
- Восстановление после сбоя: когда неудачный путь снова становится активным, multipathd может выбрать возврат на путь, определенный политикой восстановления после сбоя. [11]
- Политика восстановления после сбоя: четыре параметра, заданные в файле конфигурации multipath.conf.
- Немедленно: Немедленное переключение на путь с наивысшим приоритетом.
- Вручную: сбойный путь не отслеживается, требуется вмешательство пользователя для восстановления после сбоя.
- Followover (для кластеров): выполнять автоматическое восстановление после сбоя только тогда, когда первый путь группы путей становится активным. Это предохраняет узел от автоматического восстановления после сбоя, когда другой узел запросил аварийное переключение.
- Количество секунд: Подождите определенное количество секунд, чтобы позволить I / O стабилизироваться, затем вернитесь к пути с наивысшим приоритетом.
- Активный / Активный: в системе с двумя контроллерами хранилища каждый контроллер может обрабатывать ввод-вывод. [12]
- Активный / пассивный: в системе с двумя контроллерами хранилища только один контроллер одновременно может обрабатывать операции ввода-вывода, а другой (пассивный) находится в режиме ожидания. [12]
- 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
Рекомендации
- ^ Гоггин, Эдвард; Кергон, Аласдер; Вароки, Кристоф; Олиен, Дэвид. «Linux Multipathing» (PDF) .
- ^ Вароки, Кристоф. «Реализация многопутевого Linux» .
- ^ Оберг, Майкл. «Исследование архитектур параллельных хранилищ для Blue Gene / L на TeraGrid» (PDF) .
- ^ ван Вугт, Сандер. Практическое руководство по высокой доступности XEN .
- ^ а б в г д SUSE. «Руководство администратора хранилища, SUSE Linux Enterprise Server 11 SP1» (PDF) . Документация SLES11, стр. 49 .
- ^ https://lwn.net/Articles/124703/
- ^ Linux 2.6.12 kernelnewbies.org
- ^ Красная шляпа. «Использование Device-Mapper Multipath» . Использование Device-Mapper Multipath .
- ^ Гупта, Мита (2002). Основы сети хранения данных . Индианаполис, Индиана: Cisco Press. п. 81. ISBN 1-58705-065-X.
- ^ Андерсон, Майкл. "SCSI Mid-Level Multipath" (PDF) .
- ^ «Руководство администратора хранилища, документация SLES11» (PDF) . SUSE. п. 73.
- ^ а б Centos. «Обзор DM-Multipath» . Использование Device-Mapper Multipath .
Внешние ссылки
- multipath-tools , домашняя страница вышестоящего проекта, используемого для управления драйвером multipathing Device Mapper.