Debian как iSCSI инициатор при загрузке

Вопрос или проблема

У меня есть виртуальная машина Debian GNU/Linux 12 (amd64), которая должна смонтировать этот iSCSI-объем при загрузке.

Следуя этому руководству, команда iscsiadm выполнила все, что должна была, и я смог вручную смонтировать объем. Однако команда iscsiadm --mode node --targetname "..." --portal "...:3260" разместила файлы конфигурации инициатора в /var/lib/iscsi/..., а не в /etc/iscsi. Я не уверен, что это проблема, но при перезагрузке сервер не инициировал соединение iSCSI и не смонтировал объем.

Затем я скопировал /var/lib/iscsi/* в /etc/iscsi/, и это тоже начало работать при загрузке. На какое-то время. Сегодня это прекратилось после перезагрузки без очевидной причины (по крайней мере, не очевидной для меня).

Используя apt, я заметил, что доступно обновление open-iscsi из sid (версия 2.1.10-2, в то время как у меня была установлена 2.1.10-1), и я попытался установить его, что возобновило мое соединение iSCSI без редактирования чего-либо. Однако в журнале изменений для этой новой версии говорится, что она добавляет поддержку архитектуры riscv64, которой у меня нет.

При проверке ситуации я вижу, что директория /var/lib/iscsi/nodes была изменена во время обновления пакета (я не понимаю, почему), в то время как директория /etc/iscsi/nodes не была изменена (я понимаю, почему). Однако содержимое обеих директорий по-прежнему оставалось одинаковым (rsync -rcnv /var/lib/iscsi/nodes/ /etc/iscsi/nodes/ не показало ничего для синхронизации).

После еще одной перезагрузки сервера соединение iSCSI снова установилось корректно, но я не уверен, что могу доверять этой ситуации. Поиск ошибок вокруг времени, когда это не сработало ранее, с использованием journalctl | grep -i iscsi не приводит к каким-либо сообщениям об ошибках, кроме:

nov 27 10:46:32 adh systemd[1]: iscsid.service: Не удалось разобрать PID из файла /run/iscsid.pid: Неверный аргумент

что, тем не менее, сопровождается корректным запуском инициатора (по крайней мере, с точки зрения логов, но на практике это не работало).

Является ли ручное копирование содержимого директории /var/lib/iscsi в /etc/iscsi/ правильным, хотя и не задокументированным, решением? Или есть что-то другое/отличное, что нужно сделать, чтобы система надежно создавала устройство iSCSI при загрузке?

Ответ или решение

iSCSI Инициатор на Debian: Настройка для Автоматического Подключения при Загрузке

Настройка iSCSI инициатора на Debian 12 для автоматического соединения с iSCSI томом при загрузке включает в себя несколько важных этапов. Давайте подробно рассмотрим их, чтобы гарантировать надежность подключения.

1. Установка open-iscsi

Первым шагом является установка пакета open-iscsi, если он еще не установлен. Используйте следующую команду:

sudo apt update
sudo apt install open-iscsi

2. Конфигурация iSCSI

После установки необходимо настроить iSCSI инициатор. Для этого используйте команду iscsiadm. Например, чтобы добавить iSCSI целевой сервер и его портал:

sudo iscsiadm -m discovery -t sendtargets -p [IP_портала]:3260

Затем для логина в iSCSI цель:

sudo iscsiadm -m node -T [имя_цели] -p [IP_портала]:3260 --login

3. Сохранение конфигурации

Вы упомянули, что файлы конфигурации сохраняются в /var/lib/iscsi вместо /etc/iscsi. Это нормальное поведение для open-iscsi. Каждый раз, когда вы выполняете команду iscsiadm, она обновляет состояние iSCSI в /var/lib/iscsi. Однако настройки и конфигурация, применяемые во время загрузки, должны быть сохранены в /etc/iscsi.

Для автоматического подключения при загрузке вам необходимо убедиться, что состояние узла и целевой конфигурации правильно отражено в /etc/iscsi/nodes/. Вам не нужно вручную копировать файлы из /var/lib/iscsi в /etc/iscsi. Вместо этого выполните следующий набор команд, чтобы правильно зарегистрировать узлы:

sudo iscsiadm -m node -o update -n node.startup -v automatic

Это установит автоматический старт для этих узлов.

4. Проверка конфигурации

После выполнения вышеперечисленных команд вы можете проверить настройки, выполнив:

sudo iscsiadm -m node -T [имя_цели] -p [IP_портала]:3260 -o show

Убедитесь, что параметр startup выставлен в automatic.

5. Обработка ошибок

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

journalctl -u iscsid.service

Ошибка, которую вы упомянули о Failed to parse PID from file /run/iscsid.pid, может указывать на проблемы с запуском службы. Убедитесь, что служба iscsid правильно настроена для автоматического старта:

sudo systemctl enable iscsid

Также рекомендуется перезапустить службу, если возникли проблемы:

sudo systemctl restart iscsid

6. Автоматическое монтирование файловой системы

После успешного соединения iSCSI вам следует автоматически монтировать iSCSI том. Для этого добавьте запись в файл /etc/fstab. Получите UUID или имя устройства, используя:

sudo iscsiadm -m session

Добавьте нужную строку в /etc/fstab:

/dev/disk/by-id/iscsi-[имя_цели]     /mnt/[точка_монтирования]    xfs    defaults,_netdev    0    0

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...