[TOC]
Вопрос: Что такое многопутевость?
Ответ: Многолучевой I/O Технология компьютерного хранения подразумевает использование двух или более путей для одновременной передачи сигналов между ЦП и устройствами хранения для достижения цели отладки и повышения производительности. Проще говоря, когда существует несколько путей от сервера к определенному устройству хранения данных, каждый путь будет распознаваться как отдельное устройство (неудобно использовать), и многолучевое распространение Позволяет размещать серверные узлыинесколько массивов храненияI/Oпуть Конфигурацияза одногооборудование(
Сразуда Что мы называем агрегацией ссылок
)Прямо сейчасмноголучевое распространение АгрегированныйI/Oпутьи создано Этисобиратьпутькомпозицияизновыйоборудование,ЭтиI/Oпуть МожетВ комплекте отдельный кабель, коммутатор и контроллер физического канала SAN (FC / SAS / iSCSI)
ждать;
WeiyiGeek.Многопутевая иллюстрация
Принцип работы: При сбое физического пути из-за сбоя платы HBA хоста, кабеля, коммутатора или RAID-контроллера устройства хранения данных сервер может передавать ввод-вывод через этот физический путь на другие обычные физические пути, а приложение этого не делает. Это изменение будет замечено. , тем самым улучшая доступность системы.
Требования к оборудованию: С точки зрения аппаратного обеспечения серверу требуются две или более интерфейсные карты HBA, два или более коммутатора в сети, два или более резервных контроллера на блочном устройстве хранения, и между различными физическими путями нет аппаратной зависимости. Многопутевой резервный ввод-вывод также может обеспечить балансировку нагрузки ввода-вывода и повысить производительность системы, но в основном это отказоустойчивый механизм.
В: Для чего он используется?
Q: Как использовать многопутевой?
описывать: Вы можете обратиться к следующим главам и воспользоваться соответствующей тестовой средой для практики.,Обычно используется в трех ситуациях:например Есть хранилищеоборудованиеии Пропуска хозяина(FC-волоконная линия、SAS-кабель、Ethernet — кабель категории 6
)Установить прямое соединение;
Сценарии его применения:
описывать:Суть реализации заключается в храненииоборудованиеадаптироваться Операционная систему, тем самым реализуя многолучевую технология,поддерживатьALUAда Основная часть。
Описание: ALUАмноголучевая технология(Asymmetric Logical Unit Access-Доступ к асимметричному логическому блоку),Чтопоставлятьполучил одинпуть Обнаружитьи Стандартизированный механизм установления приоритетов,Реализация хостаихранилищеоборудованиеизпутьсамопереговорыидинамичныйуправлять
。
Особенности: Для конкретного LUN,на своем пути,Целевой порт контроллера находится вПроактивный/Оптимизированный
состояние,на целевом порту другого контроллераЮ актив/фейю
состояние。в определенный момент,Определенный LUN принадлежит только определенному контроллеру,Реализовать балансировку нагрузки с обеих сторон.,Сразудапоставит задачуAбросить контроллеруA,Бросить задачу Б на контроллер Б,Для одной и той же задачи в любой момент времени ею управляет только один контроллер.
。
описывать:SLUAмноголучевая технология(Symmetric Logical Unit Access — доступ к симметричной логической единице) псевдоним симметричного зеркального тома, который является основной особенностью многопутевого доступа.
Особенности: Для конкретного LUN,на своем путидвахранилищеконтроллериз目标端口均в于Проактивный/Оптимизированный
состояние。Высокоскоростная связь между двумя контроллерами,IO отправляется на контроллер,Два контроллера могут одновременно участвовать вииметь дело с;Балансировка на стороне хоста не требуется, когда контроллер занят в системе. Программное обеспечение нагрузки может автоматически осуществлять балансировку нагрузки
。
Сравнение SLUA и ALUA:
WeiyiGeek.многолучевая технология
описывать:Если не примут DM Multipath Тогда каждый путь от серверного узла к контроллеру хранилища будет рассматриваться системой как независимое устройство, даже если путь ввода-вывода соединяет один и тот же серверный узел с одним и тем же контроллером хранилища. DM Multipath
обеспечивает логическоеуправлятьI/Oпутьизметод,Прямо сейчассуществовать Базаоборудованиетоп генерировать синглмноголучевое распространениеоборудование;
описывать:каждыймноголучевое распространяемые устройства имеют WWID (глобальный идентификатор), это единственный номер в мире, который нельзя изменить, По умолчанию многолучевое распространениеоборудованиеимя установлено на своеWWID
, В наличии многолучевое распространение Конфигурациядокумент(/etc/multipath.conf
)Средние настройкиuser_friendly_names
Параметры,Должен Параметры Псевдонимы можно задать в форматеmpathnиз Узел уникальныйимя也Может以也Может以自定义хранилищеоборудованиеимя;
Пример. Проверьте идентификатор scsi устройства, то есть представление WWID, и получите глобальный уникальный идентификационный номер wwid общего диска iscsi.
# Способ 1. Сканирование номера SCSI-устройства. Заказ.
$/usr/lib/udev/scsi_id -u -g /dev/mapper/asm08 #Удалить пробелы --replace-whitespace
360050768xxx000000010d2
$/usr/lib/udev/scsi_id --whitelisted --device=/dev/sdb
36000d3100366e600000000000000001c
# Способ 2
$cat /etc/multipath/wwids
# Valid WWIDs:
/36000d3100366e600000000000000001c/
# Способ 3
$multipath -ll | grep "mpath"
mpatha (36000d3100366e600000000000000001c) dm-0 COMPELNT,Compellent Vol
Пример 2. Пользовательское имя устройства хранения;
# /etc/multipath.conf
# Путь 1
defaults {
user_friendly_names yes
....
}
# результат
$multipath -ll
# mpatha (36000d3100366e600000000000000001c) dm-0 COMPELNT,Compellent Vol
# size=500G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=enabled
# |- 4:0:0:1 sdb 8:16 active ready running
# |- 4:0:0:2 sdc 3:32 active ready running
$ls -alh /dev/mapper/mpatha-part1
# lrwxrwxrwx 1 root root 7 Sep 8 2020 /dev/mapper/mpatha-part1 -> ../dm-0
# ---------------------------------------------------------- #
# Способ 2:绑定后需重новыйгенерироватьпутьизкартографированиеповерхность
multipaths {
multipath {
wwid "36000d3100366e600000000000000001c"
alias k8sapp
}
}
# результат
$multipath -v2
$multipath -ll
# k8sapp (36000d3100366e600000000000000001c) dm-0 COMPELNT,Compellent Vol
# size=1.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# -+- policy='service-time 0' prio=25 status=active
# |- 5:0:8:1 sdb 8:16 active ready running
# |- 5:0:9:1 sdc 8:32 failed ready running
$ls -alh /dev/mapper/k8sapp
# lrwxrwxrwx 1 root root 7 Sep 8 2020 /dev/mapper/k8sapp -> ../dm-0
описывать: Он включен в пакет udev.,Можно найти вmultipath.confсередина Конфигурация Должен Программа приходитполучатьscsiоборудованиесерийный номер。проходить序号便Может以判断多индивидуальныйпутьверно Ответил на то же самоеоборудование。этотдамноголучевое Распространить Ключ к реализации. Когда программа multipath создает многопутевое устройство, она вызывает scsi_id, чтобы получить scsi устройства из стандартного вывода. идентификатор. При переписывании вам необходимо изменить возвращаемое значение программы scsi_id на 0. Поскольку в программе multipath это значение будет проверяться для определения scsi Был ли идентификатор успешно получен.
Вопрос: Что такое сохраненная агрегация и сопоставление многопутевого трафика?
Linux Хост через внешний FC / SAS физикехранилищеоборудованиечас,Обычно на хосте устанавливается карта HBA.,Карта HBA подключается к оптоволоконному коммутатору или прямому хранилищу через номер WWN.
。еслиHBAКарта Проблема требует заменычас,Номер WWN также изменится соответствующим образом.,Ссылка посередине эквивалентна разрыву.,Сразу Не могу нормально распознатьхранилищедиск Раздел。
Конечно, на некоторых адаптерах HBA указаны номера WWN, и вы можете изменить соответствующую конфигурацию оптического коммутатора или хранилища перед заменой карты HBA. Однако на многих из них этот WWN не отмечен, поэтому нужно быть очень внимательным. Рекомендуется после замены проверить вновь распознанный номер WWN через команду в системе и подтвердить следующее.
Проверьте номер WWN карты HBA на хосте.
# FC SAN
cat /sys/class/fc_host/host*/port_name
0x2002d0431efb7f5d #HBAcardWWN номер
# SAS SAN
$cat /sys/class/sas_phy/phy-*/sas_address|sort|uniq
0x51866da091944100 #HBAcardWWN номер
WeiyiGeek.Идентификация сервера HBA
описывать:дляхранилищеоборудование СозданныйLUNТома и сопоставления часто назначаются серверам с несколькими контроллерами для обеспечения избыточности.,обновитьscsiоборудованиепозже ты будешьсуществоватьсерверсередина Проверятьк нескольким/dev/sd[b-z]дискоборудование,этотчас Необходимо принятьмноголучевое Программное обеспечение распространения объединяет ссылки, так что диски, которые изначально имеют несколько дисков SCSI, объединяются в одно устройство, когда они монтируются локально. Обратите внимание, что это тесно связано с вашим устройством хранения данных. Большую часть хранилища можно подключить к хосту Linux с помощью собственного многолучевого соединения multipath; Распространяю ПО, однако для хранения Huawei нужно отдельно устанавливать стороннее многолучевое. распространение программного обеспечения подойдет;
Описание: Инструмент многопутевого доступа с открытым исходным кодом в Linux используется для управления многопутевым вводом-выводом. Когда один канал нестабильен, он может автоматически переключаться на другой канал. Конечно, если вы хотите использовать многопутевые устройства, вам необходимо установить соответствующее многопутевое программное обеспечение;
Multipath Установить&запускать Примечание: CentOS 7.8 / Ubuntu 20.04 tls Поставляется без необходимости установки
# CentOS
rpm -qa | grep "multipath" # Проверьте, установлена ли система
yum install device-mapper-multipath
systemctl enable multipathd || chkconfig multipathd on # давать возможностьмноголучевое распространение программного обеспечения запускается автоматически после загрузки
systemctl start multipathd || service multipathd status # Старт многолучевого многолучевого распространение Служить
# ubuntu
apt list | grep "multipath" # Проверьте, установлена ли система
# multipath-tools-boot/focal 0.8.3-1ubuntu2 all
# multipath-tools/focal,now 0.8.3-1ubuntu2 amd64 [installed,automatic]
apt-get install multipath-tools
systemctl enable multipathd && systemctl start multipathd
# программное обеспечение Сумкаиллюстрировать
(1) устройство-сопоставитель-мультипути: инструменты многопутевого доступа. В основном предоставляет такие инструменты, как multipathd и multipath и Файлы конфигурации, такие как multipath.conf. Создано многолучевым Устройство передачи будет находиться в /dev/mapper.
(2) устройство-сопоставитель: в основном включает в себя две части: часть ядра и пользовательскую часть.
* Часть ядра в основном включает в себя устройство ядро картографа (dm.ko) и некоторые цели драйвер (md-multipath.ko). Ядро завершает сопоставление устройства, а целевое устройство конкретно обрабатывает сопоставление из сопоставленного на основе отношения сопоставления и своих собственных характеристик. device вниз ввод/вывод.
* Часть пользовательского пространства в основном включает в себя пакет устройства сопоставления. Сюда входит инструмент dmsetup и некоторая помощь в создании и настройке сопоставленных библиотека устройств. Эти библиотеки в основном абстрактны и инкапсулируют интерфейс взаимодействия с ioctr, чтобы облегчить создание и настройку Mappered. устройство. Эти библиотеки необходимо вызывать в программе multipath-tool.
(3) dm-multipath.ko — dm.ko: dm.ko — устройство mapperводить машину。этодавыполнитьmultipathосноваdm-multipathна самом деледаdmодин изtargetводить машину。
redhat.multipath
Вид драйвера интерфейса
1. Для дисков с многопутевым блочным хранилищем FC SAN.
# (1) Сопоставьте LUN хранилища с необходимым хостом, а затем проверьте номер wwn на хосте или коммутаторе хранилища.
cat /sys/class/fc_host/host*/port_name
0x2002d0431efb7f5d #HBAcardWWN номерлоготип
2. Для дисков с многопутевым блочным хранилищем SAS SAN.
# (1) SAS Карта HBA с идентификационным номером
$cat /sys/class/sas_host/host5/device/phy-*/sas_phy/phy-*/sas_address|sort|uniq
$cat /sys/class/sas_phy/phy-*/sas_address|sort|uniq
0x51866da091944100
# (2) Вид драйвера карты SAS-HBA
$lspci | grep LSI
01:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS-3 3108 [Invader] (rev 02)
04:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS3008 PCI-Express Fusion-MPT SAS-3 (rev 02)
# Вид устройства системного блока
$ll /sys/block/ | grep 04:00.0
lrwxrwxrwx 1 root root 0 Sep 11 16:57 sdb -> ../devices/pci0000:00/0000:00:02.0/0000:04:00.0/host4/port-4:2/end_device-4:2/target4:0:2/4:0:2:1/block/sdb/
lrwxrwxrwx 1 root root 0 Sep 11 16:57 sdc -> ../devices/pci0000:00/0000:00:02.0/0000:04:00.0/host4/port-4:2/end_device-4:2/target4:0:2/4:0:2:2/block/sdc/
lrwxrwxrwx 1 root root 0 Sep 11 15:15 sdd -> ../devices/pci0000:00/0000:00:02.0/0000:04:00.0/host4/port-4:1/end_device-4:1/target4:0:1/4:0:1:1/block/sdd/
lrwxrwxrwx 1 root root 0 Sep 11 15:15 sde -> ../devices/pci0000:00/0000:00:02.0/0000:04:00.0/host4/port-4:1/end_device-4:1/target4:0:1/4:0:1:2/block/sde/
# (3) systool Заказ:http://fibrevillage.com/storage/61-systool-a-useful-tool-for-san-as-well-for-sysfs-devices
$apt install sysfsutils
$systool -c sas_host -v
# Class = "sas_host"
# Class Device = "host5"
# Class Device path = "/sys/devices/pci0000:00/0000:00:02.0/0000:04:00.0/host5/sas_host/host5"
# uevent =
# Device = "host5"
# Device path = "/sys/devices/pci0000:00/0000:00:02.0/0000:04:00.0/host5"
# uevent = "DEVTYPE=scsi_host"
3. Для дисков блочного хранения данных iSCSI.
# Временная добавка
Сканирование, добавление и удаление дисковых устройств SCSI
# (1) Сканирование запоминающих устройств SCSI
# Путь 1:
# yum install –y sg3_utils
$ sudo rescan-scsi-bus.sh #/usr/bin/rescan-scsi-bus.sh
Scanning SCSI subsystem for new devices
Scanning host 0 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning for device 0 2 0 0 ...
OLD: Host: scsi0 Channel: 02 Id: 00 Lun: 00
Vendor: DELL Model: PERC H730 Mini Rev: 4.27
Type: Direct-Access ANSI SCSI revision: 05
Scanning host 1 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning for device 1 0 0 1 ...
OLD: Host: scsi1 Channel: 00 Id: 00 Lun: 01
Vendor: COMPELNT Model: Compellent Vol Rev: 0701
Type: Direct-Access ANSI SCSI revision: 05
sg2 changed: LU not available (PQual 1)
OLD: Host: scsi1 Channel: 00 Id: 00 Lun: 02
Vendor: COMPELNT Model: Compellent Vol Rev: 0701
Type: Direct-Access ANSI SCSI revision: 05
Scanning for device 1 0 1 1 ...
OLD: Host: scsi1 Channel: 00 Id: 01 Lun: 01
Vendor: COMPELNT Model: Compellent Vol Rev: 0701
Type: Direct-Access ANSI SCSI revision: 05
sg4 changed: LU not available (PQual 1)
OLD: Host: scsi1 Channel: 00 Id: 01 Lun: 02
Vendor: COMPELNT Model: Compellent Vol Rev: 0701
Type: Direct-Access ANSI SCSI revision: 05
Scanning host 2 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 3 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 4 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 5 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 6 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 7 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 8 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 9 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 10 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning host 11 for SCSI target IDs 0 1 2 3 4 5 6 7, all LUNs
Scanning for device 11 0 0 0 ...
OLD: Host: scsi11 Channel: 00 Id: 00 Lun: 00
Vendor: PLDS Model: DVD+-RW DU-8A5LH Rev: 6D51
Type: CD-ROM ANSI SCSI revision: 05
.0 new or changed device(s) found.
0 remapped or resized device(s) found.
0 device(s) removed.
# Способ 2:еслизаменятьHBAКартаилидобавить вновыйLUNОбъемхранилище则нуждаться重новый扫盘
for i in /sys/class/scsi_host/*; do echo "- - -" > $i/scan; done
# Советы. В некоторых хранилищах или системах отсутствуют файлы сканирования, которые можно определить по файлу Issue_lip.
echo "1" > /sys/class/fc_host/host4/issue_lip
# (2) Проверьте, сопоставлено ли устройство хранения с LUN хоста и добавлено ли хранилище тома в локальный
$ fdisk -l | grep "/dev"
# Disk /dev/sde: 1 TiB, 1099511627776 bytes, 2147483648 sectors
# Disk /dev/sdd: 1.2 TiB, 1319413953024 bytes, 2576980377 sectors
# Disk /dev/mapper/k8sapp: 1.2 TiB, 1319413953024 bytes, 2576980377 sectors
# Disk /dev/mapper/k8slog: 1 TiB, 1099511627776 bytes, 2147483648 sectors
$ lsblk
# sdb 8:16 0 1.2T 0 disk
# └─k8sapp 253:0 0 1.2T 0 mpath /mnt/nfs/k8sapp
# sdc 8:32 0 1T 0 disk
# └─k8slog 253:1 0 1T 0 mpath /mnt/nfs/k8slog
# sdd 8:48 0 1.2T 0 disk
# └─k8sapp 253:0 0 1.2T 0 mpath /mnt/nfs/k8sapp
# sde 8:64 0 1T 0 disk
# └─k8slog 253:1 0 1T 0 mpath /mnt/nfs/k8slog
$cat /proc/partitions # Информация о разделе имеет (основной | второстепенный)
major minor #blocks name
7 0 56648 loop0
7 1 72256 loop1
7 2 30600 loop2
7 3 72984 loop3
7 4 30608 loop4
7 5 56276 loop5
8 0 1170997248 sda
8 1 1024 sda1
8 2 524288000 sda2
8 3 4194304 sda3
8 4 10485760 sda4
8 5 629145600 sda5
8 64 1073741824 sde
8 48 1288490188 sdd
11 0 1048575 sr0
253 0 1288490188 dm-0
253 1 1073741824 dm-1
8 32 1073741824 sdc
8 16 1288490188 sdb
# (3) Как мы все знаем, SATA и SCSI поддерживают горячую замену. Когда LUN напрямую подключен к серверу через устройство хранения данных, система не может автоматически распознать его, и для его идентификации часто требуется перезагрузить систему. заставить систему распознать новое устройство. То есть заставить систему распознать новый диск через `/proc/scsi/scsi`.
echo "scsi add-single-device w x y z" > /proc/scsi/scsi
# Для корректной работы данного Заказа необходимо указать правильные значения параметров. w、x、y и z, как показано ниже:
# w — идентификатор хост-адаптера, ноль (0) для первого адаптера.
# x Это на хост-адаптере SCSI Каналы, первый канал равен нулю (0)
# y Это оборудование SCSI логотип
# z да LUN Нет, сначала LUN равен нулю (0)
Например: Получите значения параметров устройства из выполнения rescan-scsi-bus.sh. Scanning for device 1 0 0 1
# Добавьте жесткий диск и просмотрите
echo "scsi add-single-device 1 0 0 0" >/proc/scsi/scsi && fdisk -l
# Извлеките жесткий диск и просмотрите его (сначала убедитесь, что удаленное дисковое устройство отключено от системы)
echo "scsi remove-single-device 0 0 1 0" >/proc/scsi/scsi && fdisk -l
$cat /proc/scsi/scsi
# Attached devices:
# Host: scsi0 Channel: 02 Id: 00 Lun: 00
# Vendor: DELL Model: PERC H730 Mini Rev: 4.27
# Type: Direct-Access ANSI SCSI revision: 05
# Host: scsi4 Channel: 00 Id: 01 Lun: 01 # Например: устройство ID = 4 0 1 1
# Vendor: COMPELNT Model: Compellent Vol Rev: 0701
# Type: Direct-Access ANSI SCSI revision: 05
# Host: scsi4 Channel: 00 Id: 01 Lun: 02 # Например: устройство ID = 4 0 1 2
# Vendor: COMPELNT Model: Compellent Vol Rev: 0701
# Type: Direct-Access ANSI SCSI revision: 05
# Host: scsi11 Channel: 00 Id: 00 Lun: 00
# Vendor: PLDS Model: DVD+-RW DU-8A5LH Rev: 6D51
# Type: CD-ROM ANSI SCSI revision: 05
# Host: scsi4 Channel: 00 Id: 02 Lun: 01 # Например: устройство ID = 4 0 2 2
# Vendor: COMPELNT Model: Compellent Vol Rev: 0701
# Type: Direct-Access ANSI SCSI revision: 05
# Host: scsi4 Channel: 00 Id: 02 Lun: 02 # Например: устройство ID = 4 0 2 2
# Vendor: COMPELNT Model: Compellent Vol Rev: 0701
# Type: Direct-Access ANSI SCSI revision: 05
многопутевая конфигурация и использование
Случай 1. Многолучевое распространение вентилятора SAS
# (0) многолучевое распространение Автоматическая обработка загружаемых модулей
modprobe dm-multipath # Инициализировать DM
modprobe dm-round-robin
lsmod | grep multipath # Проверять
# dm_multipath 32768 4 dm_round_robin,dm_service_time
# multipath 20480 0
# (1) Проверять При нынешней системекаждыйдиск Раздел
root@ubuntu:/mnt/ww# fdisk -l | egrep "^/dev"
# например /dev/mapper/xxxxx издиск Может能далогический том(LVM)илимноголучевое распространение(Multipath)
Disk /dev/mapper/mpatha-part1 4096 0 2576980377 1.2T Linux filesystem
Disk /dev/mapper/mpatha-part2 4096 0 2147483648 1T Linux filesystem
# (2) Проверять При нынешней системеда Существует лилогический томсуществоватьруководитьсудить;
$lvdisplay
# Или используйте следующие разделы Заказа и логические тома, чтобы увидеть их сразу.
$lvmdiskscan
dev/loop0 [ 55.32 MiB]
/dev/mapper/mpatha-part1 [ <1.20 TiB]
/dev/loop1 [ 70.56 MiB]
/dev/mapper/mpatha-part2 [ 1.00 TiB]
/dev/loop2 [ 29.88 MiB]
/dev/sda2 [ 500.00 GiB]
/dev/loop3 [ 71.27 MiB]
/dev/sda3 [ 4.00 GiB]
/dev/loop4 [ 29.89 MiB]
/dev/sda4 [ 10.00 GiB]
/dev/loop5 [ <54.96 MiB]
/dev/sda5 [ 600.00 GiB]
2 disks
10 partitions
0 LVM physical volume whole disks
0 LVM physical volumes
# (3) Проверять При нынешней системеда Существует лимноголучевое распространениедискмноголучевое распространениев целомиз /dev/mapper/xxxx Ссылка на диск /dev/dm-x заблокировать файл устройства
$ ls -alh /dev/mapper/mpatha-part1
lrwxrwxrwx 1 root root 7 Sep 8 2020 /dev/mapper/mpatha-part1 -> ../dm-1
$ multipath -ll
# mpatha (36000d3100366e6000000000000000020) dm-1 COMPELNT,Compellent Vol
# size=1.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=active
# |- 4:0:1:2 sde 8:64 failed ready running # Он отображает ошибку, если он не установлен.
# `- 4:0:2:2 sdc 8:32 active ready running
# mpathb (36000d3100366e6000000000000000021) dm-0 COMPELNT,Compellent Vol
# size=1.2T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=active
# |- 4:0:1:1 sdd 8:48 failed ready running
# `- 4:0:2:1 sdb 8:16 active ready running
# (4) multipath.conf Конфигурация
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
}
defaults {
user_friendly_names yes # Дружественное отображение имен дисков
path_grouping_policy multibus
failback immediate
no_path_retry fail
}
# существовать/etc/multipath.confсередина Может以Конфигурацияоборудованиеscsi idиоборудованиепутьсформировать привязку
multipaths {
multipath {
wwid "36000d3100366e6000000000000000021"
alias k8sapp
}
multipath {
wwid "36000d3100366e6000000000000000020"
alias k8slog
}
}
# (5) multipath действовать(перезагрузить Конфигурациядокументи объединитьпуть)
systemctl restart multipathd && systemctl status multipathd # Перезапуски Проверятьмноголучевое распространить статус включенного сервиса
multipath -F # Удалить существующую ссылку
multipath -v2 # Печать создана или изменена многолучевое Топология распространения – многолучевое. информация, связанная с оборудованием распространения
multipath -v3 # Проверятьмноголучевое распространение blacklist、whitelistиоборудованиеwwid
multipath -ll # Проверкамноголучевое для действующей системы распространение Топология
# k8slog (36000d3100366e6000000000000000020) dm-1 COMPELNT,Compellent Vol
# size=1.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=active
# |- 4:0:1:2 sde 8:64 active ready running
# `- 4:0:2:2 sdc 8:32 active ready running
# k8sapp (36000d3100366e6000000000000000021) dm-0 COMPELNT,Compellent Vol
# size=1.2T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=active
# |- 4:0:1:1 sdd 8:48 active ready running
# `- 4:0:2:1 sdb 8:16 active ready running
# сверхуизинформация Может以看出multipatполучатьприезжать2индивидуальныйпуть`действительныйоборудованиеsde/виртуальныйоборудованиеsdc`оборудованиеобъединиться в одинk8slogдискоборудованиеимя,k8slogдамноголучевое распространениекартографированиеимя,ориентированныйdm-1этодаblockоборудование。
# и /dev/mapper/k8sapp и /dev/dm-1 фактически указывает на одно и то же устройство.
/usr/lib/udev/scsi_id -g /dev/dm-1
36000d3100366e6000000000000000020
/usr/lib/udev/scsi_id -g /dev/mapper/k8sapp
36000d3100366e6000000000000000021
# (6) многолучевое распространениеоборудованиедиск Раздели Формат
# этотиз-заиспользоватьиздиск无需Раздел着Сразуиспользоватьоборудованиеполный контроль над,нода Уведомлениееслидискбольше, чем2Tтогда необходимо принятьpartedЗаказруководитьдиск Раздел;
$ mkfs.xfs /dev/mapper/k8sapp
$ mkfs.xfs /dev/mapper/k8slog
$ fdisk -l
# Disk /dev/mapper/k8sapp: 1.2 TiB, 1319413953024 bytes, 2576980377 sectors
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 4096 bytes
# I/O size (minimum/optimal): 2097152 bytes / 2097152 bytes
# Disk /dev/mapper/k8slog: 1 TiB, 1099511627776 bytes, 2147483648 sectors
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 4096 bytes
# I/O size (minimum/optimal): 2097152 bytes / 2097152 bytes
# (7) Проверятьdm-1 , uuid устройства dm-2
$ls -alh /dev/disk/by-uuid/
lrwxrwxrwx 1 root root 10 Sep 12 23:23 40fd2fd5-997f-4266-a0c8-95c0e534a23b -> ../../dm-1
lrwxrwxrwx 1 root root 10 Sep 12 23:23 acccde8a-16b2-4a87-a8da-0ba2c72aa688 -> ../../dm-0
# (8) устанавливатьмноголучевое перенести устройство в файловую систему (для монтирования рекомендуется UUID)
# k8sapp
/dev/disk/by-uuid/acccde8a-16b2-4a87-a8da-0ba2c72aa688 /mnt/nfs/k8sapp xfs defaults 0 0
# k8slog
/dev/disk/by-uuid/40fd2fd5-997f-4266-a0c8-95c0e534a23b /mnt/nfs/k8slog xfs defaults 0 0
# (9) Проверятьустановленмноголучевое распространениеоборудование
$ lsblk
sdb 8:16 0 1.2T 0 disk
└─k8sapp 253:0 0 1.2T 0 mpath /mnt/nfs/k8sapp
sdc 8:32 0 1T 0 disk
└─k8slog 253:1 0 1T 0 mpath /mnt/nfs/k8slog
sdd 8:48 0 1.2T 0 disk
└─k8sapp 253:0 0 1.2T 0 mpath /mnt/nfs/k8sapp
sde 8:64 0 1T 0 disk
└─k8slog 253:1 0 1T 0 mpath /mnt/nfs/k8slog
$ df -h
/dev/mapper/k8sapp 1.2T 8.6G 1.2T 1% /mnt/nfs/k8sapp
/dev/mapper/k8slog 1.0T 7.2G 1017G 1% /mnt/nfs/k8slog
192.168.1.216:/mnt/nfs/k8sapp 1.2T 8.6G 1.2T 1% /nfs/k8sapp
192.168.1.216:/mnt/nfs/k8slog 1.0T 7.2G 1017G 1% /nfs/k8slog
кэтотпроходитьхранилищеоборудованиеназначен хостомизхранилище卷проходитьSAS-SAN-кабель
Подключиться к хостуHBAоборудованиесерединараспознается нормальноииспользовать。
Случай 2. Прямое соединение с хранилищем FC SAN.
# 1. Проверьте данные для входа пользователя. & Синхронизировать время сервера дляихранилищеначальствоизчасмеждуверноотвечать
$id && ntpdate 10.10.6.101
uid=0(root) gid=0(root) groups=0(root)
23 May 21:55:37 ntpdate[72045]: step time server 10.10.6.101 offset 448.347362 sec
$ hwclock -w
$ date
# 2.Проверятьхранилищекартографированиеразместитьизоптическое волокно Карталоготип(этотлоготип Это также может помочь нам во многихFC оптическое волокно接разместитьчас Различие между привязкамииз Хозяинда Соответствует ли он главному компьютеру?HBAКарталоготип)
$cat /sys/class/fc_host/host15/port_name
0x100000109b341bc8
$cat /sys/class/fc_host/host16/port_name
0x100000109b341bc4
# 3.вернооптическое волокно交换机руководить Авторизоватьдействительныйначальстводаруководитьscsiоборудованиеруководитьгорячий резервдобавить вна хостеи Не нужно Перезапуск
echo '- - -' > /sys/class/scsi_host/host16/scan
echo '- - -' > /sys/class/scsi_host/host15/scan
# 4.Проверятьlinuxдиск Раздел
lvmdiskscan
fdisk -l
# 5.многолучевое распространениеmultipathdКонфигурациядокументгенерировать(Ручная компиляция и установка)
nano /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
multipaths {
multipath {
wwid 3600a09803830447967244c61626d6e2f
alias o3db
path_grouping_policy multibus #failover
#path_checker readsector0 #Метод определения статуса пути
path_selector "round-robin 0"
failback immediate
}
multipath {
wwid 3600a09803830447967244c61626d6e59
alias o3app
path_grouping_policy multibus #failover
#path_checker readsector0
path_selector "round-robin 0"
failback immediate
}
multipath {
wwid 3600a09803830447967244c61626d6e63
alias fbapp
path_grouping_policy multibus #failover
#path_checker readsector0
path_selector "round-robin 0"
failback immediate
}
}
# Измените этот файл, скопировать на измененный файл, скопировать на /etc
cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc
# 6.Инициализировать Напишите в Директ и проверьте, включен ли сервис mathconf /sbin/mpathconf
modprobe dm-multipath
modprobe dm-round-robin
systemctl restart multipathd
# 7.входить/dev/mapperруководить Проверять Сопоставление выполнено успешноLUNимя
ls -ltr /dev/mapper
crw------- 1 root root 10, 236 Jan 3 14:04 control
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-var_log_audit -> ../dm-3
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-var_log -> ../dm-2
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-var -> ../dm-1
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-swa p -> ../dm-5
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-root -> ../dm-6
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-tmp -> ../dm-0
lrwxrwxrwx 1 root root 7 Jan 3 14:04 rhel-home -> ../dm-4
lrwxrwxrwx 1 root root 7 May 23 22:37 vgo3app-lvo3app -> ../dm-7 # Ключевые моменты
# 8.vgo3app-lvo3app
vgchange -an vgo3db
Случай 3. Конфигурация пула носителей для многопутевого диска ISCSI. Тестовая среда: Ubuntu 14.04.
# 1. Установите необходимое программное обеспечение:
apt-get install multipath-tools tgt open-iscsi
# 2. Создайте необработанный диск (RAW):
qemu-img -f raw testmul.raw 5G
# или
dd if=/dev/zero of=testmul.raw bs=1M count=0 seek=5120
# 3. Смонтируйте файлы RAW на диске.
losetup -f --show testmul.raw
Создайте ISSC-диск:
# 1.добавить вtgtКонфигурациядокумент(/etc/tgt/targets.conf) : /dev/loop0 Петлевое устройство, смонтированное на третьей ступеньке
<target iqn.2013-10.cn.openstack:cinder-volume.target>
backing-store /dev/loop0
</target>
# 2. Перезапустите tgt
service tgt restart
# 3.ПроверятьISISCинформация (192.168.1.3локальная машинаipадрес;Порт по умолчанию3260;iptablesвключать,Можно отключить или определить разрешающие правила)
iscsiadm -m discovery -t st -p 192.168.1.3:3260
# Выходная информация:
# 192.168.1.3:3260,1 iqn.2013-10.cn.openstack:cinder-volume.target
Настройте многопутевой доступ:
# 1.путь Конфигурация iface0 — имя пути, wlan0 — сетевая карта (этотв Только Конфигурация Заказпутьнуждаться Конфигурация Многоходовой самоходный Конфигурация。 )
iscsiadm -m iface -I iface0 –op=new
iscsiadm -m iface -I iface0 –op=update -n iface.net_ifacename -v wlan0
iface0 путьспецифический Конфигурацияинформация: /etc/iscsi/ifaces/iface0
# 2. Войдите на ISCSI-диск.
iscsiadm -m node -T iqn.2013-10.cn.openstack:cinder-volume.target -p 192.16.1.3:3260 -I iface0 -l
# 3.Проверятьновый增диск
fdisl -l #Вы можете увидеть добавленный диск: /dev/sdb
# Disk /dev/sdb: 5368 MB, 5368709120 bytes
# 166 heads, 62 sectors/track, 1018 cylinders, total 10485760 sectors
# Units = сектор of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 512 bytes
# I/O size (minimum/optimal): 512 bytes / 512 bytes
# Disk identifier: 0x00000000
# Disk /dev/sdb doesnt contain a valid partition table
# 4.multipathКонфигурациядокумент
# a.Конфигурациядокумент Исправлять (/etc/multipath.conf) и перезапустите службу multipath-tools.
blacklist {
devnode "^sda"
}
defaults {
user_friendly_names yes
}
# б. Запустить многопутевой путь
$multipath -ll
# Выходная информация:
iscsidisk1 (33000000100000001) dm-0 IET ,VIRTUAL-DISK
size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
`- 6:0:0:1 sdb 8:16 active ready running
# Примечание. Если вы выполните вышеуказанный заказ, никакая информация не будет выведена. multipath -v3 Выведите следующую информацию
# Пучок /dev/sdb: uuid добавить в /etc/multipath/wwids , чтобы многолучевое распространение не отфильтровывало устройства /dev/sdb И перезапустите службу multipath-tools.
===== paths list =====
uuid hcil dev dev_t pri dm_st chk_st vend/prod/rev
33000000100000001 6:0:0:1 sdb 8:16 1 undef ready IET ,VIRTUAL-DISK
Apr 10 19:59:27 | params = 1 queue_if_no_path 0 1 1 round-robin 0 1 1 8:16 1000
Apr 10 19:59:27 | status = 2 0 0 0 1 1 A 0 1 0 8:16 A 0
# c. добавить в multipath информация/etc/multipath.conf
multipaths {
multipath {
wwid "33000000100000001"
alias iscsidisk1
}
}
# 5. Перезапустите выполнение службы multipath-tools.
systemctl restart multipath-tools
$lsblk
sdb 8:16 0 5G 0 disk
└─iscsidisk1 (dm-0) 252:0 0 5G 0 mpath
Дополнительное монтирование разделенного диска и форматирование:
# 1.многолучевое Используйте инструмент parted для форматирования раздела устройства, распознанного распространением.
parted /dev/sdb
(parted) mklabel gpt # Преобразование жесткого диска Пучок в раздел GPT
(parted) mkpart primary 1 # При создании основного раздела обратите внимание, что вам необходимо выбрать тип файловой системы раздела: ext4, ext3, xfs.
(parted) print
# 2. Форматирование файловой системы основного раздела XFS.
mkfs.xfs -f /dev/sdc1 #Форматируем в xfs
mkfs.xfs -f -i size=512 -l size=128m,lazy-count=1 -d agcount=64 /dev/mapper/mpathbp1 #>=20Tчасждать
# 3. Ручной монтаж
mount /dev/sdc1 /home/
# 4. Автоматическое монтирование при загрузке
/dev/sdb1 (диск) /home (точка монтирования) xfs (формат файла) defaults 0 0
df -hПроверятьустанавливать点документимя
/dev/sdb1 16T 33M 16T 1% /home
multipath Заказ - Автоматическая настройка целевого устройства сопоставления устройств описывать: Должен Заказ Основная функциядаоборудованиеруководитькартографированиеавтоматически нацеливаться Конфигурация,Прямо сейчасдля обнаруженияисливаться воборудованиеиз Несколькопуть,использовать в экстренных случаях переключение или причины производительности.
Параметры синтаксиса:
# помощьиллюстрировать
man multipath
# SYNOPSIS | контур
multipath [-v level] [-B|-d|-i|-q|-r] [-b file] [-p policy] [device]
multipath [-v level] [-R retries] -f device
multipath [-v level] [-R retries] -F
multipath [-v level] [-l|-ll] [device]
multipath [-v level] [-a|-w] device
multipath [-v level] -W
multipath [-v level] [-i] [-c|-C] device
multipath [-v level] [-i] [-u|-U]
multipath [-h|-t|-T]
# ARGUMENTS | Параметры строки заказа
# Параметр оборудования ограничивает работу многопутевого оборудования, соответствующего данному выражению. Параметр может относиться к многолучевому. распространение карты или ее компонентов («Путь»)
device node # Имя файла узла устройства, например /dev/dm-10 или /dev/sda, если ссылка на узел означает «многолучевое». распространение сопоставляет существующее устройство с устройством сопоставления, затем выбирает сопоставление или его путь в зависимости от режима работы. В противном случае он выбирает устройство пути.
device ID # Номер устройства ядра, указанный основным номером устройства: второстепенный номер устройства. Например, значение атрибута MAJ:MIN в lsblk — 65:16. Этот формат можно использовать только для устройств пути.
WWID # Для получения списка WWID устройств, присутствующих в системе, можно воспользоваться командой «Заказ» multipath. -d -v3 2>/dev/null"
# device action limited to:
# . multipath named 'device' (ex: mpath0)
# . multipath whose wwid is 'device' (ex: 60051...)
# . multipath including the path named 'device' (ex: /dev/sda or/dev/dm-0)
# . multipath including the path with maj:min 'device' (ex: 8:0)
# режим работы
# Режим работы по умолчаниюдаиз системысерединаоказатьсяизоборудованиесередина Обнаружить и установитьмноголучевое распространение картографии. Для выбора других режимов работы используйте следующие переключатели строк заказа:
-f #еслимноголучевое Если устройство передачи не используется, обновите (удалите) многолучевое значение, указанное в качестве параметра. Распространение Сопоставление устройств
-F #Обновить (удалить) все неиспользуемое многолучевое Распространение Сопоставление устройств
-l #из системыдокументиоборудованиекартографированиеустройствосерединаполучатьизинформациясерединапоказывать(“список”)текущиймноголучевое распространение Топология
-ll #Отобразить («список») текущее многолучевое из всей доступной информации (sysfs, сопоставитель устройств, проверка пути...) распространение Топология
-a #уточнитоборудованиеизWWIDдобавить вWWIDsдокументсередина
-w #Удаляем WWID указанного устройства из файла WWID
-W #Сбросим файл WWID, чтобы он содержал только текущее многолучевое распространениеоборудование
-c #Проверьте блокоборудованиеданетотвечать Должендамноголучевое распространить Путь в устройстве
-C #исследоватьмноголучевое распространениеоборудованиеданет有Может用изпуть。这Может以用来测试ДолженоборудованиеначальствоизI/Oдавозможный успех。Заказсам не пытаетсяоборудованиевыполнить наI/O。
-u #исследовать Среда программированиясерединаобозначениеизоборудованиеданетотвечать Должендамноголучевое путь передачи в устройстве
-U #исследовать Среда программированиясерединаобозначениеизоборудованиеданетда具有Может用путьизмноголучевое распространениеоборудованиеи-CТот же эффект
-h #Распечатать текст использования (справка)
-t #Отображать используемое в данный момент многолучевое значение по умолчанию распространение Конфигурация
-T #показывать当前использоватьизmultipathdКонфигурация,Ограничить вывод в системусерединадействительный Появлятьсяизоборудование。Это можно использовать для созданияmultipath.confизшаблон。
# Параметры
-v level #по умолчаниюи“список”В рабочем режиме распечатать наstdoutиздлинныйинформация。по умолчаниюизуровеньда- v2。
0 #Nothing is printed. без печати
1 #В режиме списка вывести все многолучевое распространение сопоставленных WWID.
2 #по умолчаниюрежим,Печать создана или изменена многолучевое распространение отображенной топологии. (В режиме списка.)
3 #Распечататьвсеобнаруженизпутьивсемноголучевое распространение отображенной топологии. (Включатьмноголучевое распространение Подробностиblacklist、whitelistиоборудованиеwwidждатьждатьинформация)
#Уровень резервирования также контролирует печать дляstderrизбревнои Отладочные сообщенияизуровень。по умолчаниюизуровеньверноотвечать于LOG_NOTICE(существоватьнормальныйбегатьсередина不отвечать Долженскучатьизважные новости)。
-d #Предварительный просмотр, не создавайте и не обновляйте карту разработки.
-i #Игнорировать файлы WWID при работе с устройствами. если find_multipaths является строгим или установите find_multipaths в multipath no。conf, multipathТолькоучитыватьWWIDsдокументсерединасписокизоборудование。Этот выбор переопределяет поведение。дляfind_multipathsиз Что他值,этот Параметрыне работает。
-B #Считать файлы привязки доступными только для чтения.
-b file #Установите местоположение файла привязки user_Friendly_names. default is /etc/multipath/bindings.
-q #Не длямноголучевое Transfermap отключил устройство сопоставления устройств queue_if_no_path Функция. Обычно multipath делает это, если multipathd не запущен, поскольку работает только многолучевое. Демон распространения гарантирует, что недоступные пути будут восстановлены, когда они снова станут доступными.
-p policy #силавсекартографирование到обозначениеизпуть Группа Стратегия,Стратегияиз Может能值иmultipath.conf(5)серединаизpath_grouping_policyиз То же значение,опциональные стратегии стратегии;
# . failover Один путь на группу приоритетов
# . multibus Все пути в одной приоритетной группе
# . group_by_serial Одна приоритетная группа для каждого серийного номера
# . group_by_prio Для каждого уровня приоритета существует группа приоритетов.
# . group_by_node_name Одна группа приоритетов на целевой узел
-r #Принудительная перезагрузка всего существующего многолучевого распространение картографии. Если демон multipathd запущен, делегируйте ему этот заказ.
-R retries #Повторите обновление используемого многолучевого распространениеоборудованиеизчастота。значение по умолчаниюда0。
Основной пример:
# (1) Часто используемый заказ
многолучевое распространение -F # Обновить (удалить) все неиспользуемое многолучевое Распространение Сопоставление устройств
multipath -v2 # Печать создана или изменена многолучевое РаспространитьMap топологию или распечатать все многолучевое передача отображенной топологии
multipath -r # Принудительная перезагрузка всех существующих многолучевых распространениекартографирование,Прямо сейчас Исправлятьmultipath.confКонфигурациядокумент之后采用Что Может以热加载
# (2) Список местмноголучевое Вся информация wwids, идентификатор в устройстве передачи номер устройства и информация о значении атрибута MAJ:MIN.
multipath -v3 2>/dev/null
# ===== paths list =====
# uuid hcil dev dev_t pri dm_st chk_st vend/prod
# 36000d3100366e6000000000000000021 4:0:1:1 sdd 8:48 50 undef undef COMPELNT,
# 36000d3100366e6000000000000000020 4:0:1:2 sde 8:64 50 undef undef COMPELNT,
# 36000d3100366e6000000000000000021 4:0:2:1 sdb 8:16 1 undef undef COMPELNT,
# 36000d3100366e6000000000000000020 4:0:2:2 sdc 8:32 1 undef undef COMPELNT,
# (3) Дефолтное и текущее многолучевое распространениепрограммное обеспечение Конфигурацияинформация
multipath -t | more
multipath -T
defaults {
verbosity 2
polling_interval 5
max_polling_interval 20
.....
marginal_pathgroups "no"
}
blacklist {
devnode "^sda"
devnode "^hd[a-z]"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^dcssblk[0-9]*"
}
blacklist_exceptions {
property "(SCSI_IDENT_|ID_WWN)"
}
devices {
device {
vendor "NVME"
product ".*"
uid_attribute "ID_WWN"
path_checker "none" #Метод определения статуса пути
retain_attached_hw_handler "no"
}
}
Настройка файла multipath /etc/multipath.conf Описание параметра
$multipath -T
defaults {
verbosity 2
polling_interval 5
max_polling_interval 20
reassign_maps "no"
multipath_dir "//lib/multipath"
path_selector "service-time 0" #Выбираем путь для выполнения следующей операции ввода-вывода
path_grouping_policy "multibus" #Path Групповая политика
uid_attribute "ID_SERIAL"
prio "const"
prio_args ""
features "0"
path_checker "tur" # Как определить статус пути
alias_prefix "mpath"
failback "immediate" #Режим восстановления после сбоя
rr_min_io 1000 # Количество запросов ввода-вывода в текущей группе пользователей до переключения на другой путь.
rr_min_io_rq 1
max_fds "max"
rr_weight "uniform"
no_path_retry "fail" # Ошибка по умолчанию, при отключении Сколько раз система пытается использовать неудачный путь перед очередью.
queue_without_daemon "no"
flush_on_last_del "no"
user_friendly_names "yes"
fast_io_fail_tmo 5
bindings_file "/etc/multipath/bindings"
wwids_file "/etc/multipath/wwids"
prkeys_file "/etc/multipath/prkeys"
log_checker_err always
all_tg_pt "no"
retain_attached_hw_handler "yes"
detect_prio "yes"
detect_checker "yes"
force_sync "no"
strict_timing "no"
deferred_remove "no"
config_dir "/etc/multipath/conf.d"
delay_watch_checks "no"
delay_wait_checks "no"
san_path_err_threshold "no"
san_path_err_forget_rate "no"
san_path_err_recovery_time "no"
marginal_path_err_sample_time "no"
marginal_path_err_rate_threshold "no"
marginal_path_err_recheck_gap_time "no"
marginal_path_double_failed_time "no"
find_multipaths "on"
uxsock_timeout 4000
retrigger_tries 0
retrigger_delay 10
missing_uev_wait_timeout 30
skip_kpartx "no"
disable_changed_wwids ignored
remove_retries 0
ghost_delay "no"
find_multipaths_timeout -10
enable_foreign ""
marginal_pathgroups "no"
}
# Серверное оборудование (за исключением следующих узлов устройств)
blacklist {
devnode "^sda"
devnode "^hd[a-z]"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^dcssblk[0-9]*"
devnode "^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]"
devnode "^(td|hd|vd)[a-z]"
devnode "^cciss!c[0-9]d[0-9]*"
}
device {
vendor "SGI" #Имя производителя, доступное через multipath –v3получитьto
product "Universal Xport" #Модель продукта
getuid_callout "/sbin/scsi_id -g -u -s /block/%n" #Программа по умолчанию, используемая для получения уникального номера устройства
}
device {
vendor "^DGC"
product "LUNZ"
}
device {
vendor "EMC"
product "LUNZ"
}
device {
vendor "DELL"
product "Universal Xport"
}
device {
vendor "IBM"
product "Universal Xport"
}
device {
vendor "IBM"
product "S/390"
}
device {
vendor "LENOVO"
product "Universal Xport"
}
device {
vendor "(NETAPP|LSI|ENGENIO)"
product "Universal Xport"
}
device {
vendor "STK"
product "Universal Xport"
}
device {
vendor "SUN"
product "Universal Xport"
}
device {
vendor "(Intel|INTEL)"
product "VTrak V-LUN"
}
device {
vendor "Promise"
product "VTrak V-LUN"
}
device {
vendor "Promise"
product "Vess V-LUN"
}
}
blacklist_exceptions {
property "(SCSI_IDENT_|ID_WWN)"
}
devices {
device {
vendor "COMPELNT"
product "Compellent Vol"
path_grouping_policy "multibus"
no_path_retry "queue"
}
}
overrides {
...
}
multipaths {
multipath {
wwid "36000d3100366e6000000000000000021" #WWID диска
alias "k8sapp"
}
multipath {
wwid "36000d3100366e6000000000000000020"
alias "k8slog"
}
}
описывать:/etc/multipath/bindingsдокументдасуществоватьmultipath.confсерединаопределенныйuser_friendly_namesсвойствочасждать,Следующие понятные псевдонимы принимаются по умолчанию;
$cat /etc/multipath/bindings
# Format:
# alias wwid
mpatha 36000d3100366e6000000000000000020
mpathd 36000d3100366e6000000000000000021
описывать: Windows также поставляется с программным обеспечением для управления многопутевым доступом под названием MPIO, Windows. MPIO интегрирован в системы Windows, не устанавливается по умолчанию и его необходимо устанавливать вручную.
Шаг 1. Откройте «Диспетчер серверов-Управление сервером», выберите «Функция» и в контекстном меню выберите «Добавить функции-Добавить функции».
Шаг 2. Добавьте «MultiPath I/O». Во всплывающем окне выбора функций выберите «MultiPath I/O».
WeiyiGeek.MultiPath I/O
Step 3. Необходимо настроить многопутевой доступ MPIO, чтобы он мог взять на себя управление системой хранения. Окна 2008 и последующие версии Операционной системапоставлятьmpclaimмноголучевое распространение Заказ Можетиспользоваться для Запрос информации о диске;
# ЗапрособорудованиеVIDиPID,этотв举例所用,действительный Конфигурацияизчасждатьнуждаться以现场环境изпоказывать为准。
VID:Vendor Идентификатор, идентификатор производителя. Например, HUAWEI и т. д.
PID:Product Идентификатор, идентификатор продукта. Например, S5500T и S5600T.
# Запрос информации о диске
mpclaim -e
Step 4.бегатьMPIOуправлятьконсоль%windir%\system32\mpiocpl.exe
也Можетсуществоватьуправлять工具оказатьсяэто,руководитьдобавить вобращатьсяуправлятьхранилищеоборудованиеизинформация
В «МПИО Устройство» нажмите «Добавить», чтобы добавить устройство хранения.
WeiyiGeek.
Шаг 5. Перезапустите хост, чтобы многопутевой режим вступил в силу, а затем проверьте политику MPIO. Диск будет повторно просканирован после перезапуска хоста. Количество дисков соответствует количеству LUN, сопоставленных с хостом. Щелкните правой кнопкой мыши диск и выберите «Свойства», чтобы просмотреть параметры MPIO в свойствах. Вообще говоря, если нет особых требований, сначала будет использоваться политика MPIO по умолчанию. Политики по умолчанию различаются в разных ситуациях. Политики по умолчанию для часто используемых операционных систем показаны в Таблице 1-1.
Операционная система | система хранения | Политика MPIO по умолчанию | иллюстрировать |
---|---|---|---|
Windows Server 2008 | Включите АЛУА | Round Robin With Subset | |
Закрыть | Fail over only | ||
Windows Server 2008 R2 | Включите АЛУА | Round Robin With Subset | |
Закрыть | Round Robin | ||
Windows Server 2012 DC | Включите АЛУА | Round Robin With Subset | |
Закрыть | Round Robin |
Шаг 6. Измените статус пути. Некоторые конкретные сценарии или требования требуют перенастройки статуса пути.
Например: для политики «Только отработка отказа» только один путь может находиться в состоянии «Активировать», а остальные пути должны быть переведены в состояние «Ожидание» для Windows 2008 — состояние пути, подключенного к контроллеру-владельцу; необходимо установить «Активный/Оптимизированный», а состояние пути к другим контроллерам установить на «Активный/Неоптимизированный».
Шаг 7. Сохраните конфигурацию статуса пути.
После завершения изменения всех состояний пути диска интерфейс не будет обновлен сразу. Вам необходимо нажать кнопку «ОК» в интерфейсе конфигурации политики MPIO, чтобы сохранить конфигурацию, и снова открыть интерфейс конфигурации политики MPIO для проверки. вступили ли изменения в силу.
mpclaim Заказ
описываю: Вы также можете выполнить управление MPIO с помощью cmd перед использованием.
# Проверять当前Установитьизfeatures
dism /online /get-features
# Активировать MPIO
dism /online /enable-feature:MultipathIo
# Отмена Активировать MPIO
dism /online /disable-feature:MultipathIo
Основной пример:
# ПроверятьMicrosoft DSM управлять устройством хранения данных
mpclaim -r
# Проверять系统Обнаружитьизхранилищеоборудование
mpclaim -e
# Используйте управление MPIO для всех устройств хранения данных.
mpclaim.exe -r -i -a ""
# Удалить поддержку MPIO для всех устройств
mpclaim.exe -r -u -a ""
# Использование MPIO для управления устройствами Fibre Channel
mpclaim.exe -r -i -d <_VendorID> <_ProductID>
# Удалить поддержку MPIO для устройств Fibre Channel.
mpclaim.exe -r -u -d <_VendorID> <_ProductID>
# использоватьMPIOуправлять iSCSI оборудование
mpclaim -r -i -d "MSFT2005iSCSIBusType_0x9"
#удалятьMPIOверноiSCSIоборудованиеизуправлять
mpclaim.exe -r -u -d "MSFT2005iSCSIBusType_0x9"
# Изменить политику балансировки нагрузки
mpclaim.exe –L –M <_num>
Что следует отметить:
Parameter | Definition |
---|---|
0 | Очистить политику - очистить политику |
1 | Только аварийное переключение – аварийное переключение |
2 | Круговая система - петля |
3 | Раунд-робин с подмножеством — цикл подмножества |
4 | Наименьшая глубина очереди - Наименьшая глубина очереди |
5 | Взвешенные пути — Взвешенные пути |
6 | Least Blocks - наименьшее количество блоков |
7 | Зависит от поставщика - Зависит от поставщика |
Вопрос 1. Ailed Ready Running отображается, когда многопутевое устройство не смонтировано.
$multipath -ll
# k8slog (36000d3100366e6000000000000000020) dm-1 COMPELNT,Compellent Vol
# size=1.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=active
# |- 5:0:0:2 sdc 8:32 failed ready running # Ключевые моменты
# `- 5:0:1:2 sde 8:64 active ready running
# Решение
$mount /dev/mapper/k8slog /mnt/nfs/k8slog/ # Ключевые моменты
$multipath -ll
# k8slog (36000d3100366e6000000000000000020) dm-1 COMPELNT,Compellent Vol
# size=1.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
# `-+- policy='service-time 0' prio=25 status=active # Ключевые моменты
# |- 5:0:0:2 sdc 8:32 active ready running
# `- 5:0:1:2 sde 8:64 active ready running
Вопрос 2. После установки ubuntu20.04 на виртуальную машину проверьте системный журнал и увидите большое количество следующих сообщений об ошибках. После устранения неполадок выяснилось, что это проблема конфигурации с несколькими путями, и локальный диск sda необходимо исключить.
# Информация о проблеме
Jun 13 14:31:12 multipathd[615]: sda: add missing path
Jun 13 14:31:12 multipathd[615]: sda: failed to get udev uid: Invalid argument
Jun 13 14:31:12 multipathd[615]: sda: failed to get sysfs uid: Invalid argument
Jun 13 14:31:12 multipathd[615]: sda: failed to get sgio uid: No such file or directory
# Процесс решениядобавить в Следующее содержание,sda может внести изменения в соответствии с локальной средой, а затем перезапустить службу.
sudo vi /etc/multipath.conf
черный список {
узел разработчика "^sda"
}
перезапуск службы sudo multipath-tools