Вопрос или проблема
Я пытаюсь подключить iSCSI том в виртуальной машине, работающей на Proxmox PVE. Процесс зависает где-то посередине, и я исчерпал все очевидные пути.
Окружение:
- Сервер iSCSI — это Synology NAS. Настроен на разрешение инициаторам без какой-либо аутентификации подключаться к LUN. Я могу использовать его с рабочего стола, который работает на Arch с ядром 6.9.7 и
iscsiadm версии 2.1.10
. Когда я подключаюсь к нему, NAS показывает, что существует активное соединение с LUN. - Клиент: Виртуальная машина (KVM), работающая в Proxmox PVE, использует LAN IP-адреса в той же подсети, что и NAS. Работает на Ubuntu 24.04 LTS с ядром 6.8.0 и
iscsiadm версии 2.1.9
. Сеть работает в обе стороны между виртуальными машинами и хостами в LAN.
Я подключаю диск с помощью:
sudo iscsiadm --mode node --targetname <my.nas.target> --portal <nas.address> --login
На хосте Arch эта команда дает следующий результат:
❯❯❯ sudo iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 2.1.10
Target: <my.nas.target> (non-flash)
Current Portal: <portal.ip>:3260,1
Persistent Portal: <portal.ip>:3260,1
**********
Interface:
**********
...
************************
Attached SCSI devices:
************************
Host Number: 7 State: running
scsi7 Channel 00 Id 0 Lun: 1
Attached scsi disk sdg State: running
В журналах я вижу:
Nov 24 16:35:18 <arch> iscsid[242074]: iscsid: Connection3:0 к [target: <my.nas.target>, portal: <portal.ip>,3260] через [iface: default] сейчас работает
Nov 24 16:35:18 <arch> kernel: scsi 7:0:0:1: Direct-Access SYNOLOGY Storage 4.0 PQ: 0 ANSI: 5
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] 629145600 512-byte logical blocks: (322 GB/300 GiB)
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] Write Protect отключен
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] Mode Sense: 43 00 10 08
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] Кэш записи: включен, кэш чтения: включен, поддерживает DPO и FUA
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] Предпочитаемый минимальный размер ввода-вывода 512 байт
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] Оптимальный размер передачи 16384 логических блоков > dev_max (8192 логических блоков)
Nov 24 16:35:18 <arch> kernel: sd 7:0:0:1: [sdg] Подключенный SCSI диск
и диск мог быть смонтирован с помощью mount -t ext4 /dev/sdg /mnt/storage
.
В то время как в виртуальной машине Ubuntu это заканчивается следующим:
ali@ubuntu:~$ sudo iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 2.1.9
Target: <my.nas.target> (non-flash)
Current Portal: <portal.ip>:3260,1
Persistent Portal: <portal.ip>:3260,1
**********
Interface:
**********
...
************************
Attached SCSI devices:
************************
Host Number: 3 State: running
В журналах для виртуальной машины я вижу:
Nov 24 16:41:30 <vm> iscsid[875]: Не удалось установить приоритет session3. Чтение/запись на протяжении всего сеанса и задержка могут быть затронуты.
Nov 24 16:41:30 <vm> iscsid[875]: Connection3:0 к [target: <my.nas.target>, portal: <portal.ip>,3260] через [iface: default] сейчас работает
и устройство не создается, поэтому объем не может быть смонтирован. В то же время NAS сообщает, что существует соединение с LUN от инициатора виртуальной машины. Я также вижу, что iscsid создает соединение с iscsi-портом NAS в обоих случаях.
Таким образом, похоже, что часть iscsi работает, но затем это не вызывает создание устройства диска.
Ответ или решение
Вопрос: Что может предотвратить монтирование диска iSCSI в Ubuntu?
Введение
Проблема, с которой вы столкнулись, касается монтирования iSCSI диска в виртуальной машине (ВМ), работающей на Proxmox PVE. Ваша конфигурация включает iSCSI сервер на основе Synology NAS и клиент на базе Ubuntu 24.04 LTS. Несмотря на успешное подключение к iSCSI с другой машины, ваша Ubuntu VM не создает устройство для монтирования диска, что может быть связано с различными факторами. Далее мы рассмотрим возможные причины и решения этой проблемы.
Возможные причины проблемы
-
Несоответствие версии программного обеспечения
- На вашей Arch системе используется
iscsiadm
версии 2.1.10, в то время как на Ubuntu версия 2.1.9. Хотя разница в версии не всегда критична, более новые версии могут содержать исправления ошибок и улучшения функциональности. Рекомендуется обновитьiscsiadm
на Ubuntu до последней версии для лучшего взаимодействия.
- На вашей Arch системе используется
-
Проблемы с сетью и конфигурацией
- Хотя ваша сеть функционирует без заметных проблем, стоит убедиться, что между NAS и Ubuntu VM нет блокировок (например, брандмауэр). Проверьте настройки сети, чтобы убедиться в отсутствии ограничений по IP или портам (3260 для iSCSI).
-
Ошибки конфигурации iSCSI
- Проверьте, что настройки iSCSI на NAS правильно настроены и не требуют дополнительной аутентификации, если вы уже настроили допустимость для инициаторов без него. Убедитесь, что IP адрес инициатора ВМ вписан в белый список NAS.
-
Проблемы с
iscsid
- Сообщение об ошибке: "Could not set session3 priority" указывает на потенциальные проблемы с настройками
iscsid
. Это может привести к невозможности создания необходимых устройств блочного уровня. Проверьте конфигурацию/etc/iscsi/iscsid.conf
и убедитесь, что все настройки соответствуют требованиям вашего окружения.
- Сообщение об ошибке: "Could not set session3 priority" указывает на потенциальные проблемы с настройками
-
Неинициализированные устройства блочного уровня
- После успешного подключения к iSCSI серверу могут возникнуть ситуации, когда виртуальные устройства не инициализируются. В этом случае используйте команду
lsblk
илиfdisk -l
, чтобы проверить наличие новых устройств. Если устройства отсутствуют, перезапустите сервис iSCSI с помощьюsudo systemctl restart iscsid
и попробуйте переподключиться.
- После успешного подключения к iSCSI серверу могут возникнуть ситуации, когда виртуальные устройства не инициализируются. В этом случае используйте команду
-
Конфликт устройств
- Возможно, в системе уже присутствуют устройства с аналогичными идентификаторами, что приводит к конфликтам. Проверьте, не появляются ли созданные устройства в системе под другими именами.
Рекомендации по устранению неполадок
-
Обновление
iscsiadm
- Убедитесь, что вы используете последнюю версию
iscsiadm
. Вы можете обновить её с помощью команды:sudo apt update && sudo apt install open-iscsi
- Убедитесь, что вы используете последнюю версию
-
Проверка настроек брандмауэра
- Убедитесь, что порты (3260) открыты и доступ к NAS не заблокирован. Вы можете использовать
ufw
для этого:sudo ufw allow from <nas.address> to any port 3260
- Убедитесь, что порты (3260) открыты и доступ к NAS не заблокирован. Вы можете использовать
-
Перезапуск iSCSI службы
- Перезапустите службу
iscsid
и попробуйте снова подключиться к iSCSI:sudo systemctl restart iscsid sudo iscsiadm --mode node --targetname <my.nas.target> --portal <nas.address> --login
- Перезапустите службу
-
Проверка конфигурации
iscsid
- Откройте файл конфигурации
iscsid.conf
и проверьте настройки, особенно параметры, связанные с приоритетом и обработкой сессий.
- Откройте файл конфигурации
-
Логи для диагностики
- Включите подробные логи для диагностики:
echo "node.session.iscsi.MaxConnections = 1" | sudo tee -a /etc/iscsi/iscsid.conf sudo tail -f /var/log/syslog | grep iscsid
- Включите подробные логи для диагностики:
-
Проверка состояния устройств
- Используйте команды
lsblk
иdmesg
, чтобы проверить, получили ли вы новые устройства после попытки подключения. Если устройства не отображаются, возможно, потребуется произвести дополнительную настройку на сервере NAS.
- Используйте команды
Заключение
Монтирование iSCSI диска на Ubuntu может встречать ряд проблем, начиная от конфигурации программного обеспечения и заканчивая проблемами сети. Применение вышеперечисленных шагов поможет вам найти и устранить причины, которые могут препятствовать успешному подключению и монтированию iSCSI устройства. Рекомендуется следить за логами во время процесса подключения, что позволит быстро выявлять и исправлять возникающие ошибки.