Базовое введение, установка, настройка и использование многопутевого управления многопутевым доступом
Базовое введение, установка, настройка и использование многопутевого управления многопутевым доступом

[TOC]

0x00 Краткое введение к предисловию

Вопрос: Что такое многопутевость?

Ответ: Многолучевой I/O Технология компьютерного хранения подразумевает использование двух или более путей для одновременной передачи сигналов между ЦП и устройствами хранения для достижения цели отладки и повышения производительности. Проще говоря, когда существует несколько путей от сервера к определенному устройству хранения данных, каждый путь будет распознаваться как отдельное устройство (неудобно использовать), и многолучевое распространение Позволяет размещать серверные узлыинесколько массивов храненияI/Oпуть Конфигурацияза одногооборудование(Сразуда Что мы называем агрегацией ссылок)Прямо сейчасмноголучевое распространение АгрегированныйI/Oпутьи создано Этисобиратьпутькомпозицияизновыйоборудование,ЭтиI/Oпуть МожетВ комплекте отдельный кабель, коммутатор и контроллер физического канала SAN (FC / SAS / iSCSI)ждать;

WeiyiGeek.Многопутевая иллюстрация

Принцип работы: При сбое физического пути из-за сбоя платы HBA хоста, кабеля, коммутатора или RAID-контроллера устройства хранения данных сервер может передавать ввод-вывод через этот физический путь на другие обычные физические пути, а приложение этого не делает. Это изменение будет замечено. , тем самым улучшая доступность системы.

Требования к оборудованию: С точки зрения аппаратного обеспечения серверу требуются две или более интерфейсные карты HBA, два или более коммутатора в сети, два или более резервных контроллера на блочном устройстве хранения, и между различными физическими путями нет аппаратной зависимости. Многопутевой резервный ввод-вывод также может обеспечить балансировку нагрузки ввода-вывода и повысить производительность системы, но в основном это отказоустойчивый механизм.

В: Для чего он используется?

  • Резервирование: активный и резервный режимы, высокая доступность;
  • Оптимизация производительности: Мастер-режим, балансировка нагрузки;

Q: Как использовать многопутевой? описывать: Вы можете обратиться к следующим главам и воспользоваться соответствующей тестовой средой для практики.,Обычно используется в трех ситуациях:например Есть хранилищеоборудованиеии Пропуска хозяина(FC-волоконная линия、SAS-кабель、Ethernet — кабель категории 6)Установить прямое соединение; Сценарии его применения:

  • 1. Предназначен для многопутевых устройств ввода-вывода с блочными дисками хранения.
  • 2. Используется в среде Oracle ASM.
многолучевая технология

описывать:Суть реализации заключается в храненииоборудованиеадаптироваться Операционная систему, тем самым реализуя многолучевую технология,поддерживатьALUAда Основная часть。

1.ALUA

Описание: ALUАмноголучевая технология(Asymmetric Logical Unit Access-Доступ к асимметричному логическому блоку),Чтопоставлятьполучил одинпуть Обнаружитьи Стандартизированный механизм установления приоритетов,Реализация хостаихранилищеоборудованиеизпутьсамопереговорыидинамичныйуправлять

Особенности: Для конкретного LUN,на своем пути,Целевой порт контроллера находится вПроактивный/Оптимизированныйсостояние,на целевом порту другого контроллераЮ актив/фейюсостояние。в определенный момент,Определенный LUN принадлежит только определенному контроллеру,Реализовать балансировку нагрузки с обеих сторон.,Сразудапоставит задачуAбросить контроллеруA,Бросить задачу Б на контроллер Б,Для одной и той же задачи в любой момент времени ею управляет только один контроллер.

2.SLUA

описывать:SLUAмноголучевая технология(Symmetric Logical Unit Access — доступ к симметричной логической единице) псевдоним симметричного зеркального тома, который является основной особенностью многопутевого доступа. Особенности: Для конкретного LUN,на своем путидвахранилищеконтроллериз目标端口均в于Проактивный/Оптимизированныйсостояние。Высокоскоростная связь между двумя контроллерами,IO отправляется на контроллер,Два контроллера могут одновременно участвовать вииметь дело с;Балансировка на стороне хоста не требуется, когда контроллер занят в системе. Программное обеспечение нагрузки может автоматически осуществлять балансировку нагрузки

Сравнение SLUA и ALUA:

  • бывший: Двойной мастер/оптимизация, LUN может принадлежать двум контроллерам балансировки нагрузки、Различные группы LUN на одном RAID-массиве могут охватывать контроллеры, и миграция LUN между контроллерами не влияет на приложения.、Пропускная способность увеличивается вдвое и переключается автоматически за 1 секунду;
  • последний: Двойной главный/неоптимизированный, один и тот же LUN ​​принадлежит определенному контроллеру, и автоматическое управление между двумя контроллерами невозможно. нагрузка, а время переключения обычно составляет более десяти секунд;

WeiyiGeek.многолучевая технология

анализ существительного
1.DM Multipath – многопутевое устройство

описывать:Если не примут DM Multipath Тогда каждый путь от серверного узла к контроллеру хранилища будет рассматриваться системой как независимое устройство, даже если путь ввода-вывода соединяет один и тот же серверный узел с одним и тем же контроллером хранилища. DM Multipathобеспечивает логическоеуправлятьI/Oпутьизметод,Прямо сейчассуществовать Базаоборудованиетоп генерировать синглмноголучевое распространениеоборудование;

2.WWID – Всемирный идентификатор

описывать:каждыймноголучевое распространяемые устройства имеют WWID (глобальный идентификатор), это единственный номер в мире, который нельзя изменить, По умолчанию многолучевое распространениеоборудованиеимя установлено на своеWWID, В наличии многолучевое распространение Конфигурациядокумент(/etc/multipath.conf)Средние настройкиuser_friendly_namesПараметры,Должен Параметры Псевдонимы можно задать в форматеmpathnиз Узел уникальныйимя也Может以也Может以自定义хранилищеоборудованиеимя;

Пример. Проверьте идентификатор scsi устройства, то есть представление WWID, и получите глобальный уникальный идентификационный номер wwid общего диска iscsi.

Язык кода:javascript
копировать
# Способ 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. Пользовательское имя устройства хранения;

Язык кода:javascript
копировать
# /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
3.scsi_id — идентификатор устройства

описывать: Он включен в пакет udev.,Можно найти вmultipath.confсередина Конфигурация Должен Программа приходитполучатьscsiоборудованиесерийный номер。проходить序号便Может以判断多индивидуальныйпутьверно Ответил на то же самоеоборудование。этотдамноголучевое Распространить Ключ к реализации. Когда программа multipath создает многопутевое устройство, она вызывает scsi_id, чтобы получить scsi устройства из стандартного вывода. идентификатор. При переписывании вам необходимо изменить возвращаемое значение программы scsi_id на 0. Поскольку в программе multipath это значение будет проверяться для определения scsi Был ли идентификатор успешно получен.

4. Агрегация и отображение многопутевого распространения.

Вопрос: Что такое сохраненная агрегация и сопоставление многопутевого трафика? Linux Хост через внешний FC / SAS физикехранилищеоборудованиечас,Обычно на хосте устанавливается карта HBA.,Карта HBA подключается к оптоволоконному коммутатору или прямому хранилищу через номер WWN.。еслиHBAКарта Проблема требует заменычас,Номер WWN также изменится соответствующим образом.,Ссылка посередине эквивалентна разрыву.,Сразу Не могу нормально распознатьхранилищедиск Раздел。 Конечно, на некоторых адаптерах HBA указаны номера WWN, и вы можете изменить соответствующую конфигурацию оптического коммутатора или хранилища перед заменой карты HBA. Однако на многих из них этот WWN не отмечен, поэтому нужно быть очень внимательным. Рекомендуется после замены проверить вновь распознанный номер WWN через команду в системе и подтвердить следующее.

Проверьте номер WWN карты HBA на хосте.

Язык кода:javascript
копировать
# 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


0x01 Управление многопутевым доступом

описывать:дляхранилищеоборудование СозданныйLUNТома и сопоставления часто назначаются серверам с несколькими контроллерами для обеспечения избыточности.,обновитьscsiоборудованиепозже ты будешьсуществоватьсерверсередина Проверятьк нескольким/dev/sd[b-z]дискоборудование,этотчас Необходимо принятьмноголучевое Программное обеспечение распространения объединяет ссылки, так что диски, которые изначально имеют несколько дисков SCSI, объединяются в одно устройство, когда они монтируются локально. Обратите внимание, что это тесно связано с вашим устройством хранения данных. Большую часть хранилища можно подключить к хосту Linux с помощью собственного многолучевого соединения multipath; Распространяю ПО, однако для хранения Huawei нужно отдельно устанавливать стороннее многолучевое. распространение программного обеспечения подойдет;

Linux - Multipath

Описание: Инструмент многопутевого доступа с открытым исходным кодом в Linux используется для управления многопутевым вводом-выводом. Когда один канал нестабильен, он может автоматически переключаться на другой канал. Конечно, если вы хотите использовать многопутевые устройства, вам необходимо установить соответствующее многопутевое программное обеспечение;

Multipath Установить&запускать Примечание: CentOS 7.8 / Ubuntu 20.04 tls Поставляется без необходимости установки

Язык кода:javascript
копировать
# 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.

Язык кода:javascript
копировать
# (1) Сопоставьте LUN ​​хранилища с необходимым хостом, а затем проверьте номер wwn на хосте или коммутаторе хранилища.
cat /sys/class/fc_host/host*/port_name
0x2002d0431efb7f5d  #HBAcardWWN номерлоготип

2. Для дисков с многопутевым блочным хранилищем SAS SAN.

Язык кода:javascript
копировать
# (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.

Язык кода:javascript
копировать
# Временная добавка

Сканирование, добавление и удаление дисковых устройств SCSI

Язык кода:javascript
копировать
# (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

Язык кода:javascript
копировать
# (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.

Язык кода:javascript
копировать
# 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.

Язык кода:javascript
копировать
# 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-диск:

Язык кода:javascript
копировать
# 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

Настройте многопутевой доступ:

Язык кода:javascript
копировать
# 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

Дополнительное монтирование разделенного диска и форматирование:

Язык кода:javascript
копировать
# 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 Заказ - Автоматическая настройка целевого устройства сопоставления устройств описывать: Должен Заказ Основная функциядаоборудованиеруководитькартографированиеавтоматически нацеливаться Конфигурация,Прямо сейчасдля обнаруженияисливаться воборудованиеиз Несколькопуть,использовать в экстренных случаях переключение или причины производительности.

Параметры синтаксиса:

Язык кода:javascript
копировать
# помощьиллюстрировать
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。

Основной пример:

Язык кода:javascript
копировать
# (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.conf — подробности конфигурации

Настройка файла multipath /etc/multipath.conf Описание параметра

Язык кода:javascript
копировать
$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"
  }
}
привязки — псевдоним для привязок multipath по умолчанию

описывать:/etc/multipath/bindingsдокументдасуществоватьmultipath.confсерединаопределенныйuser_friendly_namesсвойствочасждать,Следующие понятные псевдонимы принимаются по умолчанию;

Язык кода:javascript
копировать
$cat /etc/multipath/bindings
# Format:
# alias wwid
mpatha 36000d3100366e6000000000000000020
mpathd 36000d3100366e6000000000000000021
Windows - MPIO

описывать: Windows также поставляется с программным обеспечением для управления многопутевым доступом под названием MPIO, Windows. MPIO интегрирован в системы Windows, не устанавливается по умолчанию и его необходимо устанавливать вручную.

Шаг 1. Откройте «Диспетчер серверов-Управление сервером», выберите «Функция» и в контекстном меню выберите «Добавить функции-Добавить функции».

Шаг 2. Добавьте «MultiPath I/O». Во всплывающем окне выбора функций выберите «MultiPath I/O».

WeiyiGeek.MultiPath I/O

Step 3. Необходимо настроить многопутевой доступ MPIO, чтобы он мог взять на себя управление системой хранения. Окна 2008 и последующие версии Операционной системапоставлятьmpclaimмноголучевое распространение Заказ Можетиспользоваться для Запрос информации о диске;

Язык кода:javascript
копировать
# ЗапрособорудованиеVIDиPID,этотв举例所用,действительный Конфигурацияизчасждатьнуждаться以现场环境изпоказывать为准。
VID:Vendor Идентификатор, идентификатор производителя. Например, HUAWEI и т. д.
PID:Product Идентификатор, идентификатор продукта. Например, S5500T и S5600T.

# Запрос информации о диске
mpclaim -e

Step 4.бегатьMPIOуправлятьконсоль%windir%\system32\mpiocpl.exe也Можетсуществоватьуправлять工具оказатьсяэто,руководитьдобавить вобращатьсяуправлятьхранилищеоборудованиеизинформация В «МПИО Устройство» нажмите «Добавить», чтобы добавить устройство хранения.

  • Если вы используете MPIO для инициатора iSCSI, вам необходимо включить опцию «Добавить поддержку устройства iSCSI» в меню «Обнаружение нескольких путей».
  • Большинство моделей устройств можно автоматически идентифицировать в разделе «Другие» в разделе «Обнаружение нескольких путей». На данный момент просто нажмите «Добавить», чтобы добавить их.

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 перед использованием.

Язык кода:javascript
копировать
# Проверять当前Установитьизfeatures
dism /online /get-features

# Активировать MPIO
dism /online /enable-feature:MultipathIo

# Отмена Активировать MPIO
dism /online /disable-feature:MultipathIo

Основной пример:

Язык кода:javascript
копировать
# Проверять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>

Что следует отметить:

  • Программное обеспечение для управления несколькими путями Windows MPIO поддерживает максимальное количество путей на один логический модуль, равное 32 (рекомендуется, чтобы количество путей на один логический модуль было не более 32). При наличии более 32 путей в хост-системе Windows появится синий экран.
  • Для хранилища, не поддерживающего ALUA,Пожалуйста, следуйте“Закрыть”изспособ КонфигурацияMPIOСтратегия。
  • VendorID должен быть 8-битным, ProductID — 16-битным, а все недостающие байты должны быть заполнены пробелами.
  • Изменить политику балансировки нагрузки Заказсерединаизnum参数代поверхностьиз意思见поверхность

Parameter

Definition

0

Очистить политику - очистить политику

1

Только аварийное переключение – аварийное переключение

2

Круговая система - петля

3

Раунд-робин с подмножеством — цикл подмножества

4

Наименьшая глубина очереди - Наименьшая глубина очереди

5

Взвешенные пути — Взвешенные пути

6

Least Blocks - наименьшее количество блоков

7

Зависит от поставщика - Зависит от поставщика


0x02 Войдите в яму, чтобы решить проблему.

Вопрос 1. Ailed Ready Running отображается, когда многопутевое устройство не смонтировано.

Язык кода:javascript
копировать
$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 необходимо исключить.

Язык кода:javascript
копировать
# Информация о проблеме
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

0x03 эталонное соединение
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.