Проброс HDD или USB диска в гостевую машину Proxmox VE: различия между версиями
Vix (обсуждение | вклад) м (Vix переименовал страницу Проброс HDD или USB диска в виртуальную машину Proxmox VE в Проброс HDD или USB диска в гостевую машину Proxmox VE) |
Vix (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
==Пробросить физический диск в ВМ на Proxmox== | ==Пробросить физический диск в ВМ на Proxmox== | ||
Через веб-интерфейс Proxmox VE вы можете пробросить внутрь ВМ только USB диски/флешки. Для проброса физического жесткого диска (режим passthrough) в виртуальную машину Proxmox придется использовать консоль гипервизора. Для этого используется команда qm set. | Через веб-интерфейс '''Proxmox VE''' вы можете пробросить внутрь ВМ только '''USB''' диски/флешки. Для проброса физического жесткого диска (режим '''passthrough''') в виртуальную машину '''Proxmox''' придется использовать консоль гипервизора. Для этого используется команда '''qm set'''. | ||
* Синтаксис команды: | * Синтаксис команды: | ||
qm set <vm_id> -[virtio|sata|ide|scsi][№] /dev/sd[a|b|c|...] | '''qm set''' <vm_id> -[virtio|sata|ide|scsi][№] /dev/sd[a|b|c|...] | ||
vm_id — ID виртуальной машины (в графическом интерфейсе Proxmox WebGUI он указывается перед именем ВМ) | '''vm_id''' — ID виртуальной машины (в графическом интерфейсе Proxmox WebGUI он указывается перед именем ВМ) | ||
[virtio|sata|ide|scsi][NOM] – тип виртуального контроллера диска и номер интерфейса | '''[virtio|sata|ide|scsi][NOM]''' – тип виртуального контроллера диска и номер интерфейса | ||
/dev/sd[a|b|c…] — пробрасываемое физическое устройство | '''/dev/sd[a|b|c…]''' — пробрасываемое физическое устройство | ||
* Выведите список физических дисков на гипервизоре: | * Выведите список физических дисков на гипервизоре: | ||
# lsblk | # lsblk | ||
* Например, вы хотите пробросить в ВМ раздел /dev/sdb1. Можно использовать адрес устройства для проброса диска в ВМ, но это не рекомендуется. Дело в том, что путь диска может измениться при добавлении, отключении или перестановке дисков. Поэтому для проброса диска лучше использовать его UUID или серийный номер (ID).<br> | * Например, вы хотите пробросить в '''ВМ''' раздел /dev/sdb1. Можно использовать адрес устройства для проброса диска в '''ВМ''', но это не рекомендуется. Дело в том, что путь диска может измениться при добавлении, отключении или перестановке дисков. Поэтому для проброса диска лучше использовать его '''UUID''' или серийный номер '''(ID)'''.<br> | ||
Чтобы вывести UUID, выполните: | Чтобы вывести '''UUID''', выполните: | ||
# blkid /dev/sdb1 | # blkid /dev/sdb1 | ||
blkid /dev/sdb1 получить UUID диска | [[Файл:Blkid-dev-sdb1-poluchit-uuid-diska.png]]<br> | ||
blkid /dev/sdb1 получить '''UUID''' диска | |||
* Если диск не отображается, нужно его предварительно разбить и отформатировать.<br> | * Если диск не отображается, нужно его предварительно разбить и отформатировать.<br> | ||
Строка 22: | Строка 23: | ||
# ls /dev/disk/by-uuid/ | # ls /dev/disk/by-uuid/ | ||
* Если в выводе команды нет вашего UUID, тогда придется используйте ID диска или путь к нему (/dev/sdb1). | * Если в выводе команды нет вашего '''UUID''', тогда придется используйте '''ID''' диска или путь к нему '''(/dev/sdb1)'''. | ||
Чтобы получить идентификатор (серийный номер диска) выполните: | Чтобы получить идентификатор (серийный номер диска) выполните: | ||
# lshw -class disk -class storage | # lshw -class disk -class storage | ||
* Скопируйте значение serial. Например, Serial: GD23VZ2B | * Скопируйте значение '''serial'''. Например, '''Serial: GD23VZ2B''' | ||
Выведите идентификаторы диска и разделов на нем по его серийному номеру: | Выведите идентификаторы диска и разделов на нем по его серийному номеру: | ||
# ls -l /dev/disk/by-id | grep GD23VZ2B | # ls -l /dev/disk/by-id | grep GD23VZ2B | ||
* Например, команда вернула вам такой ID диска: | * Например, команда вернула вам такой '''ID''' диска: a'''ta-WDCxxxxxx-xxxxxx_GD23VZ2B''' | ||
Откройте веб-интерфейс Proxmox и запомните ID виртуальной машины, в которую вы хотите пробросить диск (119 в моем примере). | Откройте веб-интерфейс Proxmox и запомните ID виртуальной машины, в которую вы хотите пробросить диск (119 в моем примере).<br> | ||
[[Файл:Nastroka-oborudovaniya-vm-proxmox.png]]<br> | |||
* Чтобы пробросить диск в эту ВМ по UUID, выполните команду: | * Чтобы пробросить диск в эту '''ВМ''' по '''UUID''', выполните команду: | ||
# qm set 119 -virtio2 /dev/disk/by-uuid/0b56138b-6124-4ec4-a7a3-7c503516a65c | # qm set 119 -virtio2 /dev/disk/by-uuid/0b56138b-6124-4ec4-a7a3-7c503516a65c | ||
* Чтобы пробросить диск по ID диска и его серийному номеру: | * Чтобы пробросить диск по '''ID''' диска и его серийному номеру: | ||
# qm set 102 -virtio2 /dev/disk/by-id/ata-WDCxxxxxx-xxxxxx_GD23VZ2B | # qm set 102 -virtio2 /dev/disk/by-id/ata-WDCxxxxxx-xxxxxx_GD23VZ2B | ||
Строка 42: | Строка 43: | ||
# qm set 119 -virtio2 /dev/sdb1 | # qm set 119 -virtio2 /dev/sdb1 | ||
* Убедитесь, что ваш диск был добавлен в конфигурационный файл ВМ: | * Убедитесь, что ваш диск был добавлен в конфигурационный файл '''ВМ''': | ||
# cat /etc/pve/qemu-server/119.conf | # cat /etc/pve/qemu-server/119.conf | ||
Строка 49: | Строка 50: | ||
или | или | ||
sata0: volume=/dev/sdb1 | sata0: volume=/dev/sdb1 | ||
* Проверьте, что новый диск появился на вкладке оборудования ВМ в интерфейсе Proxmox. | * Проверьте, что новый диск появился на вкладке оборудования '''ВМ''' в интерфейсе '''Proxmox'''.<br> | ||
[[Файл:Probros-diska-v-virtualuyu-mashinu-proxmox.png]]<br> | |||
После перезагрузки гипервизора проброшенный диск останется '''примонтированным''' в '''ВМ'''. | |||
* Если в '''ВМ Proxmox''' установлена гостевая операционная система '''Windows''', она может не распознать новый диск. Чтобы '''Windows''' определила виртуальный диск, вам нужно установить драйвер '''VirtIO''' согласно этому гайду. | |||
* Если вы пробрасываете диск с '''RAID''' контроллера, нужно использовать формат '''-virtio(x)''', а не '''-scsi(x)'''. | |||
Чтобы отключить диск от ВМ, выполните команду: | |||
# qm unlink 119 --idlist virtio2 | |||
==Проброс USB накопителя в виртуальную машину Proxmox== | |||
* Вы можете пробросить любое USB устройства с хоста в виртуальную машину Proxmox прямо из веб интерфейса PVE.<br> | |||
#Откройте веб интерфейс Proxmox VE<br> | |||
#Найдите нужную виртуальную машину и перейдите на вкладку Hardware;<br> | |||
#Нажмите кнопку Add -> USB Device<br> | |||
[[Файл:Proxmox-dobavit-usb-disk.jpg]] | |||
4. Выберите в списке USB устройство, которое нужно пробросить.Можно использовать один из двух режимов: | |||
Use USB Vendor/Device ID – когда нужно, чтобы USB устройство было прокинуто в ВМ независимо от USB порта, куда оно подключеноUse | |||
USB Port – проброс целиком USB порта, когда вы хотите прокинуть в ВМ любое устройство, подключенное в указанный USB порт. | |||
* В нашем примере это Mass Storage Device. Включите опцию Use USB3 если нужно.<br> | |||
[[Файл:Probros-usb-fleshki-v-vm-proxmox.jpg]]<br> | |||
5. В конфигурации ВМ появится строка по подключенной USB флешке; | |||
Перезагрузите ВМ и проверьте, что новый USB накопитель был опознан гостевой ОС. | |||
Также можно пробросить USB накопитель в ВМ из командной строки. Сначала проверьте, как ваше USB устройство определилось в хостовой ОС: | |||
# lsusb | |||
* Если это USB накопитель, выведите информацию о его разделах и файловой системе: | |||
# fdisk -l | |||
* Чтобы пробросить USB диск в виртуальную машину Proxmox, укажите ее номер и ID USB устройства, которое вы получили с помощью команды lsusb. Например: | |||
# qm set 110 -usb0 host=07aa:a010 | |||
* Если это USB 3.0 устройство, выполните команду: | |||
# qm set 110 -usb0 host=07aa:a010,usb3=yes | |||
* Чтобы отключить USB накопитель от виртуальной машины: | |||
убедитесь, что устройство не используется в вашей гостевой ОС (при отмонтировании не должна появиться ошибка unmount device is busy)<br> | |||
* Отключите USB устройство от гостевой ВМ из консоли Proxmox: | |||
# device_del <idofyourdevice> | |||
* Удалите USB диск из конфигурации ВМ из веб-интерфейса Proxmox или выполните команду: | |||
# qm set VMID -delete usb0 | |||
<hr> | |||
* [https://vmblog.ru/probros-diska-proxmox-vm/#h2_1 Источник] |
Текущая версия от 20:58, 3 ноября 2023
В этой статье мы рассмотрим, как пробросить USB накопитель (флешку) и физический жесткий диск (HDD/SSD) в виртуальную машину на Proxmox VE.
Пробросить физический диск в ВМ на Proxmox
Через веб-интерфейс Proxmox VE вы можете пробросить внутрь ВМ только USB диски/флешки. Для проброса физического жесткого диска (режим passthrough) в виртуальную машину Proxmox придется использовать консоль гипервизора. Для этого используется команда qm set.
- Синтаксис команды:
qm set <vm_id> -[virtio|sata|ide|scsi][№] /dev/sd[a|b|c|...] vm_id — ID виртуальной машины (в графическом интерфейсе Proxmox WebGUI он указывается перед именем ВМ) [virtio|sata|ide|scsi][NOM] – тип виртуального контроллера диска и номер интерфейса /dev/sd[a|b|c…] — пробрасываемое физическое устройство
- Выведите список физических дисков на гипервизоре:
# lsblk
- Например, вы хотите пробросить в ВМ раздел /dev/sdb1. Можно использовать адрес устройства для проброса диска в ВМ, но это не рекомендуется. Дело в том, что путь диска может измениться при добавлении, отключении или перестановке дисков. Поэтому для проброса диска лучше использовать его UUID или серийный номер (ID).
Чтобы вывести UUID, выполните:
# blkid /dev/sdb1
blkid /dev/sdb1 получить UUID диска
- Если диск не отображается, нужно его предварительно разбить и отформатировать.
Проверьте, есть ли диск в директории /by-uuid
# ls /dev/disk/by-uuid/
- Если в выводе команды нет вашего UUID, тогда придется используйте ID диска или путь к нему (/dev/sdb1).
Чтобы получить идентификатор (серийный номер диска) выполните:
# lshw -class disk -class storage
- Скопируйте значение serial. Например, Serial: GD23VZ2B
Выведите идентификаторы диска и разделов на нем по его серийному номеру:
# ls -l /dev/disk/by-id | grep GD23VZ2B
- Например, команда вернула вам такой ID диска: ata-WDCxxxxxx-xxxxxx_GD23VZ2B
Откройте веб-интерфейс Proxmox и запомните ID виртуальной машины, в которую вы хотите пробросить диск (119 в моем примере).
- Чтобы пробросить диск в эту ВМ по UUID, выполните команду:
# qm set 119 -virtio2 /dev/disk/by-uuid/0b56138b-6124-4ec4-a7a3-7c503516a65c
- Чтобы пробросить диск по ID диска и его серийному номеру:
# qm set 102 -virtio2 /dev/disk/by-id/ata-WDCxxxxxx-xxxxxx_GD23VZ2B
- Можно пробросить раздел по пути (не рекомендуется):
# qm set 119 -virtio2 /dev/sdb1
- Убедитесь, что ваш диск был добавлен в конфигурационный файл ВМ:
# cat /etc/pve/qemu-server/119.conf
В конфигурационном файле должна появится строка вида:
virtio0: volume=/dev/sdb1
или
sata0: volume=/dev/sdb1
- Проверьте, что новый диск появился на вкладке оборудования ВМ в интерфейсе Proxmox.
После перезагрузки гипервизора проброшенный диск останется примонтированным в ВМ.
- Если в ВМ Proxmox установлена гостевая операционная система Windows, она может не распознать новый диск. Чтобы Windows определила виртуальный диск, вам нужно установить драйвер VirtIO согласно этому гайду.
- Если вы пробрасываете диск с RAID контроллера, нужно использовать формат -virtio(x), а не -scsi(x).
Чтобы отключить диск от ВМ, выполните команду:
# qm unlink 119 --idlist virtio2
Проброс USB накопителя в виртуальную машину Proxmox
- Вы можете пробросить любое USB устройства с хоста в виртуальную машину Proxmox прямо из веб интерфейса PVE.
- Откройте веб интерфейс Proxmox VE
- Найдите нужную виртуальную машину и перейдите на вкладку Hardware;
- Нажмите кнопку Add -> USB Device
4. Выберите в списке USB устройство, которое нужно пробросить.Можно использовать один из двух режимов:
Use USB Vendor/Device ID – когда нужно, чтобы USB устройство было прокинуто в ВМ независимо от USB порта, куда оно подключеноUse USB Port – проброс целиком USB порта, когда вы хотите прокинуть в ВМ любое устройство, подключенное в указанный USB порт.
- В нашем примере это Mass Storage Device. Включите опцию Use USB3 если нужно.
5. В конфигурации ВМ появится строка по подключенной USB флешке;
Перезагрузите ВМ и проверьте, что новый USB накопитель был опознан гостевой ОС.
Также можно пробросить USB накопитель в ВМ из командной строки. Сначала проверьте, как ваше USB устройство определилось в хостовой ОС:
# lsusb
- Если это USB накопитель, выведите информацию о его разделах и файловой системе:
# fdisk -l
- Чтобы пробросить USB диск в виртуальную машину Proxmox, укажите ее номер и ID USB устройства, которое вы получили с помощью команды lsusb. Например:
# qm set 110 -usb0 host=07aa:a010
- Если это USB 3.0 устройство, выполните команду:
# qm set 110 -usb0 host=07aa:a010,usb3=yes
- Чтобы отключить USB накопитель от виртуальной машины:
убедитесь, что устройство не используется в вашей гостевой ОС (при отмонтировании не должна появиться ошибка unmount device is busy)
- Отключите USB устройство от гостевой ВМ из консоли Proxmox:
# device_del <idofyourdevice>
- Удалите USB диск из конфигурации ВМ из веб-интерфейса Proxmox или выполните команду:
# qm set VMID -delete usb0