Конфигурационный файл DM-Multipath Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:множественное_связывание_устройств:configuration [2012/05/27 15:05]
[Значения по умолчанию в файле конфигурации]
wiki:руководство_по_ubuntu_server:множественное_связывание_устройств:configuration [2013/02/20 09:06] (текущий)
Строка 10: Строка 10:
 По умолчанию DM-Multipath предоставляет конфигурации для большинства множественных устройств. В дополнение к этому DM-Multipath включает поддержку большинства массивов хранения,​ которые поддерживают DM-Multipath. Значения конфигураций по умолчанию и поддерживаемые устройства можно найти в файле multipath.conf.defaults. По умолчанию DM-Multipath предоставляет конфигурации для большинства множественных устройств. В дополнение к этому DM-Multipath включает поддержку большинства массивов хранения,​ которые поддерживают DM-Multipath. Значения конфигураций по умолчанию и поддерживаемые устройства можно найти в файле multipath.conf.defaults.
  
-Вы можете переопределить настроенные значения по умолчанию для DM-Multipath,​ изменив конфигурационный файл /​etc/​multipath.conf. Если необходимо,​ вы можете также добавить массив хранения,​ который не поддерживается по умолчанию,​ в конфигурационный файл. Эта глава предоставляет информацию по разбору иизменению файла multipath.conf. Она содержит следующие секции:​+Вы можете переопределить настроенные значения по умолчанию для DM-Multipath,​ изменив конфигурационный файл /​etc/​multipath.conf. Если необходимо,​ вы можете также добавить массив хранения,​ который не поддерживается по умолчанию,​ в конфигурационный файл. Эта глава предоставляет информацию по разбору и изменению файла multipath.conf. Она содержит следующие секции:​
  
   -- [[#​обзор_файла_конфигурации|Обзор файла конфигурации]]   -- [[#​обзор_файла_конфигурации|Обзор файла конфигурации]]
Строка 18: Строка 18:
   -- [[#​устройства_в_файле_конфигурации|Устройства в файле конфигурации]]   -- [[#​устройства_в_файле_конфигурации|Устройства в файле конфигурации]]
  
-В файле конфигурации multipath вам нужно определить только те секции,​ которые вам потребуются для ваших настройек или те, для которых вы захотите изменить значения по умолчанию,​ определенные в multipath.conf.defaults. Если в файле присутствуют секции не относящиеся к вашему оборудованию или для которых вы не хотите менять значения по умолчанию,​ вы можете оставить их закомментированными,​ как в изначальном файле.+В файле конфигурации multipath вам нужно определить только те секции,​ которые вам потребуются для ваших настроек или те, для которых вы захотите изменить значения по умолчанию,​ определенные в multipath.conf.defaults. Если в файле присутствуют секции не относящиеся к вашему оборудованию или для которых вы не хотите менять значения по умолчанию,​ вы можете оставить их закомментированными,​ как в изначальном файле.
  
 Файл конфигурации допускает синтаксис регулярных выражений. Файл конфигурации допускает синтаксис регулярных выражений.
Строка 41: Строка 41:
  
 **devices**\\ **devices**\\
-Параметры настроек для отдельных контроллеров хранилищ. Эти значения переопределяют те, что определены в секции **defaults**. Если вы ииспользуете дисковый массив,​ который не поддерживается по умолчанию,​ вам может потребоваться создать для него подсекцию в разделе **devices**.+Параметры настроек для отдельных контроллеров хранилищ. Эти значения переопределяют те, что определены в секции **defaults**. Если вы используете дисковый массив,​ который не поддерживается по умолчанию,​ вам может потребоваться создать для него подсекцию в разделе **devices**.
  
 Когда система определяет атрибут множественного устройства,​ сначала она ищет совпадения в секции **multipath**,​ потом в **devices**,​ и только затем использует значения по умолчанию. Когда система определяет атрибут множественного устройства,​ сначала она ищет совпадения в секции **multipath**,​ потом в **devices**,​ и только затем использует значения по умолчанию.
Строка 112: Строка 112:
 Когда добавляете устройства в секцию **blacklist_exceptions** конфигурационного файла, вы должны указывать исключения тем же способом,​ что и в секции **blacklist**. Например,​ исключение по WWID не сработает для устройств,​ определенных в **blacklist** с помощью **devnode**,​ даже если заблокированное устройство ассоциируется с данным WWID. Точно так же исключения по devnode применимы только к меткам **devnode**,​ а исключения по device - к меткам **device**. Когда добавляете устройства в секцию **blacklist_exceptions** конфигурационного файла, вы должны указывать исключения тем же способом,​ что и в секции **blacklist**. Например,​ исключение по WWID не сработает для устройств,​ определенных в **blacklist** с помощью **devnode**,​ даже если заблокированное устройство ассоциируется с данным WWID. Точно так же исключения по devnode применимы только к меткам **devnode**,​ а исключения по device - к меткам **device**.
  
-====Значения по умолчанию в файле конфигурации==== +==== Значения по умолчанию в файле конфигурации ====
- +
-FIXME Убрать после выяснения ошибки с заголовком таблицы +
- +
-^ Атрибут ​ ^ Описание ​ ^ +
-| polling_interval ​ | Определяет интервал между двумя проверками маршрутов в секундах. Для правильной работы маршрутов,​ проверки постепенно увеличиваются до значения **(4 * polling_interval)**. Значение по умолчанию **5**. ​ |+
  
 Файл конфигурации /​etc/​multipath.conf включает секцию **defaults**,​ которая устанавливает параметр **user_friendly_names** в **yes**, как показано ниже: Файл конфигурации /​etc/​multipath.conf включает секцию **defaults**,​ которая устанавливает параметр **user_friendly_names** в **yes**, как показано ниже:
Строка 148: Строка 143:
 }</​code>​ }</​code>​
  
-Таблица настроек Multipath по умолчанию определяет атрибуты,​ которые устанавливаются в секции **defaults ** файла multipath.conf. Эти значения используются DM-Multipath пока они не переопределены атрибутами,​ заданными в секциях **devices** и **multipaths** в этом же файле.+Таблица ​[[#​настройки_multipath_по_умолчанию|настроек Multipath по умолчанию]] определяет атрибуты,​ которые устанавливаются в секции **defaults ** файла multipath.conf. Эти значения используются DM-Multipath пока они не переопределены атрибутами,​ заданными в секциях **devices** и **multipaths** в этом же файле. 
 + 
 +==Настройки Multipath по умолчанию==
  
-  ? Настройки Multipath по умолчанию 
 ^ Атрибут ​ ^ Описание ​ ^ ^ Атрибут ​ ^ Описание ​ ^
-| polling_interval ​ | Определяет интервал между двумя проверками маршрутов в секундах. Для правильной работы маршрутов,​ проверки постепенно увеличиваются до значения **(4 * polling_interval)**. Значение по умолчанию **5**. ​ | +**polling_interval**  | Определяет интервал между двумя проверками маршрутов в секундах. Для правильной работы маршрутов,​ проверки постепенно увеличиваются до значения **(4 * polling_interval)**. Значение по умолчанию **5**. ​ | 
-| udev_dir ​ | Каталог,​ где создаются узлы устройств udev. По умолчанию **/​dev**. ​ | +**udev_dir**  | Каталог,​ где создаются узлы устройств udev. По умолчанию **/​dev**. ​ | 
-| multipath_dir ​ | Каталог,​ где сохраняются динамические объекты общего доступа. Значение по умолчанию зависит от системы,​ обычно **/​lib/​multipath**. ​ | +**multipath_dir**  | Каталог,​ где сохраняются динамические объекты общего доступа. Значение по умолчанию зависит от системы,​ обычно **/​lib/​multipath**. ​ | 
-| verbosity ​ | Значение уровня комментариев по умолчанию. Большее значение увеличивает количество комментариев. Допустимые значения от 0 до 6. Значение по умолчанию **2**. ​ | +**verbosity**  | Значение уровня комментариев по умолчанию. Большее значение увеличивает количество комментариев. Допустимые значения от 0 до 6. Значение по умолчанию **2**. ​ | 
-| path_selector ​ | Определяет алгоритм определения следующего маршрута ввода/​вывода по умолчанию. Возможные значения:​ \\ 1. **round-robin 0**: Цикл по всем маршрутам в группе маршрутов,​ посылая одинаковый поток в каждый. \\ 2. **queue-length 0**: Посылать следующую порцию данных по маршруту с наименьшим количеством невыполненных запросов. \\ 3. **service-time 0**: Посылать следующую порцию данных по маршруту с наименьшими задержками,​ которые определяются делением общего объема невыполненного ввода/​вывода на каждом маршруте на их относительную пропускную способность. \\ Значение по умолчанию **round-robin 0**.  | +**path_selector**  | Определяет алгоритм определения следующего маршрута ввода/​вывода по умолчанию. Возможные значения:​ \\ 1. **round-robin 0**: Цикл по всем маршрутам в группе маршрутов,​ посылая одинаковый поток в каждый. \\ 2. **queue-length 0**: Посылать следующую порцию данных по маршруту с наименьшим количеством невыполненных запросов. \\ 3. **service-time 0**: Посылать следующую порцию данных по маршруту с наименьшими задержками,​ которые определяются делением общего объема невыполненного ввода/​вывода на каждом маршруте на их относительную пропускную способность. \\ Значение по умолчанию **round-robin 0**.  | 
-| path_grouping_policy ​ | Определяет политику группирования маршрутов по умолчанию для заранее неопределенных множественных устройств. Допустимые значения:​ \\ 1. **failover** = 1 маршрут на приоритетную группу \\ 2. **multibus** = все доступные маршруты на 1 приоритетную группу \\ 3. **group_by_serial** = 1 приоритетная группа на обнаруженный серийный номер \\ 4. ** +**path_grouping_policy**  | Определяет политику группирования маршрутов по умолчанию для заранее неопределенных множественных устройств. Допустимые значения:​ \\ 1. **failover** = 1 маршрут на приоритетную группу \\ 2. **multibus** = все доступные маршруты на 1 приоритетную группу \\ 3. **group_by_serial** = 1 приоритетная группа на обнаруженный серийный номер \\ 4. **group_by_prio** = 1 приоритетная группа на значение приоритета маршрута \\ 5. **group_by_node_name** = 1 приоритетная группа на целевое имя узла \\ Значение по умолчанию **failover**.  | 
- +**getuid_callout**  ​| ​Определяет программу и аргументы для получения уникальный идентификатор маршрутаТребуется абсолютный адрес маршрута\\ значение по умолчанию **%%/​lib/​udev/​scsi_id --whitelisted --device=/​dev/​%n%%**.  | 
- +**prio**  ​| ​Определяет функцию вызова для определения значения приоритета маршрутаНапримербиты ​ALUA в спецификации ​SPC-3 обеспечивают приемлемое значение ​prio. \\ Возможные значения\\ 1. **const**Устанавливает приоритет ​для всех маршрутов\\ 2. **emc**Генерирует приоритет маршрута для массивов ​EMC. \\ 3. **alua**Генерирует приоритет маршрута на основе установок ALUA для ​SCSI-3. ​\\ 4. ** netapp**Генерирует приоритет маршрута для массивов ​NetApp. ​\\ 5. **rdac**Генерирует приоритет маршрута для контроллеров ​LSI/Engenio RDAC. \\ 6. **hp_sw**Генерирует приоритет маршрута для контроллеров ​Compaq/​HP ​в активно/резервном режиме\\ 7. **hds**Генерирует приоритет маршрута для дисковых массивов ​Hitachi HDS Modular. ​\\ Значение по умолчанию **const**.  | 
-%%Specifies the default path grouping policy to apply to unspecified multipaths. Possible values include: +**prio_args**  ​| ​Строка аргументов,​ передаваемая в функцию ​prio. Большинство функций ​prio не требуют аргументовУстановщик приоритетов ​datacore ​требует одинНапример**%%"​timeout=1000 preferredsds=foo"​%%**Значение по умолчанию **%%(null) ""​%%**.  | 
- +**features**  ​| ​Дополнительные особенности множественных устройствЕдинственная существующая опция - это **queue_if_no_path**аналогичная установке **no_path_retry** для **queue**Для дополнительной информации по проблемамкоторые могут возникнуть при использовании этой опциисмотрите секцию [[wiki:​руководство_по_ubuntu_server:​множественное_связывание_устройств:​troubleshooting|Администрирование DM-Multipath и устранение проблем]].  | 
-    failover = 1 path per priority group +**path_checker**  ​| ​Определяет метод по умолчанию для получения статуса маршрутаВозможные значения\\ 1. **readsector0**Читает первый сектор устройства\\ 2. **tur**Передает ​TEST UNIT READY устройству\\ 3. **emc_clariion**Запрашивает у EMC Clariion ​специфическую страницу ​EVPD 0xC0. \\ 4. **hp_sw**Определяет статус маршрута массива носителей ​HP с использованием микропрограммного статуса Активный/Резервный\\ 5. **rdac**Определяет статус маршрута для контроллера ​ хранилища ​LSI/Engenio RDAC. \\ 6. **directio**Использует прямое чтение первого сектора\\ Значение по умолчанию **directio**.  | 
- +**failback**  ​| ​Управляет восстановлением после сбоя на группе маршрутов\\ 1Значение **immediate** определяет немедленное восстановление приоритета до высшего у группы маршрутов,​ которая содержит активные маршруты\\ 2. **manual** предписываетчто не нужно немедленно восстанавливаться после сбоя и что восстановление может произойти только при вмешательстве оператора\\ 3. Числовое значение больше 0 определяет восстановление после указанного количества секунд. \\ Значение по умолчанию **manual**.  | 
-    multibus = all valid paths in 1 priority group +**rr_min_io**  ​| ​Определяет количество запросов ввода/вывода для переключения маршрута на другой в текущей группе маршрутов\\ Значение по умолчанию **1000**.  | 
- +**rr_weight**  ​| ​Если указано **priorities**то вместо отправки **rr_min_io** запросов до переключения маршрутаколичество запросов определяется **rr_min_io**умноженное на приоритет маршрута,​ определяемый функцией **prio**Если указано **uniform**то все маршруты имеют одинаковый вес\\ Значение по умолчанию **uniform**.  | 
-    group_by_serial = 1 priority group per detected serial number +**no_path_retry**  ​| ​Числовое значение для этого атрибута определяет количество попыток системы использовать поврежденный маршрут до отключенияЗначение **fail** указывает на немедленное отключениебез запросовЗначение **queue** указывает на безостановочный опрос маршрута до его восстановления\\ Значение по умолчанию **0**.  |  
- +**user_friendly_names**  ​| ​Если установлено **yes**означает,​ что система использует файл ​/​etc/​multipath/​bindings ​для назначения постоянного и уникального псевдонима (**alias**) для множественного устройства в виде ​mpathn. ​Если указано **no**система будет использовать ​WWID в качестве псевдонима для устройстваВ обоих случаях точто указано здесь может быть переопределено в секции **multipaths** конфигурационного файла\\ Значение по умолчанию **no**.  | 
-    ​group_by_prio = 1 priority group per path priority value +**queue_without_daemon**  ​| ​Если установлено **no**сервис **multipathd** отключит опрос всех устройств,​ когда они выключены\\ Значение по умолчанию **yes**.  | 
- +**flush_on_last_del**  ​| ​Если установлено **yes**то **multipath** отключит опрос устройства,​ когда последний маршрут к нему будет удален\\ Значение по умолчанию **no**.  | 
-    ​group_by_node_name = 1 priority group per target node name. +**max_fds**  ​| ​Устанавливает максимальное количество дескрипторов,​ которое может быть открыто **multipath** и сервисом **multipathd**Это эквивалент команде **ulimit -n**Значение максимума установится в качестве системного ограничения в файле ​/​proc/​sys/​fs/​nr_open. ​Если значение не установленомаксимальное количество дескрипторов открытых файлов берется из вызывающего процесса,​ обычно значение равно ​1024. Для безопасностистоит установить значение по максимальному количеству путей + 32, если это значение больше ​1024.  | 
- +**checker_timer**  ​| ​Ограничение по времени для проверок маршрутов,​ которое выдают ​SCSI команды с заданным таймаутомв секундах\\ Значение по умолчанию берется из /​sys/​block/​sdx/​device/​timeout, ​которое установлено в 30 сек. для выпуска Ubuntu ​12.04 LTS | 
-The default value is failover.%%  | +**fast_io_fail_tmo**  ​| ​Количество секунд,​ которое интерфейс ​SCSI будет ждать после обнаружения проблемы на удаленном порту оптического канала (FC) до установки состояния падения устройства ввода/вывода по этому портуЭто значение должно быть меньше,​ чем значение **dev_loss_tmo**Установка значения **off** выключает ограничение по времени\\ Значение по умолчанию зависит от операционной системы.  | 
-| getuid_callout ​ | %%Specifies the default program and arguments to call out to obtain a unique path identifierAn absolute path is required. +**dev_loss_tmo**  ​| ​Количество секунд,​ которое интерфейс ​SCSI будет ждать после обнаружения проблемы на удаленном порту оптического канала (FC) до удаления его из системыПри установке значения **infinity** будет использован интервал в 2147483647 ​сек. (68 лет)\\ Значение по умолчанию зависит от операционной системы.  |
- +
-The default value is /​lib/​udev/​scsi_id --whitelisted --device=/​dev/​%n.%%  | +
-| prio  | %%Specifies the default function to call to obtain a path priority valueFor examplethe ALUA bits in SPC-3 provide an exploitable ​prio valuePossible values include: +
- +
-    ​const: ​Set a priority of to all paths. +
- +
-    ​emc: Generate the path priority for EMC arrays. +
- +
-    ​alua: Generate the path priority based on the SCSI-3 ​ALUA settings. +
- +
-    ​netapp: ​Generate the path priority for NetApp ​arrays. +
- +
-    ​rdac: Generate the path priority for LSI/Engenio RDAC controller. +
- +
-    ​hp_sw: ​Generate the path priority for Compaq/​HP ​controller in active/standby mode. +
- +
-    ​hds: Generate the path priority for Hitachi HDS Modular ​storage arrays. +
- +
-The default value is const.%%  | +
-| prio_args ​ | The arguments string passed to the prio function Most prio functions do not need argumentsThe datacore ​prioritizer need oneExample, "​timeout=1000 preferredsds=foo"​. ​The default value is (null) ""​. ​ | +
-| features ​ | The extra features of multipath devicesThe only existing feature is queue_if_no_path, ​which is the same as setting ​no_path_retry ​to queue. ​For information on issues that may arise when using this featuresee Section"​Issues with queue_if_no_path feature"​.  | +
-| path_checker ​ | %%Specifies the default method used to determine the state of the pathsPossible values include: +
- +
-    ​readsector0: ​Read the first sector of the device. +
- +
-    ​tur: Issue a TEST UNIT READY to the device. +
- +
-    ​emc_clariion: ​Query the EMC Clariion ​specific ​EVPD page 0xC0 to determine the path. +
- +
-    ​hp_sw: ​Check the path state for HP storage arrays with Active/Standby firmware. +
- +
-    ​rdac: Check the path stat for LSI/Engenio RDAC storage controller. +
- +
-    ​directio: ​Read the first sector with direct I/O. +
- +
-The default value is directio.%%  | +
-| failback ​ | %%Manages path group failback. +
- +
-    A value of immediate specifies immediate failback to the highest priority path group that contains active paths. +
- +
-    A value of manual specifies that there should not be immediate ​failback but that failback can happen only with operator intervention. +
- +
-    A numeric value greater than zero specifies deferred failbackexpressed in seconds. +
- +
-The default value is manual.%%  | +
-| rr_min_io ​ | %%Specifies the number of I/O requests to route to a path before switching to the next path in the current path group. +
- +
-The default value is 1000.%%  | +
-| rr_weight ​ | %%If set to priorities, ​then instead of sending ​rr_min_io ​requests to a path before calling path_selector to choose the next paththe number of requests to send is determined by rr_min_io ​times the path's priorityas determined by the prio functionIf set to uniform, ​all path weights are equal. +
- +
-The default value is uniform.%%  | +
-| no_path_retry ​ | %%A numeric value for this attribute specifies the number of times the system should attempt to use a failed path before disabling queueingA value of fail indicates immediate failurewithout queueingA value of queue indicates that queueing should not stop until the path is fixed. +
- +
-The default value is 0.%%  | +
-| user_friendly_names ​ | %%If set to yes, specifies that the system should use the /​etc/​multipath/​bindings ​file to assign a persistent and unique ​alias to the multipath, in the form of mpathn. ​If set to no, specifies that the system should use the WWID as the alias for the multipathIn either casewhat is specified here will be overridden by any device-specific aliases you specify in the multipaths ​section of the configuration file. +
- +
-The default value is no.%%  | +
-| queue_without_daemon ​ | %%If set to no, the multipathd ​daemon will disable queueing for all devices when it is shut down. +
- +
-The default value is yes.%%  | +
-| flush_on_last_del ​ | %%If set to yes, then multipath ​will disable queueing when the last path to a device has been deleted. +
- +
-The default value is no.%%  | +
-| max_fds ​ | Sets the maximum number of open file descriptors that can be opened by multipath ​and the multipathd ​daemonThis is equivalent to the ulimit -n commandA value of max will set this to the system limit from /​proc/​sys/​fs/​nr_open. ​If this is not setthe maximum number of open file descriptors is taken from the calling process; it is usually ​1024. To be safethis should be set to the maximum number of paths plus 32, if that number is greater than 1024.  | +
-| checker_timer ​ | %%The timeout to use for path checkers that issue SCSI commands with an explicit timeoutin seconds. +
- +
-The default value is taken from /​sys/​block/​sdx/​device/​timeout, ​which is 30 seconds as of 12.04 LTS%%  | +
-| fast_io_fail_tmo ​ | %%The number of seconds the SCSI layer will wait after a problem has been detected on an FC remote port before failing I/O to devices on that remote portThis value should be smaller than the value of dev_loss_tmo. ​Setting this to off will disable the timeout. +
- +
-The default value is determined by the OS.%%  | +
-| dev_loss_tmo ​ | The number of seconds the SCSI layer will wait after a problem has been detected on an FC remote port before removing it from the systemSetting this to infinity ​will set this to 2147483647 ​seconds, or 68 yearsThe default value is determined by the OS.  |+
  
 ====Атрибуты множественности в файле конфигурации==== ====Атрибуты множественности в файле конфигурации====
  
-Table Multipath Attributes shows the attributes that you can set in the multipaths ​section of the multipath.conf ​configuration file for each specific multipath deviceThese attributes apply only to the one specified multipathThese defaults are used by DM-Multipath ​and override attributes set in the defaults ​and devices ​sections of the multipath.conf ​file. +Таблица [[#​атрибуты_множественности|Атрибуты множественности]] показывает атрибуты,​ которые вы можете устанавливать в секции **multipaths** конфигурационного файла ​multipath.conf ​для каждого отдельного множественного устройстваЭти атрибуты применяются только к одному конкретному множественному устройствуЭти значения по умолчанию используются ​DM-Multipath ​и переопределяют атрибуты,​ установленные в секциях **defaults** и **devices** файла ​multipath.conf.
-Multipath Attributes +
-Attribute Description +
-wwid Specifies the WWID of the multipath device to which the multipath attributes apply. This parameter is mandatory for this section of the multipath.conf file. +
-alias Specifies the symbolic name for the multipath device to which the multipath attributes apply. If you are using user_friendly_names,​ do not set this value to mpathn; this may conflict with an automatically assigned user friendly name and give you incorrect device node names.+
  
-In additionthe following parameters may be overridden in this multipath ​section+==Атрибуты множественности== 
 +^ Атрибут ​ ^ Описание ​ ^ 
 +| wwid  | Указывает WWID множественного устройствадля которого применяется атрибут множественности. Этот параметр обязательный для этой секции файла ​multipath.conf. ​ | 
 +| alias  | Определяет символическое имя для множественного устройства,​ для которого применяется атрибут множественности. Если вы используете **user_friendly_names**,​ не устанавливайте это значение в mpathn. Это может привести к конфликту с автоматически присвоенным дружественным именем и предоставить вам некорректные имена устройств. ​ |
  
-    ​path_grouping_policy+В дополнение следующие параметры могут быть переопределены в секции **multipath**:​ 
 +  -- path_grouping_policy 
 +  -- path_selector 
 +  -- failback 
 +  -- prio 
 +  -- prio_args 
 +  -- no_path_retry 
 +  -- rr_min_io 
 +  -- rr_weight 
 +  -- flush_on_last_del
  
-    path_selector+Следующий пример показывает множественные атрибуты,​ определенные в конфигурационном файле для двух отдельных множественных устройств. Первое устройство имеет WWID 3600508b4000156d70001200000b0000 и символическое имя **yellow**.
  
-    failback +Второе устройство в примере имеет ​WWID 1DEC_____321816758474 ​и символическое имя **red**В этом примере атрибут **rr_weight** установлен в значение **priorities**
- +<​code>​multipaths {
-    prio +
- +
-    prio_args +
- +
-    no_path_retry +
- +
-    rr_min_io +
- +
-    rr_weight +
- +
-    flush_on_last_del +
- +
-The following example shows multipath attributes specified in the configuration file for two specific multipath devices. The first device has a WWID of 3600508b4000156d70001200000b0000 and a symbolic name of yellow. +
- +
-The second multipath device in the example has a WWID of 1DEC_____321816758474 ​and a symbolic name of red. In this example, the rr_weight ​attributes is set to priorities. +
- +
-multipaths {+
        ​multipath {        ​multipath {
               wwid                  3600508b4000156d70001200000b0000               wwid                  3600508b4000156d70001200000b0000
Строка 293: Строка 209:
               rr_weight ​            ​priorities               rr_weight ​            ​priorities
         }         }
-}+}</​code>​
  
 ====Устройства в файле конфигурации==== ====Устройства в файле конфигурации====
  
-Table Device Attributes shows the attributes that you can set for each individual storage device in the devices ​section of the multipath.conf ​configuration fileThese attributes are used by DM-Multipath ​unless they are overwritten by the attributes specified in the multipaths ​section of the multipath.conf ​file for paths that contain the deviceThese attributes override the attributes set in the defaults ​section of the multipath.conf ​file.+Таблица [[#​атрибуты_устройств|Атрибуты устройств]] показывает атрибуты,​ которые вы можете поставить для каждого отдельного дискового массива в секции **devices** конфигурационного файла ​multipath.conf. ​Эти атрибуты используются ​DM-Multipath ​пока не будут переопределены в секции **multipaths** файла ​multipath.conf ​для маршрутов,​ которые включают это устройствоЭти атрибуты переопределяют наборы атрибутов в секции **defaults** файла ​multipath.conf.
  
-Many devices that support multipathing are included by default in a multipath ​configurationThe values for the devices that are supported by default are listed in the multipath.conf.defaults ​fileYou probably will not need to modify the values for these devicesbut if you do you can overwrite the default values by including an entry in the configuration file for the device that overwrites those valuesYou can copy the device configuration defaults from the multipath.conf.annotated.gz ​or if you wish to have a brief config file, multipath.conf.synthetic ​file for the device and override the values that you want to change.+Многие устройства,​ поддерживающие множественные маршруты,​ включены по умолчанию в настройки ​multipath. ​Значения для устройств,​ поддерживаемых по умолчанию,​ перечислены в файле ​multipath.conf.defaults. ​Возможно вам не потребуется изменять значения для этих устройствно если потребуется,​ вы можете переопределить значения по умолчанию,​ включив метки в файл конфигурации для устройства,​ которые переопределят эти значенияВы можете скопировать значения по умолчанию из multipath.conf.annotated.gz ​илиесли предпочитаете короткий конфигурационный файл, из файла ​multipath.conf.synthetic ​для нужного устройства и перезаписать значения,​ которые вы хотите изменить.
  
-To add a device to this section of the configuration file that is not configured automatically by defaultyou must set the vendor ​and product ​parametersYou can find these values by looking at /​sys/​block/​device_name/​device/​vendor ​and /​sys/​block/​device_name/​device/​model ​where device_name ​is the device to be multipathedas in the following example+Для добавления устройства в эту секцию конфигурационного файла, который не настроился автоматически по умолчаниювы должны установить параметры **vendor** и **product**Вы можете найти эти значения,​ просматривая **/​sys/​block/​device_name/​device/​vendor** и **/​sys/​block/​device_name/​device/​model**, где **device_name** - это устройствотребующее настройки множественности,​ как в следующем примере
- +<​code>​# cat /​sys/​block/​sda/​device/​vendor
-# cat /​sys/​block/​sda/​device/​vendor+
 WINSYS  ​ WINSYS  ​
 # cat /​sys/​block/​sda/​device/​model # cat /​sys/​block/​sda/​device/​model
-SF2372+SF2372</​code>​
  
-The additional parameters to specify depend on your specific deviceIf the device is active/activeyou will usually not need to set additional parametersYou may want to set path_grouping_policy ​to multibus. ​Other parameters you may need to set are no_path_retry ​and rr_min_io, ​as described in Table Multipath Attributes.+Дополнительные параметры для определения зависят от специфических устройствЕсли устройство активно/активноевам, как правило,​ не требуется устанавливать дополнительные параметрыВозможно вы захотите установить **path_grouping_policy** в **multibus**Другие параметры,​ которые вы возможно захотите определить,​ это **no_path_retry** и **rr_min_io**как описано в таблице [[#​атрибуты_множественности|Атрибуты множественности]].
  
-If the device is active/passivebut it automatically switches paths with I/O to the passive pathyou need to change the checker function to one that does not send I/O to the path to test if it is working ​(otherwise, your device will keep failing over). This almost always means that you set the path_checker ​to tur; this works for all SCSI devices that support the Test Unit Ready commandwhich most do.+Если устройство активно/пассивноено автоматически переключает маршруты ввода/вывода на пассивный маршрутвам потребуется изменить функцию проверки на ту, которая не посылает поток ввода/вывода для проверки работоспособности ​(иначе ваше устройство будет постоянно находиться в состоянии сбоя). Это также всегда подразумевает,​ что вы установили **path_checker** в **tur**это работает для всех ​SCSI устройств,​ которые поддерживают команду **Test Unit Ready**которых большинство.
  
-If the device needs a special command to switch pathsthen configuring this device for multipath requires a hardware handler kernel moduleThe current available hardware handler is emc. If this is not sufficient for your deviceyou may not be able to configure the device for multipath. +Если устройство требует специальной команды для переключения маршрутовто настройка этого устройства требует модуля ядра для управления оборудованиемДоступный в данное время обработчик - это **emc**Если это не подходит для вашего устройствато возможно у вас не получится настроить устройство для ​multipath.
-Device Attributes +
-Attribute Description +
-vendor Specifies the vendor name of the storage device to which the device attributes apply, for example COMPAQ. +
-product Specifies the product name of the storage device to which the device attributes apply, for example HSV110 (C)COMPAQ. +
-revision Specifies the product revision identifier of the storage device. +
-product_blacklist Specifies a regular expression used to blacklist devices by product. +
-hardware_handler +
  
-Specifies a module that will be used to perform hardware specific actions when switching path groups or handling I/O errorsPossible values include:+==Атрибуты устройств== 
 +^ Атрибут ​ ^ Описание ​ ^ 
 +| vendor ​ | Определяет имя производителя устройства хранения,​ для которого применяют атрибуты,​ например,​ **COMPAQ**. ​ | 
 +| product ​ | Определяет название продукта устройства хранения,​ для которого применяют атрибуты,​ например,​ **HSV110 (C)COMPAQ**. ​ | 
 +| revision ​ | Определяет идентификатор версии устройства хранения. | 
 +| product_blacklist ​ | Определяет регулярное выражение для блокировки устройства по его названию. ​ | 
 +| hardware_handler ​ | Определяет модуль,​ который будет использован для выполнения специфических действий,​ когда переключается группа маршрутов или обнаруживается ошибка ввода/выводаВозможные значения включают\\ 1. **1 emc**: обработчик для массивов хранения EMC. \\ 2. **1 alua**: обработчик для SCSI-3 массивов ALUA. \\ 3. **1 hp_sw**: обработчик для контроллеров Compaq/HP. \\ 4. **1 rdac**: обработчик для контроллеров LSI/Engenio RDAC.  |
  
-    1 emchardware handler for EMC storage arrays+В дополнение следующие параметры могут быть переопределены в секции **device**: 
 +  -- path_grouping_policy 
 +  -- getuid_callout 
 +  -- path_selector 
 +  -- path_checker 
 +  -- features 
 +  -- failback 
 +  -- prio 
 +  -- prio_args 
 +  -- no_path_retry 
 +  -- rr_min_io 
 +  -- rr_weight 
 +  -- fast_io_fail_tmo 
 +  -- dev_loss_tmo 
 +  -- flush_on_last_del
  
-    1 alua: hardware handler for SCSI-3 ALUA arrays.+<​note>​Каждый раз, как определяется **hardware_handler**,​ ваша обязанность проверить,​ что соответствующий модуль ядра загружен для поддержки указанного интерфейса. Эти модули могут быть найдены в **%%/​lib/​modules/​`uname ​-r`/​kernel/​drivers/​scsi/​device_handler/​%%** ​Необходимый модуль должен быть интегрирован в initrd, чтобы гарантировать обязательное обнаружение и способность обхода-восстановления сбоев, доступные во время загрузки. Например,​ 
 +<​code>#​ cat scsi_dh_alua >> /​etc/​initramfs-tools/​modules ​ ## append module to file 
 +# update-initramfs -u -k all</​code></​note>​
  
-    1 hp_swhardware handler for Compaq/HP controllers. +Следующий пример показывает **device** метку в конфигурационном файле multipath
- +<code>#​devices {
-    1 rdac: hardware handler for the LSI/Engenio RDAC controllers. +
- +
-In addition, the following parameters may be overridden in this device section +
- +
-    path_grouping_policy +
- +
-    getuid_callout +
- +
-    path_selector +
- +
-    path_checker +
- +
-    features +
- +
-    failback +
- +
-    prio +
- +
-    prio_args +
- +
-    no_path_retry +
- +
-    rr_min_io +
- +
-    rr_weight +
- +
-    fast_io_fail_tmo +
- +
-    dev_loss_tmo +
- +
-    flush_on_last_del +
- +
-Whenever a hardware_handler is specified, it is your responsibility to ensure that the appropriate kernel module is loaded to support the specified interface. These modules can be found in /​lib/​modules/​`uname -r`/​kernel/​drivers/​scsi/​device_handler/​ . The requisite module should be integrated into the initrd to ensure the necessary discovery and failover-failback capacity is available during boot time. Example, +
- +
-# cat scsi_dh_alua ​>> /​etc/​initramfs-tools/​modules ​ ## append module to file +
-# update-initramfs -u -k all +
- +
-The following example shows a device entry in the multipath configuration file. +
- +
-#devices {+
 # device { # device {
 #​ vendor "​COMPAQ ​ " #​ vendor "​COMPAQ ​ "
Строка 376: Строка 266:
 #​ rr_weight priorities #​ rr_weight priorities
 # } # }
-#} +#}</​code>​
- +
-The spacing reserved in the vendor, product, and revision fields are significant as multipath is performing a direct match against these attributes, whose format is defined by the SCSI specification,​ specifically the Standard INQUIRY command. When quotes are used, the vendor, product, and revision fields will be interpreted strictly according to the spec. Regular expressions may be integrated into the quoted strings. Should a field be defined without the requisite spacing, multipath will copy the string into the properly sized buffer and pad with the appropriate number of spaces. The specification expects the entire field to be populated by printable characters or spaces, as seen in the example above +
- +
-    vendor: 8 characters+
  
-    ​product: ​16 characters+Пробелы,​ оставленные в полях **vendor**, **product** и **revision**,​ имеют значение,​ поскольку multipath выполняет прямое сравнение этих атрибутов,​ чей формат определен в спецификациях SCSI, особенно команда [[http://​en.wikipedia.org/​wiki/​SCSI_Inquiry_Command|Standard INQUIRY]]. Когда используются кавычки,​ поля vendor, product и revision будут интерпретироваться строго по спецификации. Регулярные выражения могут интегрироваться в закавыченные строки. Поля, будучи объявлены без требуемых пробелов,​ будут скопированы multipath в буфер правильного размера и дополнены требуемым количеством пробелов. Спецификация ожидает,​ что все поле будет заполнено печатаемыми символами или пробелами,​ как видно в примере выше:
  
-    ​revision: 4 characters+  -- vendor: 8 символов 
 +  -- product: 16 символов 
 +  -- revision: 4 имвола
  
-To create a more robust configuration file, regular expressions can also be usedOperators include ​^ $ [ ] . * ? +. Examples of functional regular expressions can be found by examining the live multipath ​database and multipath.conf ​example files found in /​usr/​share/​doc/​multipath-tools/​examples:​+Для создания более крепкого файла конфигурации могут быть также использованы регулярные выраженияОператоры включают **%%^ $ [ ] . * ? +%%**Примеры работающих регулярных выражений могут быть найдены при исследовании примеров живой базы ​multipath ​и файла ​multipath.conf, находящихся в /​usr/​share/​doc/​multipath-tools/​examples:​ 
 +<​code>#​ echo 'show config'​ | multipathd -k</​code>​
  
-# echo 'show config'​ | multipathd -k 
 ---- ----