В статье рассматривается пример настройки iSCSI в SAN для внешнего хранилища и узлов кластера под управлением ОС AlmaLinux 8 и Astra Linux 1.7. Для других ОС порядок настройки может отличаться.
Порядок настройки SAN перед созданием сетевого LVM-хранилища:
- Настройте внешнее хранилище как таргет (iSCSI target).
- Настройте узлы кластера VMmanager как инициаторы (iSCSI initiator).
- Установите на узлы кластера ПО LVM2.
Основные термины
- инициатор (iSCSI initiator) — устройство-клиент, которое отправляет запрос на подключение к таргету. В рассматриваемом примере роли инициаторов выполняют узлы кластера VMmanager;
- таргет (iSCSI target) — программа или устройство, осуществляющее эмуляцию диска и обрабатывающее запросы инициаторов на соединение. Таргет может быть логически поделён на LUN;
- LUN (Logical Unit Number) — составная часть таргета, адрес устройства хранения. Аналог раздела диска или отдельного логического тома;
- TPG (Target Portal Group) — группа таргетов, объединяемых по общему функциональному признаку. Как правило, таргеты на одном устройстве объединяются в одну TPG;
- IQN (iSCSI Qualified Name) — уникальный идентификатор инициатора или таргета;
- ACL (Access Control List) — список управления доступом. Определяет какие инициаторы могут подключаться к таргету и их данные аутентификации.
Настройка внешнего хранилища
- Подключитесь к серверу по SSH с учётной записью суперпользователя. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Убедитесь, что вы используете последнюю версию пакетов ПО:
AlmaLinuxdnf updateAstra Linuxapt update -
Установите оболочку для управления таргетом:
AlmaLinuxdnf -y install targetcliAstra Linuxapt -y install targetcli-fb -
Проверьте объём свободного места на диске:
df -hTРекомендуем использовать отдельный раздел или физический диск для создания таргета. -
Создайте директорию для таргета. Например, /var/targetdisk01:
mkdir /var/targetdisk01 -
Запустите консоль targetcli:
targetcli -
Создайте файл для таргета:
cd /backstores/fileiocreate <target name> <path> <size>Пояснения к команде -
Задайте IQN для таргета:
cd /iscsicreate iqn.<year>-<month>.<reverse domain>:<name>Пояснения к командеОтвет будет содержать номер созданной TPG.
-
Создайте LUN:
cd <iqn>/<tpg>/lunsПояснения к командеcreate /backstores/fileio/<target name>Пояснения к командеОтвет будет содержать номер созданного LUN.
-
Настройте ACL для таргета:
-
Задайте IQN инициатора:
cd /iscsi/<iqn>/<tpg>/aclsПояснения к командеcreate iqn.<year>-<month>.<reverse domain>:<initiator name>Пояснения к команде -
Для каждого инициатора задайте id пользователя и пароль:
cd iqn.<year>-<month>.<reverse domain>:<initiator name>set auth userid=<id>set auth password=<pass>Пояснения к командам - Перейдите в директорию портальной группы:
cd /iscsi/<iqn>/<tpg>Пояснения к команде -
Включите авторизацию для инициатора:
set attribute authentication=1
-
-
Убедитесь, что все настройки созданы успешно:
ls /iscsi/Пример вывода командыo- iscsi .......................................................... [Targets: 1] o- iqn.2020-03.com.example:mytarget1 ............................... [TPGs: 1] o- tpg1 ............................................. [no-gen-acls, no-auth] o- acls ........................................................ [ACLs: 1] | o- iqn.2020-03.com.domain>:initiator1 ................. [Mapped LUNs: 1] | o- mapped_lun0 ........................ [lun0 fileio/targetdisk1 (rw)] o- luns ........................................................ [LUNs: 1] | o- lun0 [fileio/targetdisk1 (/var/targetdisk01/targetdisk1.img) (default_tg_pt_gp)] o- portals .................................................. [Portals: 1] o- 0.0.0.0:3260 ................................................... [OK] -
Чтобы сохранить настройки, выйдите из консоли targetcli:
exit -
Добавьте сервис target в автозагрузку:
-
для ОС AlmaLinux — выполните команду:
systemctl enable target -
для ОС Astra Linux — выполните команду:
systemctl enable targetclid.service
-
-
Если вы используете firewalld, установите необходимые разрешения и перезапустите сервис:
firewall-cmd --add-service=iscsi-target --permanentfirewall-cmd --reload
Настройка узлов кластера
- Подключитесь к узлам кластера по SSH с учётной записью суперпользователя. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Установите необходимое ПО:
AlmaLinuxdnf -y install iscsi-initiator-utilsAstra Linuxapt install -y open-iscsi -
Укажите созданный ранее IQN инициатора в параметре InitiatorName файла /etc/iscsi/initiatorname.iscsi:
InitiatorName=iqn.<year>-<month>.<reverse domain>:<initiator name>Пояснения -
Отредактируйте файл /etc/iscsi/iscsid.conf:
-
Раскомментируйте строки:
node.session.auth.authmethod = CHAP -
Раскомментируйте параметры node.session.auth.username, node.session.auth.password. Укажите id пользователя и пароль, заданные в настройках ACL для таргета:
node.session.auth.username = <id> node.session.auth.password = <pass>Пояснения
-
- Для ОС Astra Linux:
-
Включите автоматическое подключение к хранилищу. Для этого в конфигурационном файле /etc/iscsi/iscsid.conf:
-
Раскомментируйте строку:
node.startup=automatic -
Закомментируйте строку:
node.startup=manual
-
-
Перезапустите сервис iscsid:
systemctl restart iscsid.service
-
-
Проверьте доступ к таргету:
iscsiadm -m discovery -t sendtargets -p <target ip>Пояснения к командеПример успешного выполнения команды192.0.2.123:3260,1 iqn.2020-02.example.com:MyTarget1 -
Подключитесь к таргету:
iscsiadm -m node --loginiscsiadm --mode node --target <target name> --portal <target ip> --logoutПояснения к командеiscsiadm -m node --login -
Убедитесь, что таргет подключён как блочное устройство:
lsblkОбратите внимание!Чтобы настройки подключения не зависели от имён блочных устройств, вы можете подключить таргет через UUID или WWID. Подробнее см. в официальной документации Red Hat.
Установка ПО LVM2
Чтобы VMmanager мог подключить сетевое LVM-хранилище к узлам кластера, установите на всех узлах ПО LVM2:
dnf -y install lvm2apt install -y lvm2При добавлении хранилища в VMmanager платформа автоматически проведёт нужные настройки на блочном устройстве: создаcт PV и VG.