Перейти к содержанию

Блочные хранилища

Общие сведения

Раздел Хранилища — Сетевые хранилища основного меню содержит два подраздела - Файловые и Блочные.

К блочным хранилищам относят хранилища, предоставляемые по протоколам iSCSI и FC.

Сетевые хранилища типов iSCSI и FC основаны на принципе предоставления блочных устройств, которые после подключения воспринимаются системой как локальные диски. Основное отличие данных хранилищ — это метод подключения к ним серверов.

Технология iSCSI работает поверх протокола TCP/IP. На стороне СХД настраиваются точки подключения, именуемые «цели» (iSCSI target), в которых презентуются блочные устройства (LUN). Подключение к ним со стороны сервера осуществляется «инициатором» (iSCSI initiator). В качестве «инициатора» может выступать клиентское ПО или физический сетевой адаптер, настроенный на режим iSCSI-инициатора. Возможность настройки адаптера как «инициатора» необходимо уточнять у производителя. Блочные устройства становятся доступными на сервере после запуска «инициатора» и, в случае работы программного клиента, доступны только после загрузки ОС гипервизора.

Блочный доступ FC основывается на собственной технологии передачи данных, требует установки специализированных адаптеров (карт расширения), специализированных коммутаторов и систем хранения с поддержкой данной технологии. За счёт собственных адаптеров использование «инициатора» не требуется и блочные устройства презентуются серверу на аппаратном уровне и воспринимаются как локальные диски. При использовании FC необходимо учитывать данный момент, так как добавление LUN может изменить порядок подключенных физических носителей в ОС гипервизора.

Правила предоставления блочных устройств от СХД к серверам для FC настраиваются в коммутаторе и в ПО управления самой СХД, так как основными идентификаторами «клиентов» и портов на СХД являются WWN - аналог MAC-адреса для обычного сетевого адаптера. Другие идентификаторы для данной технологии не предусмотрены.

На сервере или в ВМ работа с подключенным блочным устройством LUN происходит так же, как и с НЖМД — его можно отдать под управление LVM, отформатировать в файловую систему. При использовании коллективного доступа к LUN необходимо форматировать его в кластерную файловую систему, которая будет следить за конкурентным доступом к ресурсам устройства.

Существенным плюсом использования доступа к блочным устройствам является то, что многие системы хранения имеют механизмы повышения отказоустойчивости. Некоторые СХД также предоставляют возможность объединения их в кластер и настройки репликации одного блочного устройства LUN таким образом, что при выходе из строя одного сервера, подключенная система автоматически переключится на резервную копию.


Подключение

При подключении блочного сетевого хранилища необходимо ввести все параметры подключения в соответствии с выбранным типом хранилища.

Повторное монтирование

Повторное монтирование одного блочного хранилища на один узел не рекомендуется.
Данное действие может привести к сбоям в работе системы.

При подключении к хранилищу iSCSI необходимо знать IP-адреса или доменные имена хранилища (sources), порты подключения, имена целей (iSCSI target), логин и пароль подключения (если требуется). Имена целей должны соответствовать формату, установленному стандартом, и иметь вид:

iqn.2018-11.com.raidix:target0

eui.0123456789abcdef

naa.0123456789abcdef

naa.0123456789abcdef0123456789abcdef

В рамках одной цели может предоставляться несколько блочных устройств.

Для подключения блочного хранилища iSCSI необходимо перейти в раздел Хранилища - Сетевые хранилища - Блочные основного меню и нажать кнопку Добавить блочное хранилище.

В открывшемся окне необходимо заполнить следующие поля:

  • Название сетевого хранилища.

  • Опция Multipath I/O.

    Определить возможность подключения узлов сети хранения данных с использованием нескольких маршрутов (состояние Multipath I/O).

  • Тип подключения (выбор из раскрывающегося списка).

  • Локация (выбор из раскрывающегося списка).

  • Имя сервера для монтирования сразу после создания (выбор из раскрывающегося списка).

  • IP-адрес или доменное имя сервера хранения и порт.

    Если указать несколько адресов, то в окне Опции необходимо указать, к какому адресу относится каждый target.

  • Проверить доступность сервера и получить список доступных target по кнопке Получить доступные таргеты (target).

  • Имя iSCSI target.

  • Логин и пароль для подключения (если требуется).

  • Производитель (выбор из раскрывающегося списка).

  • Опции.

    При нажатии кнопки Опции в открывшемся окне выбрать:

    • таргет;

    • адреса (ip-адрес/доменное имя).

    После заполнения полей подтвердить действия по кнопке Сохранить

  • Описание хранилища.

Для подтверждения операции необходимо нажать кнопку ОК.

Для подключения серверов к созданному хранилищу необходимо:

  • Нажать на название хранилища в списке.

  • В открывшемся окне во вкладке Информация рядом с надписью Серверы нажать кнопку добавления сервера. При этом открывается окно с возможностью выбора серверов, к которым будет подключено данное хранилище. После заполнения окна необходимо подтвердить операцию, нажав кнопку ОК.

После добавления серверов рядом с надписью Серверы появится их количество и раскрывающийся список.

При использовании хранилища, подключаемого по FC, СХД предоставляет блочные устройства LUN на аппаратном уровне в соответствии с правилами, настроенными на FC коммутаторе и на стороне СХД. Для настройки правил подключения (презентации) LUN с СХД к серверам необходимо обратиться к документации производителя СХД и FC коммутатора. При использовании схемы прямого подключения СХД к серверам SpaceVM (схема DAS - Direct Attached Storage) настройка производится на самом СХД.

Для регистрации в системе управления подключенных LUN необходимо знать адрес WWN порта СХД, с которого происходит обслуживание подключений от серверов SpaceVM. Это необходимо для того, чтобы система управления SpaceVM собрала в группу только те LUN, которые подключены от этого WWN. Это сделано для возможности группировки LUN по WWN СХД, если по FC доступно более одного СХД. При регистрации система опрашивает все блочные устройства, подключенные к серверу, находит имеющие пометку о подключенных по шине FС и презентованные от указанного WWN.

После подключения блочных хранилищ к серверам SpaceVM видимые активные LUN можно использовать как LVM-shared хранилища, как часть ZFS-пула, форматировать их в кластерную файловую систему (GFS2) и подключать их напрямую к ВМ. Не рекомендуется подключать напрямую в ВМ LUN, презентованный по FC. Это связано с тем, что ВМ создаст на этом LUN загрузочную область, которая будет доступна аппаратному серверу, так как FC LUN подключается на уровне основной системы ввода-вывода (BIOS/UEFI).

При установке SpaceVM на сервер с уже подключенным по FC СХД необходимо обратить внимание на то, что при установке FC LUN могут отображаться в конце списка доступных к установке накопителей, но при загрузке гипервизора могут переместиться в начало списка (занять место диска /dev/sda). Для предотвращения такого поведения необходимо корректно настроить FC карту сервера (FC HBA) и параметры презентуемых LUN на стороне СХД.


Окно состояния блочного хранилища

В окне состояния блочного хранилища содержится информация, разделенная на группы:

  • информация;

  • LUN;

  • события;

  • задачи;

  • теги.

В окне ХранилищаСетевые хранилищаБлочные – <имя блочного хранилища> – Информация содержатся следующие сведения:

  • название (редактируемый параметр);

  • описание (редактируемый параметр);

  • тип подключения;

  • локация;

  • дата и время создания;

  • дата и время обновления;

  • target;

  • производитель (редактируемый параметр);

  • опции iSCSI;

  • sources (редактируемый параметр);

  • серверы (раскрывающийся список, с возможностью добавления (повторного добавления) и удаления. При добавлении сервера в открывшемся окне необходимо для проверки соединения с сервером нажать кнопку Проверить, после чего выбрать сервер из доступных и нажать кнопку ОК.

В окне ХранилищаСетевые хранилищаБлочные – <имя блочного хранилища> – LUN содержится информация о LUNs на хранилище (device, подключение, размер и статус). Имеется возможность обновления, сканирования хранилища, а также поиск дискового устройства в сетях хранения по адресу.

При нажатии на существующий LUN в открывшемся окне доступны следующие операции:

  • Обновление информации по кнопке image.

  • Форматирование в файловую систему.

    При нажатии на кнопку Форматировать в ФС в открывшемся окне необходимо выбрать из раскрывающегося списка тип файловой системы, после чего подтвердить операцию, нажав кнопку ОК. Подробности смотрите в Создание общего(их) для кластера пула(ов) данных GFS2 на LUN(s), если уже есть кластерный транспорт GFS2.

  • Монтирование.

    При нажатии на кнопку Монтировать необходимо подтвердить операцию, нажав кнопку ОК.

  • Размонтирование.

    При нажатии на кнопку Размонтировать необходимо подтвердить операцию, нажав кнопку ОК.

Также в данном окне содержится следующая информация:

  • ID;

  • путь;

  • target_dev;

  • тип шины;

  • размер;

  • тип файловой системы;

  • тип кэширования;

  • статус;

  • хранилище;

  • серийный номер;

  • серверы (раскрывающийся список);

  • сообщения о работе LUN с возможностью их сортировки по признакам – «По всем типам», «Ошибки», «Предупреждения», «Информационные».

Пример информации блочного хранилища

image


События

В окне ХранилищаСетевые хранилищаБлочные – <имя блочного хранилища> – События содержится события, зарегистрированные в системе, возникающие при работе с блочными сетевыми хранилищами с возможностью их сортировки по признакам - «По всем типам», «Ошибки», «Предупреждения», «Информационные».


Теги

В окне ХранилищаСетевые хранилищаБлочные – <имя блочного хранилища> – Теги содержится список присвоенных хранилищу меток. Также имеется возможность обновления, создания и применения тега.


Настройки multipath

Внимание

Если для нужного устройства нет предустановленного файла конфигурации, необходимо найти его у производителя СХД и добавить вручную через CLI с помощью команд:
1. storage multipath-edit - команда для редактирования конфигурационного файла.
2. storage multipath-conf-set-default - команда для сброса файла конфигурации multipath до базового.

Для просмотра настроек multipath в CLI используется команда:

storage multipath-conf

Внимание

Если для нужного устройства нет предустановленного файла конфигурации, необходимо найти его у производителя СХД и добавить вручную через CLI с помощью команд:
1. storage multipath-edit - Команда для редактирования конфигурационного файла.
2. storage multipath-conf-set-default - Команда для сброса файла конфигурации multipath до базового.

Для сканирования доступных путей в CLI используется команда:

storage scsi-host-discovery

Для изменения политики группировки путей LUN в CLI используется команда:

storage modify-multipath-path-grouping-policy [policy]

По умолчанию path_grouping_policy = failover.

Варианты path_grouping_policy
  • failover - One path per priority group.
  • multibus - All paths in one priority group.
  • group_by_serial - One priority group per serial number.
  • group_by_prio - One priority group per priority value. Priorities are determined by callout programs specified as a global, per-controller or per-multipath option in the configuration file.
  • group_by_node_name - One priority group per target node name. Target node names are fetched in /sys/class/fc_transport/target*/node_name.

Для изменения политики выбора путей LUN в CLI используется команда:

storage modify-multipath-path-selector [path_selector]

По умолчанию path_selector = service-time 0.

Варианты path_selector
  • service-time 0 - Send the next bunch of I/O down the path with the shortest estimated service time, which is determined by dividing the total size of the outstanding I/O to each path by its relative throughput.
  • round-robin 0 - Loop through every path in the path group, sending the same amount of I/O to each.
  • queue-length 0 - Choose the path for the next bunch of I/O based on the amount of outstanding I/O to the path.

Подключение FC хранилища

  1. При физическом подключении блочного хранилища по FC к серверу контроллер выдаст подсказку серверу о том, что есть неизвестные блочные хранилища.

  2. Если есть подсказка, то необходимо перейти во вкладку сервера ХранилищаБлочные хранилища и нажать кнопку Сканировать. Если на сервере найдутся незарегистрированные в базе контроллера хранилища, то они создадутся в базе или обновится связь с теми, что есть в базе.

  3. Если хранилище подключено к разным узлам по разным WWN (путям), то необходимо включить в настройках Multipath I/O и выставить Режим использования Multipath I/O - failover. Тогда при подключении узлов будет проверяться наличие хотя бы одного активного пути из всех.

  4. Командой storage hba-npiv в CLI можно посмотреть имеющиеся FC карточки, включая состояние их портов (port_state и speed).

  5. Командой storage fc-luns в CLI можно посмотреть FC LUNs.

  6. Командой storage multipath в CLI можно посмотреть LUN и пути, по которым они доступны.

  7. Просмотр WWNS подключенных хранилищ возможен во вкладке сервера ХранилищаБлочные хранилища по кнопке WWNS или в CLI командой storage fc-wwns.

  8. Просмотр локальных WWNS сервера возможен во вкладке сервера ХранилищаБлочные хранилища по кнопке Локальные WWNS или в CLI командой storage local-wwns.

  9. Пересканировать scsi шину узла можно в CLI командой storage rescan-scsi-bus.

  10. В некоторых случаях (например, этого требуют FCoE адаптеры HPE630FLB) для включения FC функционала на них необходимо выполнить команду CLI net fcoe enable <adapter>, например, net fcoe enable eno3.


Действия после изменения размера LUN на хранилище или его удаления

В том случае, если LUN был сначала виден на серверах SpaceVM, а потом его удалили в хранилище или изменили его размер, то автоматически обновление информации об этом действии не произойдет.

Рекомендации:

  1. Пересканировать scsi шину узла можно в CLI командой storage rescan-scsi-bus. Так как размер LUN проверяется на всех узлах, где он виден, то необходимо пересканировать шину на всех них. Для удобства можно это делать из CLI контроллера node nodes-cli 'storage rescan-scsi-bus'.

  2. Рестартовать сервис multipathd в CLI командой services restart multipath. Так как размер LUN проверяется на всех узлах, где он виден, то необходимо рестартовать сервис на всех них. Для удобства можно это делать из CLI контроллера node nodes-cli 'services restart multipath'.

Проверить изменение размера LUN можно, посмотрев в CLI вывод команды storage luns (storage fc-luns, storage iscsi-luns). Необходимо учитывать, что размер в CLI выводится в Гибибайтах (Тебибайтах и т.д.). В Web-интерфейсе контроллера размер LUN выводится в Гигабайтах (для удобства, так как в других местах выводится в таких же единицах) и изменяется автоматически после того, как узел увидел новый размер LUN.

Пример вывода команды storage iscsi-luns

image


Именование LUN (iqn)

Именование LUN должно происходить согласно стандартам:

RFC3721 (IQN part)

Создание имен iSCSI с использованием формата IQN
The following is an example of an iSCSI name string from a storage
service provider:

            Organization            String
               Naming            Defined by Org.
Type  Date    Authority          Naming Authority
+-+ +-----+ +-------------+ +----------------------+
| | |     | |             | |                      |
iqn.1995-11.com.example.ssp:customers.4567.disks.107

RFC3721 (EUI part)

Создание имен iSCSI с использованием формата EUI
The details of
   constructing EUI-64 identifiers are specified by the IEEE
   Registration Authority (see https://www.rfc-editor.org/rfc/rfc3721.html#ref-EUI64).

      Example iSCSI name:

      Type  EUI-64 identifier (ASCII-encoded hexadecimal)
      +--++--------------+
      |  ||              |
      eui.02004567A425678D

RFC3980

Создание имен iSCSI с использованием формата NAA
An example of an iSCSI name with a 64-bit NAA value follows:

         Type  NAA identifier (ASCII-encoded hexadecimal)
         +--++--------------+
         |  ||              |

         naa.52004567BA64678D

      An example of an iSCSI name with a 128-bit NAA value follows:

         Type  NAA identifier (ASCII-encoded hexadecimal)
         +--++------------------------------+
         |  ||                              |

         naa.62004567BA64678D0123456789ABCDEF

В случае несоблюдении стандарта можно попробовать отредактировать файл /etc/multipath.conf.

В /etc/multipath.conf необходимо добавить секцию multipaths с подсекцией multipath, где вписать сопоставления wwid и alias.

Пример редактирования файла /etc/multipath.conf
multipaths {
        multipath {
            wwid                    8iqn.1998-01.com.vmware:529f9d5bdb8ebd45-cf97c35adc6ecc5f,L,0x0000000000000000
            alias                   360000000000000000e00000000120001
        }
}

После редактирования необходимо рестартовать сервис multipath командой в CLI services restart multipath.

Пример команды storage iscsi-luns с измененным именем LUN

image