LINUX.ORG.RU

Автомонтирование iSCSI

 , ,


0

1

Приветствую. На NAS поднят iSCSI.

На локальном хосте (linux) инициатором используется open-iscsi.

Обнаружение — ОК, ручное подключение — ОК, диск (LUN) доступен, отформатирован и предсказуемо работает.

systemctl status open-iscsi.service — без ошибок, добавлен в автозапуск и реально автозапускается.

Но при перезагрузке хоста автомонтирования диска НЕ случается.

В /etc/iscsi/iscsid.conf определено:

iscsid.startup = /sbin/iscsid

node.startup = automatic

node.leading_login = Yes

Что еще и где надо поправить/посмотреть?


посмотреть

Указано ли в open-iscsi.service, что ему нужна цель network-online.target. Работает ли на самом деле эта цель в твоей системе (зависит ли она от чего-то вменяемого).

anonymous
()
Ответ на: комментарий от anonymous

network-online.target не указана:

cat /lib/systemd/system/open-iscsi.service

[Unit]

Description=Open iSCSI Daemon

After=network.target

[Service]

Type=forking

ExecStart=/sbin/iscsid

ExecStartPre=/sbin/modprobe -q iscsi_tcp

ExecStopPost=/sbin/modprobe -r iscsi_tcp

[Install]

WantedBy=multi-user.target
systemctl status network.target

● network.target - Network

   Loaded: loaded (/lib/systemd/system/network.target; static; vendor preset: disabled)

   Active: active since Вс 2019-10-27 18:34:33 MSK; 1h 22min ago

окт 27 18:34:33 HOST systemd[1]: Reached target Network.
systemctl status network-online.target

● network-online.target - Network is Online

   Loaded: loaded (/lib/systemd/system/network-online.target; static; vendor preset: disabled)

   Active: active since Вс 2019-10-27 18:34:40 MSK; 1h 29min ago

окт 27 18:34:40 HOST systemd[1]: Reached target Network is Online.
mexx
() автор топика

Потому что iscsi это блочный уровень, то есть устройство, а монтируешь ты файловую систему, которую конечно же не вписал в /etc/fstab, верно?

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Ну да, я использовал неверное слово. Имел в виду автоподключение, конечно.

Когда вручную подключаюсь к ноде iSCSI, в системе появляется новое блочное устройство. Оно есть, его видно по fdisk -l, например, хотя на нем пока вообще нет никакой файловой системы. Или уже есть - неважно.

Аналогично - я подключаю USB-диск (то есть блочное устройство), автомонтирование отключено. Диск видно (см. выше), но файловая система не смонтирована, это уже другая история.

У меня же после рестарта хоста блочное устройство iSCSI автоматически НЕ подключается, только вручную. Это что-то с systemd связано. То есть, наверное, open-iscsi пытается его подключить, но сеть еще недоступна и потому timeout.

mexx
() автор топика
Ответ на: комментарий от mexx

В Proxmox нагородили такое:

[Unit]
Description=Login to default iSCSI targets
Documentation=man:iscsiadm(8) man:iscsid(8)
Wants=network-online.target remote-fs-pre.target iscsid.service
After=network-online.target iscsid.service
Before=remote-fs-pre.target
DefaultDependencies=no
Conflicts=shutdown.target
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=true
# iscsiadm --login will return 21 if no nodes are configured,
# and 15 if a session is alread logged in (which we do not
# consider an error)
SuccessExitStatus=15 21
# iscsiadm will only work if iscsid is running. But we can't use a
# Requires= dependency, since restarts of iscsid would then be
# propagated to this service - and that would cause all sorts of
# mayhem. Therefore, check it in ExecStartPre.
ExecStartPre=/bin/systemctl --quiet is-active iscsid.service
ExecStart=/sbin/iscsiadm -m node --loginall=automatic
ExecStart=/lib/open-iscsi/activate-storage.sh
ExecStop=/lib/open-iscsi/umountiscsi.sh
ExecStop=/bin/sync
ExecStop=/lib/open-iscsi/logout-all.sh

[Install]
WantedBy=sysinit.target
Alias=iscsi.service

Я бы для начала попробовал Wants, этого может оказаться достаточно.

anonymous
()
Ответ на: комментарий от anonymous

Я бы для начала попробовал Wants

Не выходит каменный цветок.

В NeonOS (Ubuntu18.04) вижу вот так:

[Unit]
Description=Login to default iSCSI targets
Documentation=man:iscsiadm(8) man:iscsid(8)
Wants=network-online.target remote-fs-pre.target
After=network-online.target iscsid.service
Before=remote-fs-pre.target
DefaultDependencies=no
Conflicts=shutdown.target
Before=shutdown.target
# Must have some pre-defined targets to login to
ConditionDirectoryNotEmpty=|/etc/iscsi/nodes
# or have a session to use via iscsid
ConditionDirectoryNotEmpty=|/sys/class/iscsi_session

[Service]
Type=oneshot
RemainAfterExit=true
# iscsiadm --login will return 21 if no nodes are configured,
# and 15 if a session is alread logged in (which we do not
# consider an error)
SuccessExitStatus=15 21
# Note: iscsid will be socket activated by iscsiadm
ExecStart=/sbin/iscsiadm -m node --loginall=automatic
ExecStart=/lib/open-iscsi/activate-storage.sh
ExecStop=/lib/open-iscsi/umountiscsi.sh
ExecStop=/bin/sync
ExecStop=/lib/open-iscsi/logout-all.sh

[Install]
WantedBy=sysinit.target
Alias=iscsi.service
mexx
() автор топика
Ответ на: комментарий от anonymous

Этот юнит не похож на тот, что ты выкладывал раньше.

Это просто я в виртуалке посмотрел как реализовано в neon )

Еще версия open-iscsi в моем дистрибутиве старая, тоже есть над чем подумать.

И еще я не полностью понимаю значение InitiatorName.

iscsi-iname -p "iqn.***-iscsi." (где *** = 'что угодно') достаточно для генерации?

Или надо строго: /sbin/iscsi-iname ?

mexx
() автор топика
Ответ на: комментарий от mexx

ROSA 11 – не работает.

ALT 8/9 – не работает.

ASTRA CE – работает!

Windows 10 – работает (но иногда отваливается).

NeonOS (Ubuntu18.04) – работает!

Debian10 – работает!

mexx
() автор топика
Последнее исправление: mexx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.