Назад | Перейти на главную страницу

Как извлечь CD / DVD из виртуальной машины на базе KVM с помощью `qm set`?

Я использую Proxmox VE 4.4, и меня озадачивает, как извлечь CD / DVD-привод, который в настоящее время настроен. Предположим, что идентификатор гостевой виртуальной машины задан как переменная среды. vmid.

В настоящее время конфигурация qm config $vmid|grep ^ide дает следующее:

ide2: iso-storage:iso/SLE-12-SP2-Server-DVD-x86_64-GM-DVD1.iso,media=cdrom,size=3188M

и я хотел бы "извлечь" этот диск, чтобы на нем больше не было носителя, но он все еще существует как привод CD / DVD для гостя (т.е. без снятия привода!).

Как я могу этого добиться из оболочки машины Proxmox VE (т.е. хоста)?

NB: qm cdrom <vmid> eject не существует в этой версии Proxmox VE, но, похоже, существовал в прошлом.


Что пробовал:

# qm set $vmid -ide2 media=cdrom
400 Parameter verification failed.
ide2: invalid format - format error
ide2.file: property is missing and it is not optional

qm set <vmid> [OPTIONS]

и

# qm set $vmid -ide2 media=cdrom,file=
400 Parameter verification failed.
ide2: invalid format - missing key in comma-separated list property

qm set <vmid> [OPTIONS]

и

# qm set $vmid -ide2 media=cdrom,file=/dev/null
update VM $vmid: -ide2 media=cdrom,file=/dev/null
volume /dev/null does not exists

Я разобрался сам.

Хотя практически любое значение для <volume> в -ide[n] [file=]<volume> не удалось (см. qm(1)), недокументированное значение none сделали свое дело.

   -ide[n] [file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>]
   [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_length=<seconds>] [,bps_wr=<bps>]
   [,bps_wr_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>]
   [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>]
   [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_length=<seconds>]
   [,iops_rd_max=<iops>] [,iops_wr=<iops>] [,iops_wr_length=<seconds>] [,iops_wr_max=<iops>]
   [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>]
   [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,rerror=<ignore|report|stop>]
   [,secs=<integer>] [,serial=<serial>] [,size=<DiskSize>] [,snapshot=<1|0>]
   [,trans=<none|lba|auto>] [,werror=<enum>]
       Use volume as IDE hard disk or CD-ROM (n is 0 to 3).

Я только наткнулся на это, потому что одна из виртуальных машин в моем кластере PVE имела это значение. Итак, я попробовал и вот:

qm set $vmid -ide2 media=cdrom,file=none

делает свое дело.