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

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

Описание

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

К блочным хранилищам относят хранилища, предоставляемые по протоколам 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. В рамках одной цели может предоставляться несколько блочных устройств.

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

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

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

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

  • локация, в которой расположено хранилище (выбор из раскрывающегося списка);

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

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

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

  • имя iSCSI target;

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

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

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

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

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

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

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

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

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

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

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

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

Вендоры

При использовании хранилища производства Raidix можно указать логин и пароль для доступа к API управления. При реализации катастрофоустойчивой ВМ переключение между основным и дополнительным LUN, а также проверка их статуса репликации происходит с помощью обращения к API Raidix.

При использовании хранилища производства Yadro на данный момент учитывается, что она не поддерживает метод discovery, то есть статичная, поэтому сопоставление всех таргетов к путям необходимо выполнить вручную путем записи словаря в поле «vendor_options» блочного хранилища, где ключами являются таргеты, а значениями списком их путей.

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

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

  • информация;
  • LUN;
  • события;
  • теги.

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

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

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

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

  • локация;

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

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

  • target;

  • состояние Multipath I/O (редактируемый параметр);

  • производитель;

  • опции iSCSI;

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

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

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

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

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

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

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

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

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

  • ID;
  • путь;
  • target_dev;
  • тип шины;
  • размер;
  • тип файловой системы;
  • тип кэширования;
  • статус;
  • хранилище;
  • серийный номер;
  • серверы (раскрывающийся список);
  • сообщения о работе LUN с возможностью их сортировки по признакам – «По всем типам», «Ошибки», «Предупреждения», «Информационные». Также имеется возможность отображения только непрочитанных сообщений.

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

События

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

Теги

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

Настройки multipath

Для просмотра настроек multipath в CLI есть команда storage multipath_conf.

Для сканирования доступных путей в 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. Увидеть FC LUNs можно в CLI командой storage 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. Пример из CLI подключенного хранилища HPE: image

  11. Пример из Web блочного хранилища с путями: image

  12. Пример из Web LUN с активными путями: image

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

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

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

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

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

Пример из CLI вывода команды storage iscsi_luns: image

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

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

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

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

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

multipaths {
        multipath {
            wwid                    8iqn.1998-01.com.vmware:529f9d5bdb8ebd45-cf97c35adc6ecc5f,L,0x0000000000000000
            alias                   360000000000000000e00000000120001
        }
}

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

Пример из CLI вывода команды storage iscsi_luns с измененным именем LUN: image

Back to top