Цель iSCSI на Ubuntu 24.04LTS | Инициатор подключается, но дисков нет

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

Я пытаюсь настроить iSCSI на Ubuntu как LUN, который будет подключен с клиента Windows.

Диск — sdb, а раздел — sdb1 (смонтирован как /data).

Использую tgt в качестве моего сервиса iscsi. Я сократил файл iscsi.conf до самых необходимых элементов.

<target iqn.1991-05.com.example:server01-linux>
        backing-store /dev/sdb
        initiator-address 192.168.1.31
</target>

Служба tgt работает.

tgt service running

Вывод sudo tgtadm --mode target --op :

tgtadm --mode target

iSCSI инициатор подключается, но диски не отображаются.

iscsi initiator connected

Я в тупике и не знаю, в чем проблема. Есть ли на стороне Ubuntu лог, который действительно показывает, что LUN работает и доступен?

Что еще можно проверить? Спасибо.

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

Настройка iSCSI на Ubuntu для подключения с Windows-клиента может быть сложной задачей, особенно если инициатор подключается, но диски не отображаются. Давайте подробно разберем возможные причины этой проблемы и пути ее решения.

Теория

Сначала необходимо понять, как работает iSCSI. iSCSI (Internet Small Computer Systems Interface) – это протокол, который позволяет воздействовать на удаленные устройства хранения данных через внешнюю сеть, как если бы они были локально подключены. Основные компоненты здесь – это "цель" (target), предоставляющая доступ к устройству хранения, и "инициатор", который выполняет подключение к цели.

В вашем случае на сервере Ubuntu вы настроили цель iSCSI, используя tgt, а Windows-клиент выполняет роль инициатора. В идеале, после успешного подключения, инициатор должен видеть доступный логический блок (LUN) как обычный диск.

Пример

Вы указали настройки в файле iscsi.conf следующим образом:

<target iqn.1991-05.com.example:server01-linux>
    backing-store /dev/sdb
    initiator-address 192.168.1.31
</target>

Этот фрагмент указывает, что диск /dev/sdb предоставляется по сети с IP-адреса 192.168.1.31. Вы используете tgt как службу iSCSI, и эта структура в конфигурации на первый взгляд выглядит правильно. Однако есть нюансы, которые могут мешать корректной работе.

Применение

Ниже представлены основные шаги и проверочные действия для решения вашей проблемы.

1. Проверьте лог-файлы на Ubuntu

Первое место для поиска информации – это лог-файлы системы. Логи могут дать представление о том, была ли попытка подключений, какие ошибки возникли и почему LUN может не отображаться. Логи tgt обычно находятся в /var/log/, проверьте файлы с tgt в названии:

tailf /var/log/syslog | grep tgt

Или:

tailf /var/log/messages | grep tgt

2. Убедитесь, что используется правильная точка монтирования

Вы указали /dev/sdb в качестве backing-store, но также упомянули, что /dev/sdb1 смонтирован как /data. Убедитесь, что целевой раздел действительно является тем устройством, которое вы хотите предоставить. Возможно, устройство /dev/sdb1 является более точным выбором, если планируется предоставить конкретный раздел.

3. Проверьте состояние сервиса TGT

Убедитесь, что служба tgt запущена и конфигурация загружена правильно. Выполните:

sudo tgtadm --mode target --op show

Это должно показать информацию о всех доступных целях и LUN. Если цели нет в списке, проверьте вашу конфигурацию.

4. Проверьте конфигурацию сети

Проверьте подключение между Ubuntu и Windows на возможные проблемы с сетью. Убедитесь в правильности IP-адресов и отсутствии брандмауэров, блокирующих трафик iSCSI. Требуемые порты iSCSI (по умолчанию порт 3260) должны быть открыты.

5. Диагностика на стороне Windows

На стороне Windows проверьте состояние iSCSI-инициатора:

  1. Откройте iSCSI Initiator, проверьте вкладку Target и убедитесь, что статус Connected.
  2. Проверьте управление дисками (Disk Management) на наличие нового диска. Иногда потребуется вручную открыть управление дисками, чтобы Windows обнаружила новый диск.
  3. Также в командной строке вы можете использовать iscsicli для отладки соединений:
iscsicli ListTargets

Заключение

Если все шаги были выполнены, а проблема осталась нерешенной, попробуйте временно изменить уровень журналирования в конфигурации tgt, чтобы получить более подробную информацию. Это может помочь выявить скрытые ошибки.

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

Используйте эти рекомендации, чтобы сузить круг поиска проблемы и найти верное решение. Надеюсь, это поможет вам в успешной настройке iSCSI на вашем сервере Ubuntu.

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

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