virt-host-validate show like this:
QEMU: Checking for hardware virtualization :
PASS
QEMU: Checking if device /dev/kvm exists :
PASS
QEMU: Checking if device /dev/kvm is accessible :
PASS
QEMU: Checking if device /dev/vhost-net exists :
PASS
QEMU: Checking if device /dev/net/tun exists :
PASS
QEMU: Checking for cgroup 'memory' controller support :
PASS
QEMU: Checking for cgroup 'memory' controller mount-point :
PASS
QEMU: Checking for cgroup 'cpu' controller support :
PASS
QEMU: Checking for cgroup 'cpu' controller mount-point :
PASS
QEMU: Checking for cgroup 'cpuacct' controller support :
PASS
QEMU: Checking for cgroup 'cpuacct' controller mount-point :
PASS
QEMU: Checking for cgroup 'cpuset' controller support :
PASS
QEMU: Checking for cgroup 'cpuset' controller mount-point :
PASS
QEMU: Checking for cgroup 'devices' controller support :
PASS
QEMU: Checking for cgroup 'devices' controller mount-point :
PASS
QEMU: Checking for cgroup 'blkio' controller support :
PASS
QEMU: Checking for cgroup 'blkio' controller mount-point :
PASS
QEMU: Checking for device assignment IOMMU support :
PASS
QEMU: Checking if IOMMU is enabled by kernel :
PASS
LXC: Checking for Linux >= 2.6.26 :
PASS
LXC: Checking for namespace ipc :
PASS
LXC: Checking for namespace mnt :
PASS
LXC: Checking for namespace pid :
PASS
LXC: Checking for namespace uts :
PASS
LXC: Checking for namespace net :
PASS
LXC: Checking for namespace user :
PASS
LXC: Checking for cgroup 'memory' controller support :
PASS
LXC: Checking for cgroup 'memory' controller mount-point :
PASS
LXC: Checking for cgroup 'cpu' controller support :
PASS
LXC: Checking for cgroup 'cpu' controller mount-point :
PASS
LXC: Checking for cgroup 'cpuacct' controller support :
PASS
LXC: Checking for cgroup 'cpuacct' controller mount-point :
PASS
LXC: Checking for cgroup 'cpuset' controller support :
PASS
LXC: Checking for cgroup 'cpuset' controller mount-point :
PASS
LXC: Checking for cgroup 'devices' controller support :
PASS
LXC: Checking for cgroup 'devices' controller mount-point :
PASS
LXC: Checking for cgroup 'blkio' controller support :
PASS
LXC: Checking for cgroup 'blkio' controller mount-point :
PASS
LXC: Checking if device /sys/fs/fuse/connections exists :
FAIL (Load the 'fuse' module to enable /proc/ overrides)
same X86 server with redhat 8.4 has no problem.
That's the same for me.
My best bet is this is a RHEL 7.6 KVM problem that may have been fixed
in a later version. The latest version is RHEL 7.9, and upgrading
should be smooth.
Rich.
------------------ Original ------------------
From: "Richard W.M. Jones" <rjones(a)redhat.com>;
Date: Fri, Sep 23, 2022 09:23 PM
To: "mark"<makeplay(a)qq.com>;
Cc: "libguestfs"<libguestfs(a)redhat.com>;
Subject: Re: [Libguestfs] redhat 7.6 on intel ice lake sp kvm got error
On Fri, Sep 23, 2022 at 09:05:31PM +0800, mark wrote:
> Dear
> On redhat 7.6 OS with intel ice lake cpu like :
> _________________________________________________________________________
> [root@localhost ~]# lscpu
> Architecture: x86_64
> CPU op-mode(s): 32-bit, 64-bit
> Byte Order: Little Endian
> CPU(s): 96
> On-line CPU(s) list: 0-95
> Thread(s) per core: 2
> Core(s) per socket: 24
> Socket(s): 2
> NUMA node(s): 2
> Vendor ID: GenuineIntel
> CPU family: 6
> Model: 106
> Model name: Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz
> Stepping: 6
> CPU MHz: 2100.000
> BogoMIPS: 4200.00
> Virtualization: VT-x
> L1d cache: 48K
> L1i cache: 32K
> L2 cache: 1280K
> L3 cache: 36864K
> NUMA node0 CPU(s):
>
0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94
> NUMA node1 CPU(s):
>
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95
> Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca
> cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
> pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl
> xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl
> vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic
> movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm
> 3dnowprefetch epb cat_l3 intel_pt ssbd mba ibrs ibpb stibp ibrs_enhanced
> tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep
> bmi2 erms invpcid rtm cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma
> clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1
> cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
> avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni
> avx512_bitalg avx512_vpopcntdq spec_ctrl intel_stibp flush_l1d
> arch_capabilities
> [root@localhost ~]# uname -a
> Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Oct 4 20:48:51
UTC
> 2018 x86_64 x86_64 x86_64 GNU/Linux
> [root@localhost ~]#
>
__________________________________________________________________________________________________
>
> When create kvm got this error:
>
__________________________________________________________________________________________________
> [root@localhost ~]# /usr/libexec/qemu-kvm -name test -machine pc -m 8192
> kvm_init_vcpu failed: Invalid argument
Interesting - I actually don't know the answer to this.
What is the output of this command?
# virt-host-validate
Rich.
>
__________________________________________________________________________________________________
>
>
> So I trust to debug this :
>
__________________________________________________________________________________________________
> [root@localhost ~]# export LIBGUESTFS_BACKEND=direct
> [root@localhost ~]# export LIBGUESTFS_DEBUG=1
> [root@localhost ~]# export LIBGUESTFS_TRACE=1
> [root@localhost ~]# libguestfs-test-tool
> ************************************************************
> * IMPORTANT NOTICE
> *
> * When reporting bugs, include the COMPLETE, UNEDITED
> * output below in your bug report.
> *
> ************************************************************
> libguestfs: trace: set_verbose true
> libguestfs: trace: set_verbose = 0
> libguestfs: trace: set_backend "direct"
> libguestfs: trace: set_backend = 0
> libguestfs: trace: set_verbose true
> libguestfs: trace: set_verbose = 0
> LIBGUESTFS_DEBUG=1
> LIBGUESTFS_BACKEND=direct
> LIBGUESTFS_TRACE=1
> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
> XDG_RUNTIME_DIR=/run/user/0
> SELinux: Enforcing
> libguestfs: trace: add_drive_scratch 104857600
> libguestfs: trace: get_tmpdir
> libguestfs: trace: get_tmpdir = "/tmp"
> libguestfs: trace: disk_create "/tmp/libguestfsWpVuIR/scratch1.img"
"raw"
> 104857600
> libguestfs: trace: disk_create = 0
> libguestfs: trace: add_drive "/tmp/libguestfsWpVuIR/scratch1.img"
"format:raw"
> "cachemode:unsafe"
> libguestfs: trace: add_drive = 0
> libguestfs: trace: add_drive_scratch = 0
> libguestfs: trace: get_append
> libguestfs: trace: get_append = "NULL"
> guestfs_get_append: (null)
> libguestfs: trace: get_autosync
> libguestfs: trace: get_autosync = 1
> guestfs_get_autosync: 1
> libguestfs: trace: get_backend
> libguestfs: trace: get_backend = "direct"
> guestfs_get_backend: direct
> libguestfs: trace: get_backend_settings
> libguestfs: trace: get_backend_settings = []
> guestfs_get_backend_settings: []
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> guestfs_get_cachedir: /var/tmp
> libguestfs: trace: get_hv
> libguestfs: trace: get_hv = "/usr/libexec/qemu-kvm"
> guestfs_get_hv: /usr/libexec/qemu-kvm
> libguestfs: trace: get_memsize
> libguestfs: trace: get_memsize = 500
> guestfs_get_memsize: 500
> libguestfs: trace: get_network
> libguestfs: trace: get_network = 0
> guestfs_get_network: 0
> libguestfs: trace: get_path
> libguestfs: trace: get_path = "/usr/lib64/guestfs"
> guestfs_get_path: /usr/lib64/guestfs
> libguestfs: trace: get_pgroup
> libguestfs: trace: get_pgroup = 0
> guestfs_get_pgroup: 0
> libguestfs: trace: get_program
> libguestfs: trace: get_program = "libguestfs-test-tool"
> guestfs_get_program: libguestfs-test-tool
> libguestfs: trace: get_recovery_proc
> libguestfs: trace: get_recovery_proc = 1
> guestfs_get_recovery_proc: 1
> libguestfs: trace: get_smp
> libguestfs: trace: get_smp = 1
> guestfs_get_smp: 1
> libguestfs: trace: get_sockdir
> libguestfs: trace: get_sockdir = "/tmp"
> guestfs_get_sockdir: /tmp
> libguestfs: trace: get_tmpdir
> libguestfs: trace: get_tmpdir = "/tmp"
> guestfs_get_tmpdir: /tmp
> libguestfs: trace: get_trace
> libguestfs: trace: get_trace = 1
> guestfs_get_trace: 1
> libguestfs: trace: get_verbose
> libguestfs: trace: get_verbose = 1
> guestfs_get_verbose: 1
> host_cpu: x86_64
> Launching appliance, timeout set to 600 seconds.
> libguestfs: trace: launch
> libguestfs: trace: max_disks
> libguestfs: trace: max_disks = 255
> libguestfs: trace: version
> libguestfs: trace: version = <struct guestfs_version = major: 1, minor: 38,
> release: 2, extra: rhel=7,release=12.el7,libvirt, >
> libguestfs: trace: get_backend
> libguestfs: trace: get_backend = "direct"
> libguestfs: launch: program=libguestfs-test-tool
> libguestfs: launch: version=1.38.2rhel=7,release=12.el7,libvirt
> 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/libguestfsWpVuIR
> libguestfs: launch: umask=0022
> libguestfs: launch: euid=0
> libguestfs: trace: get_backend_setting "force_tcg"
> libguestfs: trace: get_backend_setting = NULL (error)
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> libguestfs: begin building supermin appliance
> libguestfs: run supermin
> libguestfs: command: run: /usr/bin/supermin5
> libguestfs: command: run: \ --build
> libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ --if-newer
> libguestfs: command: run: \ --lock /var/tmp/.guestfs-0/lock
> libguestfs: command: run: \ --copy-kernel
> libguestfs: command: run: \ -f ext2
> libguestfs: command: run: \ --host-cpu x86_64
> libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d
> libguestfs: command: run: \ -o /var/tmp/.guestfs-0/appliance.d
> supermin: version: 5.1.19
> supermin: rpm: detected RPM version 4.11
> supermin: package handler: fedora/rpm
> supermin: acquiring lock on /var/tmp/.guestfs-0/lock
> supermin: if-newer: output does not need rebuilding
> libguestfs: finished building supermin appliance
> libguestfs: begin testing qemu features
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/var/tmp"
> libguestfs: checking for previously cached test results of /usr/libexec/
> qemu-kvm, in /var/tmp/.guestfs-0
> libguestfs: loading previously cached test results
> libguestfs: QMP parse error: parse error: premature EOF\n
> \n (right here) ------^\n (ignored)
> libguestfs: qemu version: 1.5
> libguestfs: qemu mandatory locking: no
> libguestfs: trace: get_sockdir
> libguestfs: trace: get_sockdir = "/tmp"
> libguestfs: finished testing qemu features
> libguestfs: trace: get_backend_setting "gdb"
> libguestfs: trace: get_backend_setting = NULL (error)
> /usr/libexec/qemu-kvm \
> -global virtio-blk-pci.scsi=off \
> -nodefconfig \
> -enable-fips \
> -nodefaults \
> -display none \
> -machine accel=kvm:tcg \
> -cpu host \
> -m 500 \
> -no-reboot \
> -rtc driftfix=slew \
> -no-hpet \
> -global kvm-pit.lost_tick_policy=discard \
> -kernel /var/tmp/.guestfs-0/appliance.d/kernel \
> -initrd /var/tmp/.guestfs-0/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/libguestfsWpVuIR/scratch1.img,cache=unsafe,format=raw,id
=
> hd0,if=none \
> -device scsi-hd,drive=hd0 \
> -drive file=/var/tmp/.guestfs-0/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=/tmp/libguestfs1BAOaL/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=/dev/sdb selinux=0
> guestfs_verbose=1 TERM=vt100"
> kvm_init_vcpu failed: Invalid argument
> libguestfs: error: appliance closed the connection unexpectedly, see earlier
> error messages
> libguestfs: child_cleanup: 0x55884c0456e0: child process died
> libguestfs: sending SIGTERM to process 41216
> libguestfs: error: /usr/libexec/qemu-kvm exited with error status 1, see
debug
> messages above
> libguestfs: error: guestfs_launch failed, see earlier error messages
> libguestfs: trace: launch = -1 (error)
> libguestfs: trace: close
> libguestfs: closing guestfs handle 0x55884c0456e0 (state 0)
> libguestfs: command: run: rm
> libguestfs: command: run: \ -rf /tmp/libguestfsWpVuIR
> libguestfs: command: run: rm
> libguestfs: command: run: \ -rf /tmp/libguestfs1BAOaL
>
__________________________________________________________________________________________________
>
>
> Please help me.
> _______________________________________________
> Libguestfs mailing list
> Libguestfs(a)redhat.com
>
https://listman.redhat.com/mailman/listinfo/libguestfs
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.