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

QEMU QMP Как найти устройство для использования drive_backup?

Я хотел бы использовать команду backup_drive для копирования дисков и их снимков в один образ.

К сожалению, каждый раз я использую команду:

virsh qemu-monitor-command VM_NAME --hmp drive_backup device=drive-ide0-0-0 sync=full target=/mnt/mig-kvm/test_sync_snap.qcow2

Но я получаю эту ошибку:

Device 'device=ide0-0-0' not found

Я пробовал найти устройства с domblklist и execute query-block.

Кто-нибудь может привести мне пример, чтобы узнать, какое именно «устройство» мне нужно вставить в команду backup_drive?

Я уже безуспешно проверяю этот пост: QEMU не может найти ни устройство, ни имя_узла

Спасибо !

С уважением, N.B

В info block Команда monitor покажет вам блочные устройства, подключенные к гостю.

[root@makrura ~]# virsh qemu-monitor-command hyperv-server-2016 --hmp "info block"
drive-scsi0-0-0-0 (#block118): /var/lib/libvirt/images/hyperv-server-2016.qcow2 (qcow2)
    Attached to:      scsi0-0-0-0
    Cache mode:       writeback

drive-sata0-0-1 (#block396): /var/lib/libvirt/isos/14393.0.160916-1106.RS1_REFRESH_SERVERHYPERCORE_OEM_X64FRE_EN-US.ISO (raw, read-only)
    Attached to:      sata0-0-1
    Removable device: not locked, tray closed
    Cache mode:       writeback

drive-sata0-0-2 (#block542): /usr/share/virtio-win/virtio-win-0.1.141.iso (raw, read-only)
    Attached to:      sata0-0-2
    Removable device: not locked, tray closed
    Cache mode:       writeback

Здесь имя дискового устройства drive-scsi0-0-0-0. (Другие блочные устройства представляют собой виртуальные устройства CDROM.) Но что drive_backup ожидает - это имя_узла, которое появляется в круглых скобках, т.е. #block118.

Также кажется, что у вас неправильный синтаксис. Из справки:

drive_backup [-n] [-f] [-c] device target [format] -- initiates a point-in-time
            copy for a device. The device's contents are
            copied to the new image file, excluding data that
            is written after the command is started.
            The -n flag requests QEMU to reuse the image found
            in new-image-file, instead of recreating it from scratch.
            The -f flag requests QEMU to copy the whole disk,
            so that the result does not need a backing file.
            The -c flag requests QEMU to compress backup data
            (if the target format supports it).

Итак, вы бы сделали что-то вроде:

[root@makrura ~]# virsh qemu-monitor-command hyperv-server-2016 --hmp "drive_backup -f #block118 /tmp/test.qcow2 qcow2"


[root@makrura ~]# ls -l /tmp/test.qcow2 
-rw-r--r--. 1 qemu qemu 982712320 Aug  7 11:19 /tmp/test.qcow2