Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:руководство_по_ubuntu_server:множественное_связывание_устройств:configuration [2012/05/28 13:48] [Атрибуты множественности в файле конфигурации] |
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**, и только затем использует значения по умолчанию. | ||
Строка 173: | Строка 173: | ||
====Атрибуты множественности в файле конфигурации==== | ====Атрибуты множественности в файле конфигурации==== | ||
- | Table Multipath Attributes shows the attributes that you can set in the multipaths section of the multipath.conf configuration file for each specific multipath device. These attributes apply only to the one specified multipath. These 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. |
==Атрибуты множественности== | ==Атрибуты множественности== | ||
- | ^ 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. | | + | | wwid | Указывает WWID множественного устройства, для которого применяется атрибут множественности. Этот параметр обязательный для этой секции файла multipath.conf. | |
- | | 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. | | + | | alias | Определяет символическое имя для множественного устройства, для которого применяется атрибут множественности. Если вы используете **user_friendly_names**, не устанавливайте это значение в mpathn. Это может привести к конфликту с автоматически присвоенным дружественным именем и предоставить вам некорректные имена устройств. | |
- | + | ||
- | In addition, the following parameters may be overridden in this multipath section | + | |
- | + | ||
- | path_grouping_policy | + | |
- | + | ||
- | path_selector | + | |
- | + | ||
- | failback | + | |
- | + | ||
- | 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. | + | В дополнение следующие параметры могут быть переопределены в секции **multipath**: |
+ | -- path_grouping_policy | ||
+ | -- path_selector | ||
+ | -- failback | ||
+ | -- prio | ||
+ | -- prio_args | ||
+ | -- no_path_retry | ||
+ | -- rr_min_io | ||
+ | -- rr_weight | ||
+ | -- flush_on_last_del | ||
- | 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. | + | Следующий пример показывает множественные атрибуты, определенные в конфигурационном файле для двух отдельных множественных устройств. Первое устройство имеет WWID 3600508b4000156d70001200000b0000 и символическое имя **yellow**. |
+ | Второе устройство в примере имеет WWID 1DEC_____321816758474 и символическое имя **red**. В этом примере атрибут **rr_weight** установлен в значение **priorities**. | ||
<code>multipaths { | <code>multipaths { | ||
multipath { | multipath { | ||
Строка 223: | Строка 213: | ||
====Устройства в файле конфигурации==== | ====Устройства в файле конфигурации==== | ||
- | Table Device Attributes shows the attributes that you can set for each individual storage device in the devices section of the multipath.conf configuration file. These 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 device. These 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 configuration. The values for the devices that are supported by default are listed in the multipath.conf.defaults file. You probably will not need to modify the values for these devices, but if you do you can overwrite the default values by including an entry in the configuration file for the device that overwrites those values. You 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 default, you must set the vendor and product parameters. You 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 multipathed, as 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 device. If the device is active/active, you will usually not need to set additional parameters. You 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/passive, but it automatically switches paths with I/O to the passive path, you 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 command, which most do. | + | Если устройство активно/пассивное, но автоматически переключает маршруты ввода/вывода на пассивный маршрут, вам потребуется изменить функцию проверки на ту, которая не посылает поток ввода/вывода для проверки работоспособности (иначе ваше устройство будет постоянно находиться в состоянии сбоя). Это также всегда подразумевает, что вы установили **path_checker** в **tur**; это работает для всех SCSI устройств, которые поддерживают команду **Test Unit Ready**, которых большинство. |
- | If the device needs a special command to switch paths, then configuring this device for multipath requires a hardware handler kernel module. The current available hardware handler is emc. If this is not sufficient for your device, you 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 errors. Possible 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 emc: hardware 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_sw: hardware 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 " | ||
Строка 302: | Строка 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 used. Operators 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 | ||
---- | ---- | ||