Это старая версия документа.
Содержание
Устройства множественного связывания
Без DM-Multipath каждый канал от серверного узла к контроллеру накопителя рассматривается системой как отдельное устройство, даже когда канал ввода/вывода соединяет тот же сервер с тем же контроллером накопителя. DM-Multipath предоставляет возможность организации каналов ввода/вывода локально через создание единого устройства множественного связывания поверх основных устройств.
Идентификаторы устройств множественного связывания
Каждое устройство множественного связывания имеет международный идентификатор (WWID), который гарантирует глобальную уникальность и неизменность. По умолчанию в имя устройства множественного связывания вставляется его WWID. В качестве альтернативы вы можете установить опцию user_frendly_names в конфигурационном файле, который предписывает DM-Multipath использовать алиас node-unique формы mpathn в качестве имени. Например, узел с двумя адаптерами шины (HBA) подключенными к контроллеру накопителя с двумя портами через единый беззоновый волоконный канал (FC) увидит четыре устройства: /dev/sda, /dev/sdb, /dev/sdc и /dev/sdd. DM-Multipath создает единое устройство с уникальным WWID, которое перенаправляет ввод/вывод на эти четыре зависимых устройства в зависимости от конфигурации. Когда настроечная опция user_friendly_names установлена в yes, имя множественного устройства устанавливается в mpathn. Когда новые устройства попадает под управление DM-Multipath, их можно увидеть в двух разных местах в каталоге /dev: /dev/mapper/mpathn и /dev/dm-n.
Устройства в /dev/mapper создаются раньше в процессе загрузки. Используйте эти имена для доступа к множественным устройствам, например, при создании логических томов.
Устройства в виде /dev/dm-n только для внутреннего использования и никогда не должны использоваться.
Для информации о настройках по умолчанию для множественных устройств, включая опцию настройки user_friendly_names, смотрите секцию Конфигурационный файл DM-Multipath.
Согласованные имена множественных устройств в кластере
Когда опция user_friendly_names установлена в yes, имя множественного устройства уникально для узла, но не гарантируется то же самое на всех узлах, использующих это устройство. Также, если вы установили опцию алиаса для устройства в секции multipaths конфигурационного файла multipath.conf, имя не будет автоматически согласовано со всеми узлами кластера. Это не вызовет сложностей при использовании LVM для создания логических устройств на множественном устройстве, но если вам требуется согласовать имена множественных устройств на всех узлах, рекомендуется оставить user_friendly_names значение no и не настраивать алиасы для устройств. По умолчанию, если у вас не установлено user_friendly_names в yes и не настроен алиас для устройства, имя для этого устройства будет совпадать с WWID, которое всегда одно и то же. Если же вы хотите согласованные дружественные имена, определяемые системой для всех узлов в кластере, следуйте данной процедуре:
Установите все множественные устройства на одной машине.
Заблокируйте все ваши множественные устройства на других машинах, выполнив команды:
# service multipath-tools stop # multipath -F
Скопируйте файл /etc/multipath/bindings с первой машины на все остальные в кластере.
Восстановите работу сервиса multipathd на всех остальных машинах командой:
# service multipath-tools start
Если вы добавляете новое устройство, вам потребуется повторить этот процесс.
Таким же образом, если вы настроили алиас для устройства, который хотите согласовать на всех узлах в кластере, вам надо убедиться, что файл /etc/multipath.conf один и тот же на всех узлах кластера, следуя такой же процедуре:
Настройте алиасы для множественных устройств в файле multipath.conf на одной машине.
Заблокируйте все ваши множественные устройства на других машинах, выполнив команды:
# service multipath-tools stop # multipath -F
Скопируйте файл multipath.conf с первой машины на все остальные в кластере.
Восстановите работу сервиса multipathd на всех остальных машинах командой:
# service multipath-tools start
Если вы добавляете новое устройство , вам потребуется повторить процесс.
Атрибуты множественных устройств
В дополнение к опциям user_friendly_names и alias, множественные устройства имеют ряд атрибутов. Вы можете изменить эти атрибуты для определенных множественных устройств, создавая секции этих устройств в секции multipath конфигурационного файла. Для информации по секции multipath конфигурационного файла смотрите секцию Конфигурационный файл DM-Multipath.
Multipath Devices in Logical Volumes
After creating multipath devices, you can use the multipath device names just as you would use a physical device name when creating an LVM physical volume. For example, if /dev/mapper/mpatha is the name of a multipath device, the following command will mark /dev/mapper/mpatha as a physical volume.
# pvcreate /dev/mapper/mpatha
You can use the resulting LVM physical device when you create an LVM volume group just as you would use any other LVM physical device.
If you attempt to create an LVM physical volume on a whole device on which you have configured partitions, the pvcreate command will fail.
When you create an LVM logical volume that uses active/passive multipath arrays as the underlying physical devices, you should include filters in the lvm.conf to exclude the disks that underlie the multipath devices. This is because if the array automatically changes the active path to the passive path when it receives I/O, multipath will failover and failback whenever LVM scans the passive path if these devices are not filtered. For active/passive arrays that require a command to make the passive path active, LVM prints a warning message when this occurs. To filter all SCSI devices in the LVM configuration file (lvm.conf), include the following filter in the devices section of the file.
filter = [ «r/block/», «r/disk/», «r/sd.*/», «a/.*/» ]
After updating /etc/lvm.conf, it's necessary to update the initrd so that this file will be copied there, where the filter matters the most, during boot. Perform:
update-initramfs -u -k all
Every time either /etc/lvm.conf or /etc/multipath.conf is updated, the initrd should be rebuilt to reflect these changes. This is imperative when blacklists and filters are necessary to maintain a stable storage configuration.