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

libguestfs: guestfs_launch не работает - но я даже не просил его попробовать

Недавно я начал с Qemu / KVM и libvirtd / virt-manager / virsh и т. д. В одном из многих «руководств» по ​​установке cryptc мне было сказано установить libguestfs, что я и сделал. Замечу, что я никогда не использовал пул хранения по умолчанию; Я определил системный раздел EFI и загрузочный раздел моей установки Windows как два необработанных диска домена. Таким образом, не нужно управлять виртуальными дисками.

XML-файл для машины, которую я определяю здесь, находится по адресу https://pastebin.com/tk5X9d2i.lsk

Если я запускаю virt-manager и просматриваю детали домена виртуальной машины, который я определил через xml. Затем, когда я нажимаю на вкладку «Информация об ОС» консоли, я вижу:

Ошибка запуска устройства libguestfs: сбой guestfs_launch. Обычно это означает, что устройство libguestfs не запустилось или отказало. Сделайте: экспортируйте LIBGUESTFS_DEBUG = 1 LIBGUESTFS_TRACE = 1 и снова запустите команду. Для получения дополнительной информации прочтите: http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs Вы также можете запустить libguestfs-test-tool и опубликовать полный вывод в отчет об ошибке или сообщение в список рассылки libguestfs.

Прежде чем спросить, что вызывает ошибку, я хотел бы спросить, почему здесь вообще появляется libguestfs? Правда, я установил пакет из AUR, но я не знал об автоматическом включении libguestfs в мою libvirt. Самый простой / лучший способ избежать этой ошибки - просто удалить Libguestfs? Или это как-то требуется для базовой работы libvirt? Это кажется маловероятным, потому что это не зависит от libvirt.

Хорошо, зажигаю ли я флаги _DEBUG и _TRACE или запускаю libguestfs-test-tool, результаты диагностики кажутся почти идентичными. Вот полный вывод libguestfs-test-tool:

[scott@scott-dell7577 virt-manager]$ libguestfs-test-tool
     ************************************************************
     *                    IMPORTANT NOTICE
     *
     * When reporting bugs, include the COMPLETE, UNEDITED
     * output below in your bug report.
     *
     ************************************************************
LIBVIRT_DEFAULT_URI=qemu:///system
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/scott/.gem/ruby/2.7.0/bin:
XDG_RUNTIME_DIR=/run/user/1000
SELinux: sh: getenforce: command not found
guestfs_get_append: (null)
guestfs_get_autosync: 1
guestfs_get_backend: direct
guestfs_get_backend_settings: []
guestfs_get_cachedir: /var/tmp
guestfs_get_hv: /usr/bin/kvm
guestfs_get_memsize: 768
guestfs_get_network: 0
guestfs_get_path: /usr/lib/guestfs
guestfs_get_pgroup: 0
guestfs_get_program: libguestfs-test-tool
guestfs_get_recovery_proc: 1
guestfs_get_smp: 1
guestfs_get_sockdir: /run/user/1000
guestfs_get_tmpdir: /tmp
guestfs_get_trace: 0
guestfs_get_verbose: 1
host_cpu: x86_64
Launching appliance, timeout set to 600 seconds.
libguestfs: launch: program=libguestfs-test-tool
libguestfs: launch: version=1.42.0
libguestfs: launch: backend registered: unix
libguestfs: launch: backend registered: uml
libguestfs: launch: backend registered: libvirt
libguestfs: launch: backend registered: direct
libguestfs: launch: backend=direct
libguestfs: launch: tmpdir=/tmp/libguestfsdBVN72
libguestfs: launch: umask=0022
libguestfs: launch: euid=1000
libguestfs: begin building supermin appliance
libguestfs: run supermin
libguestfs: command: run: /usr/bin/supermin
libguestfs: command: run: \ --build
libguestfs: command: run: \ --verbose
libguestfs: command: run: \ --if-newer
libguestfs: command: run: \ --lock /var/tmp/.guestfs-1000/lock
libguestfs: command: run: \ --copy-kernel
libguestfs: command: run: \ -f ext2
libguestfs: command: run: \ --host-cpu x86_64
libguestfs: command: run: \ /usr/lib/guestfs/supermin.d
libguestfs: command: run: \ -o /var/tmp/.guestfs-1000/appliance.d
supermin: version: 5.2.0
supermin: package handler: arch/pacman
supermin: acquiring lock on /var/tmp/.guestfs-1000/lock
supermin: if-newer: output does not need rebuilding
libguestfs: finished building supermin appliance
libguestfs: begin testing qemu features
libguestfs: checking for previously cached test results of /usr/bin/kvm, in /var/tmp/.guestfs-1000
libguestfs: loading previously cached test results
libguestfs: qemu version: 5.0
libguestfs: qemu mandatory locking: yes
libguestfs: qemu KVM: enabled
libguestfs: finished testing qemu features
libguestfs: command: run: file
libguestfs: command: run: \ -- /var/tmp/.guestfs-1000/appliance.d/root
/usr/bin/kvm \
    -global virtio-blk-pci.scsi=off \
    -no-user-config \
    -enable-fips \
    -nodefaults \
    -display none \
    -machine accel=kvm:tcg \
    -cpu host \
    -m 768 \
    -no-reboot \
    -rtc driftfix=slew \
    -no-hpet \
    -global kvm-pit.lost_tick_policy=discard \
    -kernel /var/tmp/.guestfs-1000/appliance.d/kernel \
    -initrd /var/tmp/.guestfs-1000/appliance.d/initrd \
    -object rng-random,filename=/dev/urandom,id=rng0 \
    -device virtio-rng-pci,rng=rng0 \
    -device virtio-scsi-pci,id=scsi \
    -drive file=/tmp/libguestfsdBVN72/scratch1.img,cache=unsafe,format=raw,id=hd0,if=none \
    -device scsi-hd,drive=hd0 \
    -drive file=/var/tmp/.guestfs-1000/appliance.d/root,snapshot=on,id=appliance,cache=unsafe,if=none,format=raw \
    -device scsi-hd,drive=appliance \
    -device virtio-serial-pci \
    -serial stdio \
    -device sga \
    -chardev socket,path=/run/user/1000/libguestfsOHS6U5/guestfsd.sock,id=channel0 \
    -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \
    -append "panic=1 console=ttyS0 edd=off udevtimeout=6000 udev.event-timeout=6000 no_timer_check printk.time=1 cgroup_disable=memory usbcore.nousb cryptomgr.notests tsc=reliable 8250.nr_uarts=1 root=UUID=6850566e-3b73-42a4-8221-741ed6765ae0 selinux=0 guestfs_verbose=1 TERM=xterm"
qemu-system-x86_64: console=ttyS0: Could not open 'console=ttyS0': No such file or directory
libguestfs: error: appliance closed the connection unexpectedly, see earlier error messages
libguestfs: child_cleanup: 0x55e8756a5280: child process died
libguestfs: sending SIGTERM to process 168395
libguestfs: error: /usr/bin/kvm exited with error status 1, see debug messages above
libguestfs: error: guestfs_launch failed, see earlier error messages
libguestfs: closing guestfs handle 0x55e8756a5280 (state 0)
libguestfs: command: run: rm
libguestfs: command: run: \ -rf /tmp/libguestfsdBVN72
libguestfs: command: run: rm
libguestfs: command: run: \ -rf /run/user/1000/libguestfsOHS6U5

[scott @ scott-dell7577 virt-manager] $

Теперь я действительно безнадежно запутался: кто просил libguestfs сделать ЛЮБОЕ из этого? то есть превратить мой xml в какие-то запутанные резервные + оверлейные изображения для «защиты» моих дисков. Я совсем не это определил !! И почему он вообще решил сделать машину с console = ttyS0 ?? На моей главной машине есть / dev / ttyS [0-3], но они физически ни к чему не подключены. Я могу прикрепить xml, который определяет единственный домен, который я пытался создать, и я не могу полагаться на / dev / ttyS0. В качестве последней путаницы, конечно, выражение console = / dev / ttys0 означает, что это последовательное устройство у гостя, а не хоста, правильно? XML-файл каким-то образом определяет его как принадлежащий консоли, но не как существующий?

Суть в том, «как я могу решить эту проблему?