Вопрос или проблема
Я пытался записать образ QCOW2 на целевой LUN iSCSI, но не добился успеха. Судя по этой ссылке, это должно быть возможно (и должно быть возможно без необходимости монтирования LUN iSCSI как диска), но из того, какую ошибку я получаю, мне неясно, невозможно ли то, что я пытаюсь сделать, или у меня есть ошибка в синтаксисе URL.
ОС – Debian (Proxmox).
Судя по этому выводу, LUN должен быть виден:
root@delta-vm:~# pvesm list TrueNAS
Volid Format Type Size VMID
TrueNAS:0.0.0.scsi-36589cfc000000f18d78a50cff1dec18b raw images 48318386176
root@delta-vm:~# ls /dev/disk/by-path/
ip-10.0.50.1:3260-iscsi-iqn.2005-10.org.freenas.ctl:delta-proxmox-target-lun-0 pci-0000:00:1f.2-ata-5.0-part1 pci-0000:00:1f.2-ata-5-part2
ip-10.0.60.1:3260-iscsi-iqn.2005-10.org.freenas.ctl:delta-proxmox-target-lun-0 pci-0000:00:1f.2-ata-5.0-part2 pci-0000:00:1f.2-ata-5-part3
pci-0000:00:1f.2-ata-5 pci-0000:00:1f.2-ata-5.0-part3 pci-0000:00:1f.2-ata-6
pci-0000:00:1f.2-ata-5.0
Но когда я пытаюсь это сделать, меня смущает сообщение об ошибке
root@delta-vm:~# qemu-img convert -O raw /var/lib/vz/template/iso/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2.img iscsi://10.0.50.1:3260/iscs-iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0
qemu-img: iscsi://10.0.50.1:3260/iscsi-iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0: ошибка при конвертации raw: Драйвер протокола 'iscsi' не поддерживает создание образов, и открытие образа завершилось неудачей: Не удалось разобрать URL : iscsi://10.0.50.1:3260/iscsi-iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0
Я пробовал несколько вариантов URL выше, но ничего не работает. Например, удаление строки iscsi-
в URL не помогает (глобальная конфигурация iSCSI – iqn.2005-10.org.freenas.ctl
):
root@delta-vm:~# qemu-img convert -O raw /var/lib/vz/template/iso/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2.img iscsi://10.0.50.1:3260/iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0
qemu-img: iscsi://10.0.50.1:3260/iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0: ошибка при конвертации raw: Драйвер протокола 'iscsi' не поддерживает создание образов, и открытие образа завершилось неудачей: Не удалось разобрать URL : iscsi://10.0.50.1:3260/iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0
Есть какие-нибудь идеи, что я делаю не так? Порталы iSCSI не требуют аутентификации, поэтому я не предоставляю комбинацию пользователя/пароля в указанном выше URL.
Для полной ясности (и я признаю, что это не совсем относится к моему вопросу), моя конечная цель с этими манипуляциями – выяснить, возможно ли перенаправить диск (т.е. переместить хранилище) в qemu с локального хранилища на LUN iSCSI, но по какой-то причине это никогда не было должным образом реализовано в Proxmox, поэтому мне приходится обходить. Другими словами, учитывая это…
root@delta-vm:~# qm config 105
agent: 1
...
onboot: 1
scsi0: samsung:vm-105-disk-0,discard=on,iothread=1,replicate=0,size=12G,ssd=1
scsihw: virtio-scsi-single
....
…я хотел бы заменить устройство scsi0
на LUN iSCSI. Судя по тому, что я собрал, это в настоящее время невозможно, так как код для материализации образа диска на LUN просто отсутствует, и возникает ошибка (передача хранилища не удалася: не удалось выделить пространство в хранилище iscsi
).
ИЗМЕНЕНИЕ: Некоторый прогресс – указание аргумента size для директивы изменяет ошибку. Похоже, что что-то определенно не так с URL
root@delta-vm:~# qemu-img convert -O raw /var/lib/vz/template/iso/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2.img iscsi://10.0.50.1:3260/iscsi-iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0 10G
qemu-img: Не удалось открыть 'iscsi://10.0.50.1:3260/iscsi-iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0': Не удалось разобрать URL : iscsi://10.0.50.1:3260/iscsi-iqn.2005-10.org.freenas.ctl/delta-proxmox-target-lun-0
Чтобы скопировать образ qcow2 на LUN iSCSI (блочное устройство), выполните:
# qemu-img qcow2.img -O raw /dev/path-to-iscsi-block-device
Ответ или решение
Для записи образа QCOW2 на iSCSI LUN (логический блок устройства) в среде Debian (Proxmox), вам необходимо учесть несколько ключевых моментов. Давайте рассмотрим процесс, а также разберем вашу ситуацию, чтобы избежать ошибок.
Введение в iSCSI и QCOW2
iSCSI (Internet Small Computer Systems Interface) – это протокол, который позволяет передавать SCSI команды по сети TCP/IP, обеспечивая возможность доступа к удалённым блочным устройствам, как к локальным. Образ QCOW2 (QEMU Copy On Write) – это формат файла для хранения виртуальных машин в QEMU, который обеспечивает поддержку сжатия, шифрования и экономии дискового пространства.
Направление и форматы
Вы пытаетесь использовать команду qemu-img convert
, которая чаще применяется для преобразования и копирования образов. Однако, чтобы записать QCOW2 image на iSCSI LUN, вы можете использовать более прямой подход.
Подробная инструкция по записи QCOW2 на iSCSI LUN
-
Проверьте наличие целевого iSCSI LUN: Убедитесь, что LUN доступен и правильно подключен к вашей системе. Ваш вывод команды
pvesm list TrueNAS
показывает, что текущий LUN виден в Proxmox, что является хорошим знаком. -
Используйте правильный синтаксис для записи: Вместо использования команды
qemu-img convert
, вы должны записать изображение непосредственно на блоковое устройство. Начните с преобразования вашего QCOW2 образа в RAW и последующей записи на LUN:qemu-img convert -f qcow2 -O raw /var/lib/vz/template/iso/Rocky-9-GenericCloud-Base.latest.x86_64.qcow2.img /dev/disk/by-path/ip-10.0.50.1:3260-iscsi-iqn.2005-10.org.freenas.ctl:delta-proxmox-target-lun-0
В этом случае замените
/dev/disk/by-path/ip-10.0.50.1:3260-iscsi-iqn.2005-10.org.freenas.ctl:delta-proxmox-target-lun-0
на путь к вашему iSCSI LUN. Если есть необходимость, вы также можете сделать шаг предварительной монтирования LUN в систему. -
Убедитесь, что доступ осуществляется без ошибок: Проверьте наличие прав доступа к устройству LUN. Убедитесь, что у вас есть права на запись.
Диагностика ошибок
Если вы все ещё сталкиваетесь с ошибками, вот несколько рекомендаций:
- Проверка прав доступа: Убедитесь, что текущий пользователь имеет права на запись для целевого устройства.
- Проверка формата образа: Убедитесь, что на LUN достаточно пространства и он пуст или имеет нужный формат.
- Просмотрите логи: Информация в системных логах (
/var/log/syslog
или/var/log/messages
) может предоставить дополнительные указания на возникшие проблемы.
Заключение
Загрузка QCOW2 образов на iSCSI LUN требует точного следования командам и правильного обращения с путями к устройствам. Используя правильные команды и проверяя конфигурацию вашего хранилища, вы сможете эффективно выполнить эту операцию. Если у вас есть другие вопросы или необходимо уточнение, не стесняйтесь задавать их.