Поделиться через


Подключение к томам Elastic SAN — Linux

В этой статье объясняется, как подключиться к Elastic SAN из индивидуального клиента Linux. Дополнительные сведения о подключении из клиента Windows см. в разделе Подключение к томам Elastic SAN — Windows.

В этой статье вы настроите группу томов, чтобы разрешить подключения из вашей подсети, а затем настроите клиентскую среду для подключения к дисковому хранилищу Elastic SAN и настройке соединения.

При подключении отдельного эластичного тома SAN к нескольким клиентам необходимо использовать диспетчер кластеров. Дополнительные сведения см. в статье Использование кластеризованных приложений в Azure Elastic SAN.

Предпосылки

Включение инициатора iSCSI

Чтобы создать подключения iSCSI из клиента Linux, установите пакет инициатора iSCSI. Точная команда может отличаться в зависимости от вашего дистрибутива, и при необходимости обратитесь к документации вашего дистрибутива.

Например, с Ubuntu вы используете sudo apt install open-iscsi, с SUSE Linux Enterprise Server (SLES) — sudo zypper install open-iscsi, а с Red Hat Enterprise Linux (RHEL) — sudo yum install iscsi-initiator-utils.

Установка многопатокового ввода-вывода

Чтобы добиться более высокой производительности операций ввода-вывода в секунду и пропускной способности для тома и достичь его максимальных пределов, необходимо создать несколько сеансов от инициатора iSCSI до целевого тома, основываясь на многопоточных возможностях вашего приложения и его требованиях к производительности. Для агрегирования этих нескольких путей в одном устройстве и повышения производительности с помощью оптимального распределения ввода-вывода по всем доступным путям на основе политики балансировки нагрузки, используется Multipath I/O.

Установите пакет многопатокового ввода-вывода для дистрибутива Linux. Установка будет отличаться в зависимости от дистрибутива, и вы должны ознакомиться с их документацией. Например, в Ubuntu команда будет sudo apt install multipath-tools. Для SLES команда будет sudo zypper install multipath-tools, а для RHEL команда будет sudo yum install device-mapper-multipath.

После установки пакета проверьте, существует ли /etc/multipath.conf. Если /etc/multipath.conf не существует, создайте пустой файл и используйте параметры в следующем примере для общей конфигурации. Например, mpathconf --enable создаст /etc/multipath.conf в RHEL.

Вам потребуется внести некоторые изменения в /etc/multipath.conf. Вам потребуется добавить раздел устройств в следующем примере, а раздел «По умолчанию» в следующем примере задает некоторые значения по умолчанию, которые обычно применяются. Если вам нужно сделать какие-либо другие конкретные конфигурации, например исключить тома из топологии multipath, см. страницу вручную для multipath.conf.

defaults {
    user_friendly_names yes		# To create ‘mpathn’ names for multipath devices
    path_grouping_policy multibus	# To place all the paths in one priority group
    path_selector "round-robin 0"	# To use round robin algorithm to determine path for next I/O operation
    failback immediate			# For immediate failback to highest priority path group with active paths
    no_path_retry 3			# To disable I/O queueing after retrying once when all paths are down
    polling_interval 5         # Set path check polling interval to 5 seconds
    find multipaths yes        # To allow multipath to take control of only those devices that have multiple paths 
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

После создания или изменения файла перезапустите операции ввода-вывода Multipath. В Ubuntu команда sudo systemctl restart multipath-tools.service, а в RHEL и SLES команда sudo systemctl restart multipathd.

Присоедините томы к клиенту

Для создания подключений можно использовать следующий скрипт. Чтобы выполнить его, соберите или определите следующие параметры:

  • подписка: идентификатор подписки
  • g: имя группы ресурсов
  • e: эластичное имя SAN
  • v: Название группы томов
  • n <vol1, vol2, ...>: имена томов 1 и 2 и других имен томов, которые могут потребоваться, разделенные запятыми
  • s: число сеансов для каждого тома (по умолчанию — 32)

Скопируйте скрипт из здесь и сохраните его в виде файла .py, например connect.py. Затем выполните его с необходимыми параметрами. Ниже приведен пример запуска скрипта.

./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32

Количество сеансов можно проверить с помощью sudo multipath -ll

Установка номера сеанса

Используйте 32 сеанса для каждого целевого тома, чтобы достичь максимальных пределов IOPS и/или пропускной способности.

Количество сеансов можно изменить, выполнив скрипт, выполнив следующие инструкции:

Замечание

Используется -n для задания количества сеансов. Параметр принимает значения от 1 до 32 и имеет значение по умолчанию 32.

python3 connect_for_documentation.py \ 

--subscription <your-subscription-id>\ 

-g <resource-group>\ 

-e <elastic-san-name>\ 

-v <volume-group-name>\ 

-n volume1 volume2 \ 

-s <value>

Дальнейшие действия

Настройка сети Elastic SAN