LINUX.ORG.RU
ФорумAdmin

Как в QEMU поменять на лету размер блочного устройства?

 , ,


0

1

Не пойму, как через qemu monitor изменить virtual size для блочного устройства.

block_resize, как я понял, пытается поменять размер underlay диска (что актуально для qcow, но не актуально для болчного устройства, представленного как raw).

# qm monitor 208                                                            
Entering Qemu Monitor for VM 208 - type 'help' for help
qm> info block -v
drive-scsi1 (#block395): /dev/zvol/fastpool/vm/vm-208-disk-2 (raw)
    Attached to:      scsi1
    Cache mode:       writeback, direct
    Detect zeroes:    unmap

Images:
image: /dev/zvol/fastpool/vm/vm-208-disk-2
file format: raw
virtual size: 1.27 TiB (1395864371200 bytes)
disk size: 0 B
qm> block_resize drive-scsi1 1621350154240
Error: Cannot grow device files
qm> 

Версии:

  • pve-qemu-kvm_5.2.0
  • pve-qemu-kvm_6.1.1
★★★★★

Последнее исправление: Harliff (всего исправлений: 2)

Я тут посмотрел, как сам Proxmox диски ресайзит.

Он отправляет в сокет qemu (/var/run/qemu-server/$VM_ID.qmp) примерно такое:

{
  "id": "1889371:2",
  "arguments": {
    "size": 2602565632,
    "device": "drive-scsi0"
  },
  "execute": "block_resize"
}

А вот qemu-monitor отправляет совсем другое:

{
  "id": "2737013:2",
  "arguments": {
    "command-line": "block_resize drive-scsi0 2654994432"
  },
  "execute": "human-monitor-command"
}

Первое — успешно выполняет ресайз, второе — получает в ответ «Error: Cannot grow device files»

Harliff ★★★★★
() автор топика
Ответ на: комментарий от t184256

Так и делаю, но это не очень удобно. Наверное, поищу инструменты, которые позволяют это делать проще/надёжней.

И передавать коллегам такое недорешение не очень хочется. Наверное, напишу скрипт для этой задачи — пусть его запускают.

Harliff ★★★★★
() автор топика
Последнее исправление: Harliff (всего исправлений: 1)
Ответ на: комментарий от Harliff

Красавчег. Тоже хотел посоветовать заглянуть в проксмокс, который это легко делает, а ты уже все посмотрел и даже нашел решение!

AVL2 ★★★★★
()
Ответ на: комментарий от Harliff

Извращение, конечно, но выходит, эти ресайзы можно делать на вкладке проксмокса монитор вручную? Прикольно, там может и декремент можно будет делать

AVL2 ★★★★★
()
Ответ на: комментарий от Harliff

Кстати, скорее всего сначала проксмокс ресайзит lvm с диском а потом только отправляет новый размер в qemu

Отсюда и разница в командах

AVL2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.