Re: [libvirt-users] Need to increase the rx and tx buffer size of my interface
Hi Ashish, Are these packages available for free? How can I install them? => You did have vhost backend driver. Do not set , by default it will use vhost as backend driver. Is it possible to have my interfaces with an IP address inside the VM to be bridged to the physical interfaces on the host? => Yes, you can create a linux bridge with physical interface connected, and use bridge type interface. Refer to https://libvirt.org/ formatdomain.html#elementsNICSBridge direct type is also ok (but your host and guest have no access to each other). Is it also a possibility that I change the rx and tx buffer on the physical interface on the host and it is reflected automatically inside the VM as you said it will always receive the default value of the host? => No, it do not receive the default value of the host. It's the default value related with the virtual device driver on the guest. hostdev type interface will passthrough the physical interface or VF of the host to guest, it will get the device's parameters for rx and tx buffer. --- Best Regards, Yalan Zhang IRC: yalzhang Internal phone: 8389413 On Thu, Oct 26, 2017 at 1:30 PM, Ashish Kurian wrote: > Hi Yalan, > > Thank you for your response. I do not have the following packages installed > > vhost backend driver > qemu-kvm-rhev package > > Are these packages available for free? How can I install them? > > In my KVM VM, I must have an IP address to the interfaces that I am trying > to increasing the buffers. That is the reason I was using macvtap (direct > type interface). Is it possible to have my interfaces with an IP address > inside the VM to be bridged to the physical interfaces on the host? > > Is it also a possibility that I change the rx and tx buffer on the > physical interface on the host and it is reflected automatically inside the > VM as you said it will always receive the default value of the host? > > > Best Regards, > Ashish Kurian > > On Thu, Oct 26, 2017 at 6:45 AM, Yalan Zhang wrote: > >> Hi Ashish, >> >> I have tested with your xml in the first mail, and it works for >> rx_queue_size(see >> below). >> multiqueue need to work with vhost backend driver. And when you set >> "queues=1" it will ignored. >> >> Please check your qemu-kvm-rhev package, should be newer than >> qemu-kvm-rhev-2.9.0-16.el7_4.2 >> And the logs? >> >> tx_queue_size='512' will not work in the guest with direct type >> interface, in fact, no matter what you set, it will not work and guest will >> get the default '256'. >> We only support vhost-user backend to have more than 256. refer to >> https://libvirt.org/formatdomain.html#elementsNICSEthernet >> >> tx_queue_size >> The optional tx_queue_size attribute controls the size of virtio ring >> for each queue as described above. The default value is hypervisor >> dependent and may change across its releases. Moreover, some hypervisors >> may pose some restrictions on actual value. For instance, QEMU v2.9 >> requires value to be a power of two from [256, 1024] range. In addition to >> that, this may work only for a subset of interface types, e.g. >> aforementioned QEMU enables this option only for vhostuser type. Since >> 3.7.0 (QEMU and KVM only) >> multiqueue only supports vhost as backend driver. >> >> # rpm -q libvirt qemu-kvm-rhev >> libvirt-3.2.0-14.el7_4.3.x86_64 >> qemu-kvm-rhev-2.9.0-16.el7_4.9.x86_64 >> >> 1. the xml as below >> >> >> >> >> > tx_queue_size='512'> >> > ufo='off' mrg_rxbuf='off'/> >> >> >> > function='0x0'/> >> >> >> 2. after start the vm, check the qemu command line: >> *-netdev >> tap,fds=26:28:29:30:31,id=hostnet0,vhost=on,vhostfds=32:33:34:35:36* >> -device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6=off, >> host_ecn=off,host_ufo=off,mrg_rxbuf=off,guest_csum=off,guest >> _tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off, >> *mq=on,vectors=12,rx_queue_size=512,tx_queue_size=512*,netdev=hostnet >> 0,id=net0,mac=52:54:00:00:b5:99,bus=pci.0,addr=0x3 >> >> 3. check on guest >> # ethtool -g eth0 >> Ring parameters for eth0: >> Pre-set maximums: >> RX: *512 ==> rx_queue_size works* >> RX Mini: 0 >> RX Jumbo: 0 >> TX: *256 ===> no change* >> Current hardware settings: >> RX: *512 **==> rx_queue_size works* >> RX Mini: 0 >> RX Jumbo: 0 >> TX: *256 ===> no change* >> >> # ethtool -l eth0 >> Channel parameters for eth0: >> Pre-set maximums: >> RX: 0 >> TX: 0 >> Other: 0 >> Combined: *5 ==> queues what we set* >> Current hardware settings: >> RX: 0 >> TX: 0 >> Other: 0 >> Combined: 1 >> >> >> If change to qemu as driver, >> # virsh edit rhel7 >> .. >> >> >> >> >> > tx_queue_size='512'> >> > ufo='off' mrg_rxbuf='off'/> >> >> >> > function='0x0'/> >> >> .. >> Domain rhel7 XML configuration edited. ==> the xml can validate and save >> >> # virsh start rhel7 >> Domain rhel7 started >> >> >> # virsh dumpxml rhel7 | grep /interface -B9 >> >>
Re: [libvirt-users] Need to increase the rx and tx buffer size of my interface
Hi Yalan, Thank you for your response. I do not have the following packages installed vhost backend driver qemu-kvm-rhev package Are these packages available for free? How can I install them? In my KVM VM, I must have an IP address to the interfaces that I am trying to increasing the buffers. That is the reason I was using macvtap (direct type interface). Is it possible to have my interfaces with an IP address inside the VM to be bridged to the physical interfaces on the host? Is it also a possibility that I change the rx and tx buffer on the physical interface on the host and it is reflected automatically inside the VM as you said it will always receive the default value of the host? Best Regards, Ashish Kurian On Thu, Oct 26, 2017 at 6:45 AM, Yalan Zhang wrote: > Hi Ashish, > > I have tested with your xml in the first mail, and it works for > rx_queue_size(see > below). > multiqueue need to work with vhost backend driver. And when you set > "queues=1" it will ignored. > > Please check your qemu-kvm-rhev package, should be newer than > qemu-kvm-rhev-2.9.0-16.el7_4.2 > And the logs? > > tx_queue_size='512' will not work in the guest with direct type interface, > in fact, no matter what you set, it will not work and guest will get the > default '256'. > We only support vhost-user backend to have more than 256. refer to > https://libvirt.org/formatdomain.html#elementsNICSEthernet > > tx_queue_size > The optional tx_queue_size attribute controls the size of virtio ring for > each queue as described above. The default value is hypervisor dependent > and may change across its releases. Moreover, some hypervisors may pose > some restrictions on actual value. For instance, QEMU v2.9 requires value > to be a power of two from [256, 1024] range. In addition to that, this may > work only for a subset of interface types, e.g. aforementioned QEMU enables > this option only for vhostuser type. Since 3.7.0 (QEMU and KVM only) > multiqueue only supports vhost as backend driver. > > # rpm -q libvirt qemu-kvm-rhev > libvirt-3.2.0-14.el7_4.3.x86_64 > qemu-kvm-rhev-2.9.0-16.el7_4.9.x86_64 > > 1. the xml as below > > > > >tx_queue_size='512'> > ufo='off' mrg_rxbuf='off'/> > > >function='0x0'/> > > > 2. after start the vm, check the qemu command line: > *-netdev > tap,fds=26:28:29:30:31,id=hostnet0,vhost=on,vhostfds=32:33:34:35:36* > -device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6= > off,host_ecn=off,host_ufo=off,mrg_rxbuf=off,guest_csum=off, > guest_tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off, > *mq=on,vectors=12,rx_queue_size=512,tx_queue_size=512*,netdev= > hostnet0,id=net0,mac=52:54:00:00:b5:99,bus=pci.0,addr=0x3 > > 3. check on guest > # ethtool -g eth0 > Ring parameters for eth0: > Pre-set maximums: > RX: *512 ==> rx_queue_size works* > RX Mini: 0 > RX Jumbo: 0 > TX: *256 ===> no change* > Current hardware settings: > RX: *512 **==> rx_queue_size works* > RX Mini: 0 > RX Jumbo: 0 > TX: *256 ===> no change* > > # ethtool -l eth0 > Channel parameters for eth0: > Pre-set maximums: > RX: 0 > TX: 0 > Other: 0 > Combined: *5 ==> queues what we set* > Current hardware settings: > RX: 0 > TX: 0 > Other: 0 > Combined: 1 > > > If change to qemu as driver, > # virsh edit rhel7 > .. > > > > >tx_queue_size='512'> > ufo='off' mrg_rxbuf='off'/> > > >function='0x0'/> > > .. > Domain rhel7 XML configuration edited. ==> the xml can validate and save > > # virsh start rhel7 > Domain rhel7 started > > > # virsh dumpxml rhel7 | grep /interface -B9 > > > > * tx_queue_size='512'>* > ufo='off' mrg_rxbuf='off'/> > > > >function='0x0'/> > > > > * -netdev tap,fds=26:28:29:30:31*,id=hostnet0 -device > virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6= > off,host_ecn=off,host_ufo=off,mrg_rxbuf=off,guest_csum=off, > guest_tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off, > *rx_queue_size=512,tx_queue_size=512*,netdev=hostnet0,id=net0, > mac=52:54:00:00:b5:99,bus=pci.0,addr=0x3 > > *"mq=on,vectors=12" is missing*, indicates there is no multiqueue > > and check on guest > > # ethtool -l eth0 > Channel parameters for eth0: > Pre-set maximums: > RX: 0 > TX: 0 > Other: 0 > Combined: 1 ==> no multiqueue > Current hardware settings: > RX: 0 > TX: 0 > Other: 0 > Combined: 1 > > # ethtool -g eth0 > Ring parameters for eth0: > Pre-set maximums: > RX: *512* > RX Mini: 0 > RX Jumbo: 0 > TX: 256 > Current hardware settings: > RX: *512* > RX Mini: 0 > RX Jumbo: 0 > TX: 256 > > > > > --- > Best Regards, > Yalan Zhang > IRC: yalzhang > Internal phone: 8389413 > > On Thu, Oct 26, 2017 at 2:33 AM, Ashish Kurian > wrote: > >> Hi Michal, >> >> An update to what I have already said : when I try adding > name='qemu' txmode='iothread' ioeventfd='on' event_idx='off' queues='1' >> rx_queue_size='512' tx_queue_size
Re: [libvirt-users] Need to increase the rx and tx buffer size of my interface
Hi Ashish, I have tested with your xml in the first mail, and it works for rx_queue_size(see below). multiqueue need to work with vhost backend driver. And when you set "queues=1" it will ignored. Please check your qemu-kvm-rhev package, should be newer than qemu-kvm-rhev-2.9.0-16.el7_4.2 And the logs? tx_queue_size='512' will not work in the guest with direct type interface, in fact, no matter what you set, it will not work and guest will get the default '256'. We only support vhost-user backend to have more than 256. refer to https://libvirt.org/formatdomain.html#elementsNICSEthernet tx_queue_size The optional tx_queue_size attribute controls the size of virtio ring for each queue as described above. The default value is hypervisor dependent and may change across its releases. Moreover, some hypervisors may pose some restrictions on actual value. For instance, QEMU v2.9 requires value to be a power of two from [256, 1024] range. In addition to that, this may work only for a subset of interface types, e.g. aforementioned QEMU enables this option only for vhostuser type. Since 3.7.0 (QEMU and KVM only) multiqueue only supports vhost as backend driver. # rpm -q libvirt qemu-kvm-rhev libvirt-3.2.0-14.el7_4.3.x86_64 qemu-kvm-rhev-2.9.0-16.el7_4.9.x86_64 1. the xml as below 2. after start the vm, check the qemu command line: *-netdev tap,fds=26:28:29:30:31,id=hostnet0,vhost=on,vhostfds=32:33:34:35:36* -device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6=off,host_ecn=off,host_ufo=off,mrg_rxbuf=off,guest_csum=off,guest_tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off, *mq=on,vectors=12,rx_queue_size=512,tx_queue_size=512* ,netdev=hostnet0,id=net0,mac=52:54:00:00:b5:99,bus=pci.0,addr=0x3 3. check on guest # ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: *512 ==> rx_queue_size works* RX Mini: 0 RX Jumbo: 0 TX: *256 ===> no change* Current hardware settings: RX: *512 **==> rx_queue_size works* RX Mini: 0 RX Jumbo: 0 TX: *256 ===> no change* # ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: *5 ==> queues what we set* Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 1 If change to qemu as driver, # virsh edit rhel7 .. .. Domain rhel7 XML configuration edited. ==> the xml can validate and save # virsh start rhel7 Domain rhel7 started # virsh dumpxml rhel7 | grep /interface -B9 ** * -netdev tap,fds=26:28:29:30:31*,id=hostnet0 -device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6=off,host_ecn=off,host_ufo=off,mrg_rxbuf=off,guest_csum=off,guest_tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off, *rx_queue_size=512,tx_queue_size=512* ,netdev=hostnet0,id=net0,mac=52:54:00:00:b5:99,bus=pci.0,addr=0x3 *"mq=on,vectors=12" is missing*, indicates there is no multiqueue and check on guest # ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 1 ==> no multiqueue Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 1 # ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: *512* RX Mini: 0 RX Jumbo: 0 TX: 256 Current hardware settings: RX: *512* RX Mini: 0 RX Jumbo: 0 TX: 256 --- Best Regards, Yalan Zhang IRC: yalzhang Internal phone: 8389413 On Thu, Oct 26, 2017 at 2:33 AM, Ashish Kurian wrote: > Hi Michal, > > An update to what I have already said : when I try adding name='qemu' txmode='iothread' ioeventfd='on' event_idx='off' queues='1' > rx_queue_size='512' tx_queue_size='512'> although it showed me the error as > mentioned, when I checked the xml again I saw that txmode='iothread' ioeventfd='on' event_idx='off' > is added to the > interface. > > The missing parameters are : queues='1' rx_queue_size='512' > tx_queue_size='512' > > Best Regards, > Ashish Kurian > > On Wed, Oct 25, 2017 at 5:07 PM, Ashish Kurian > wrote: > >> Hi Michal, >> >> What I found was that when I restarted the machine and did a virsh edit >> command to see the xml config, I see that it is was not actually changed. >> This suggests why I saw 256 again after restarting. >> >> So now I tried again to edit the xml via virsh edit command and used the >> following to set the parameters. >> >> > queues='1' rx_queue_size='512' tx_queue_size='512'> >> >> >> It was not accepted and I got the error saying : >> >> >> error: XML document failed to validate against schema: Unable to validate >> doc against /usr/share/libvirt/schemas/domain.rng >> Extra element devices in interleave >> Element domain failed to validate content >> >> What does this imply? I have two more other interfaces and do I have to >> the same to them also? >> >> Btw, there are now logs generated now in the domain log or libvirtd log >> >> >> >> >> >> Best Regards, >> Ashish Kurian >> >> On Wed, Oct 25, 2
[libvirt-users] How to assign to PCI slot 0
Hi, I'm new to this group so bear with me. So I need to passthrough a pci device on a particular bus and slot to get Linux to recognize it correctly. I need pci bus 6, slot 0. However whenever I try to use this slot inside of virsh edit it complains: error: XML error: Invalid PCI address :06:00.0. slot must be >= 1 Failed. Try again? [y,n,i,f,?]: Is there a way to work around this ? Like can I disable the strict XML checking or even run the qemu commands manually? Thanks, Andy ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] terminating on signal 15 from pid 2146 (/usr/sbin/libvirtd)
2017-10-25 17:28 GMT+03:00 Matwey V. Kornilov : > 2017-10-24 12:58 GMT+03:00 Martin Kletzander : >> On Fri, Oct 20, 2017 at 10:12:19PM +0300, Matwey V. Kornilov wrote: >>> >>> 2017-10-20 17:14 GMT+03:00 Matwey V. Kornilov : 2017-10-20 15:16 GMT+03:00 Martin Kletzander : > > On Fri, Oct 20, 2017 at 03:07:19PM +0300, Matwey V. Kornilov wrote: >> >> >> 2017-10-20 14:59 GMT+03:00 Martin Kletzander : >>> >>> >>> On Thu, Oct 19, 2017 at 09:11:00PM +0300, Matwey V. Kornilov wrote: Hello, I use libvirt 3.3.0 and qemu 2.9.0 My domain XML spec is the following: s390_generic 82b4d16e-b636-447e-9fda-41d44616bce8 1048576 1048576 1 hvm destroy restart destroy /usr/bin/qemu-system-s390x >>> unit='0'/> The issue is that when I try to start it, it starts and shutdowns immediately: virsh # start s390_generic Domain s390_generic started virsh # In the domain log file I see the following: 2017-10-19 18:10:21.633+: starting up libvirt version: 3.3.0, qemu version: 2.9.0(openSUSE Leap 42.3), hostname: oak.local LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-system-s390x -name guest=s390_generic,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-7-s390_generic/master-key.aes -machine s390-ccw-virtio-2.9,accel=tcg,usb=off,dump-guest-core=off -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 82b4d16e-b636-447e-9fda-41d44616bce8 -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-7-s390_generic/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device virtio-scsi-ccw,id=scsi0,devno=fe.0.0002 -drive file=/dev/lvm_pda/libvirt_s390,format=raw,if=none,id=drive-virtio-disk0,cache=none,aio=native -device virtio-blk-ccw,scsi=off,devno=fe.0.,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive if=none,id=drive-scsi0-0-0-0,readonly=on -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 -netdev tap,fd=26,id=hostnet0 -device virtio-net-ccw,netdev=hostnet0,id=net0,mac=52:54:00:e8:61:7e,devno=fe.0.0001 -chardev pty,id=charconsole0 -device sclpconsole,chardev=charconsole0,id=console0 -device virtio-balloon-ccw,id=balloon0,devno=fe.0.0003 -msg timestamp=on 2017-10-19T18:10:21.701184Z qemu-system-s390x: -chardev pty,id=charconsole0: char device redirected to /dev/pts/5 (label charconsole0) 2017-10-19T18:10:21.721299Z qemu-system-s390x: terminating on signal 15 from pid 2146 (/usr/sbin/libvirtd) 2017-10-19 18:10:21.985+: shutting down, reason=shutdown >>> >>> You don't have much logging enabled, so there's not that much info. >>> What's >>> in >>> the libvirtd.log? what is the status reason for the domain? I.e. >>> output >>> of >>> `virsh domstate --reason` ? >> >> >> >> How could I increase log level? There is nothing in libvirtd.log. >> > > https://wiki.libvirt.org/page/DebugLogs Too much info for me... >> >> We are getting 'shutdown' event from the QEMU process, so this is not done >> by >> libvirt. Could you also check the qemu log now that you have debug logs >> enabled? > > 2017-10-20 13:49:12.596+: starting up libvirt version: 3.3.0, qemu > version: 2.9.0(openSUSE Leap 42.3), hostname: oak.local > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > QEMU_AUDIO_DRV=none /usr/bin/qemu-system-s390x -name > guest=s390_generic,debug-threads=on -S -object > secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-s390_generic/master-key.aes > -machine s390-ccw-virtio-2.9
Re: [libvirt-users] Need to increase the rx and tx buffer size of my interface
Hi Michal, An update to what I have already said : when I try adding although it showed me the error as mentioned, when I checked the xml again I saw that is added to the interface. The missing parameters are : queues='1' rx_queue_size='512' tx_queue_size='512' Best Regards, Ashish Kurian On Wed, Oct 25, 2017 at 5:07 PM, Ashish Kurian wrote: > Hi Michal, > > What I found was that when I restarted the machine and did a virsh edit > command to see the xml config, I see that it is was not actually changed. > This suggests why I saw 256 again after restarting. > > So now I tried again to edit the xml via virsh edit command and used the > following to set the parameters. > > queues='1' rx_queue_size='512' tx_queue_size='512'> > > > It was not accepted and I got the error saying : > > > error: XML document failed to validate against schema: Unable to validate > doc against /usr/share/libvirt/schemas/domain.rng > Extra element devices in interleave > Element domain failed to validate content > > What does this imply? I have two more other interfaces and do I have to > the same to them also? > > Btw, there are now logs generated now in the domain log or libvirtd log > > > > > > Best Regards, > Ashish Kurian > > On Wed, Oct 25, 2017 at 2:50 PM, Michal Privoznik > wrote: > >> On 10/25/2017 01:53 PM, Ashish Kurian wrote: >> > Dear Users/Developers, >> > >> > I am using a KVM Ubuntu VM as a degrader to apply specific delays to >> > incoming packets. As the delay for my packets can be higher than 7.5 >> > seconds, there is not enough buffer on my interface to buffer all the >> > packets. Therefore those overflowing packets are dropped in the machine >> and >> > not forwarded. >> > >> > When I tried to use the command ethtool -G ens8 rx 512 to increase the >> > buffer size, I get the following error. >> > >> > Cannot set device ring parameters: Operation not permitted >> > >> > I have kept the VM xml files as specified in the link : >> > https://libvirt.org/formatdomain.html. The value that I kept in my xml >> file >> > is as follows. >> > >> > >> > >> > >> > >> > > > tx_queue_size='512'> >> > > ufo='off' >> > mrg_rxbuf='off'/> >> > >> > >> > > > function='0x0'/> >> > >> > >> > >> > >> > >> > > > tx_queue_size='512'> >> > > ufo='off' >> > mrg_rxbuf='off'/> >> > >> > >> > > > function='0x0'/> >> >> So what does the qemu command line look like? You can find it in either >> libvirtd log or domain log. >> >> http://wiki.libvirt.org/page/DebugLogs >> >> Michal >> > > ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] virsh does no longer respond to commands
It has been the version available on ubuntu 16.04 lts: $ virsh --version 1.3.1 Please file a bug for me if you think it is one. On 25 Oct 2017 2:34 p.m., "Michal Privoznik" wrote: > On 10/22/2017 02:04 PM, Dominik Psenner wrote: > > Hi, > > > > after a recent live backup done with a snapshot, blockcommit failed and a > > subsequent (manual) blockjob abort got stuck. Now we are unable to do > basic > > operations on the virtual machine like if it was frozen and when issuing > > another command we see the following: > > > > $ virsh shutdown $domain > > error: Failed to shutdown domain $domain > > error: Timed out during operation: cannot acquire state change lock (held > > by remoteDispatchDomainBlockJobAbort) > > > > $ virsh blockcommit $domain --active --pivot > > error: Timed out during operation: cannot acquire state change lock (held > > by remoteDispatchDomainBlockJobAbort) > > > > $ virsh blockjob $domain --abort > > error: Timed out during operation: cannot acquire state change lock (held > > by remoteDispatchDomainBlockJobAbort) > > > > This looks like some API forgot to unset the job before returning. In > that case, restarting libvirtd is the only option. If this happened on > the latest release please do file a bug. Otherwise try with the latest > release. > > Michal > > ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] Need to increase the rx and tx buffer size of my interface
Hi Michal, What I found was that when I restarted the machine and did a virsh edit command to see the xml config, I see that it is was not actually changed. This suggests why I saw 256 again after restarting. So now I tried again to edit the xml via virsh edit command and used the following to set the parameters. It was not accepted and I got the error saying : error: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng Extra element devices in interleave Element domain failed to validate content What does this imply? I have two more other interfaces and do I have to the same to them also? Btw, there are now logs generated now in the domain log or libvirtd log Best Regards, Ashish Kurian On Wed, Oct 25, 2017 at 2:50 PM, Michal Privoznik wrote: > On 10/25/2017 01:53 PM, Ashish Kurian wrote: > > Dear Users/Developers, > > > > I am using a KVM Ubuntu VM as a degrader to apply specific delays to > > incoming packets. As the delay for my packets can be higher than 7.5 > > seconds, there is not enough buffer on my interface to buffer all the > > packets. Therefore those overflowing packets are dropped in the machine > and > > not forwarded. > > > > When I tried to use the command ethtool -G ens8 rx 512 to increase the > > buffer size, I get the following error. > > > > Cannot set device ring parameters: Operation not permitted > > > > I have kept the VM xml files as specified in the link : > > https://libvirt.org/formatdomain.html. The value that I kept in my xml > file > > is as follows. > > > > > > > > > > > >> tx_queue_size='512'> > >ufo='off' > > mrg_rxbuf='off'/> > > > > > >> function='0x0'/> > > > > > > > > > > > >> tx_queue_size='512'> > >ufo='off' > > mrg_rxbuf='off'/> > > > > > >> function='0x0'/> > > So what does the qemu command line look like? You can find it in either > libvirtd log or domain log. > > http://wiki.libvirt.org/page/DebugLogs > > Michal > ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] terminating on signal 15 from pid 2146 (/usr/sbin/libvirtd)
2017-10-24 12:58 GMT+03:00 Martin Kletzander : > On Fri, Oct 20, 2017 at 10:12:19PM +0300, Matwey V. Kornilov wrote: >> >> 2017-10-20 17:14 GMT+03:00 Matwey V. Kornilov : >>> >>> 2017-10-20 15:16 GMT+03:00 Martin Kletzander : On Fri, Oct 20, 2017 at 03:07:19PM +0300, Matwey V. Kornilov wrote: > > > 2017-10-20 14:59 GMT+03:00 Martin Kletzander : >> >> >> On Thu, Oct 19, 2017 at 09:11:00PM +0300, Matwey V. Kornilov wrote: >>> >>> >>> >>> Hello, >>> >>> I use libvirt 3.3.0 and qemu 2.9.0 >>> >>> My domain XML spec is the following: >>> >>> >>> s390_generic >>> 82b4d16e-b636-447e-9fda-41d44616bce8 >>> 1048576 >>> 1048576 >>> 1 >>> >>>hvm >>> >>> >>> >>> destroy >>> restart >>> destroy >>> >>>/usr/bin/qemu-system-s390x >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >> unit='0'/> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> The issue is that when I try to start it, it starts and shutdowns >>> immediately: >>> >>> virsh # start s390_generic >>> Domain s390_generic started >>> >>> virsh # >>> >>> In the domain log file I see the following: >>> >>> 2017-10-19 18:10:21.633+: starting up libvirt version: 3.3.0, >>> qemu >>> version: 2.9.0(openSUSE Leap 42.3), hostname: oak.local >>> LC_ALL=C >>> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin >>> QEMU_AUDIO_DRV=none /usr/bin/qemu-system-s390x -name >>> guest=s390_generic,debug-threads=on -S -object >>> >>> >>> >>> secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-7-s390_generic/master-key.aes >>> -machine s390-ccw-virtio-2.9,accel=tcg,usb=off,dump-guest-core=off -m >>> 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid >>> 82b4d16e-b636-447e-9fda-41d44616bce8 -display none -no-user-config >>> -nodefaults -chardev >>> >>> >>> >>> socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-7-s390_generic/monitor.sock,server,nowait >>> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc >>> -no-shutdown -boot strict=on -device >>> virtio-scsi-ccw,id=scsi0,devno=fe.0.0002 -drive >>> >>> >>> >>> file=/dev/lvm_pda/libvirt_s390,format=raw,if=none,id=drive-virtio-disk0,cache=none,aio=native >>> -device >>> >>> >>> >>> virtio-blk-ccw,scsi=off,devno=fe.0.,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 >>> -drive if=none,id=drive-scsi0-0-0-0,readonly=on -device >>> >>> >>> >>> scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 >>> -netdev tap,fd=26,id=hostnet0 -device >>> >>> >>> >>> virtio-net-ccw,netdev=hostnet0,id=net0,mac=52:54:00:e8:61:7e,devno=fe.0.0001 >>> -chardev pty,id=charconsole0 -device >>> sclpconsole,chardev=charconsole0,id=console0 -device >>> virtio-balloon-ccw,id=balloon0,devno=fe.0.0003 -msg timestamp=on >>> 2017-10-19T18:10:21.701184Z qemu-system-s390x: -chardev >>> pty,id=charconsole0: char device redirected to /dev/pts/5 (label >>> charconsole0) >>> 2017-10-19T18:10:21.721299Z qemu-system-s390x: terminating on signal >>> 15 >>> from pid 2146 (/usr/sbin/libvirtd) >>> 2017-10-19 18:10:21.985+: shutting down, reason=shutdown >>> >> >> You don't have much logging enabled, so there's not that much info. >> What's >> in >> the libvirtd.log? what is the status reason for the domain? I.e. >> output >> of >> `virsh domstate --reason` ? > > > > How could I increase log level? There is nothing in libvirtd.log. > https://wiki.libvirt.org/page/DebugLogs >>> >>> >>> Too much info for me... >>> > > We are getting 'shutdown' event from the QEMU process, so this is not done > by > libvirt. Could you also check the qemu log now that you have debug logs > enabled? 2017-10-20 13:49:12.596+: starting up libvirt version: 3.3.0, qemu version: 2.9.0(openSUSE Leap 42.3), hostname: oak.local LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-system-s390x -name guest=s390_generic,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-s390_generic/master-key.aes -machine s390-ccw-virtio-2.9,accel=tcg,usb=off,dump-guest-core=off -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 82b4d16e-b636-447e-9fda-41d44616bce8 -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,pat
[libvirt-users] question about how to set rng device on vm
Hi Amos, I'm a libvirt QE, and I can not understand the setting on libvirt.org for rng device. Could you please help to explain a little? (The xml in https://libvirt.org/formatdomain.html#elementsRng) /dev/random ** * * How did it work with source mode='bind' and source mode='connect' together? which process on guest or host will act as server part, which for client part? One detail example: start a vm with below device, and no egd running on host: qemu command line: -chardev udp,id=charrng0,host=127.0.0.1,port=1234,localaddr=,localport=1234 -object rng-egd,id=objrng0,chardev=charrng0 -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x9 In my understanding the purpose of the rng device on guest is to provide guest a hardware RNG device /dev/hwrng which obtain seeds from the host. The source can be /dev/random on host, then the xml will be: /dev/random can be hardware on host: /dev/hwrng can be edg daemon running on host: (on host, there should be a egd daemon running on tcp 127.0.0.1:1234 # egd.pl --debug-client --nofork localhost:1234) Thank you very much and look forward for your response! --- Best Regards, Yalan Zhang IRC: yalzhang Internal phone: 8389413 ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] Need to increase the rx and tx buffer size of my interface
On 10/25/2017 01:53 PM, Ashish Kurian wrote: > Dear Users/Developers, > > I am using a KVM Ubuntu VM as a degrader to apply specific delays to > incoming packets. As the delay for my packets can be higher than 7.5 > seconds, there is not enough buffer on my interface to buffer all the > packets. Therefore those overflowing packets are dropped in the machine and > not forwarded. > > When I tried to use the command ethtool -G ens8 rx 512 to increase the > buffer size, I get the following error. > > Cannot set device ring parameters: Operation not permitted > > I have kept the VM xml files as specified in the link : > https://libvirt.org/formatdomain.html. The value that I kept in my xml file > is as follows. > > > > > >tx_queue_size='512'> >mrg_rxbuf='off'/> > > >function='0x0'/> > > > > > >tx_queue_size='512'> >mrg_rxbuf='off'/> > > >function='0x0'/> So what does the qemu command line look like? You can find it in either libvirtd log or domain log. http://wiki.libvirt.org/page/DebugLogs Michal ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] virsh + remote VirtualBox
On 10/24/2017 03:40 PM, Konstantin Suvorov wrote: > Hello, > > I have the following setup: > 1. MacOS host with VirtualBox installed > 2. Ubuntu 16.04 host with libvirt installed > > What I try to do: > Manage VMs executed inside VirtualBox on host 1 with libvirt tools from > host 2. > > I have vboxwebsrv up and running on my MacOS host. > I can successfully manage VMs remotely (e.g. with phpvirtualbox). > > But libvirt (virsh in particular) doesn't work. > > Reading debug logs, manuals and numerous internet threads leads me to a > conclusion, that libvirt does not support remote connection to VirtualBox > directly and only via libvirtd daemon installed on the same remote host as > VirtualBox. Is this correct? > > If my assumption is correct, why is that so? Why libvirt can't manage > remote VirtualBox directly? Legal reasons. We had to make VirtualBox driver local only. We can't ship libvirtd with VirtualBox enabled. Sorry. Maybe their license had changed meanwhile, but I'm not sure about it. Michal ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] virsh does no longer respond to commands
On 10/22/2017 02:04 PM, Dominik Psenner wrote: > Hi, > > after a recent live backup done with a snapshot, blockcommit failed and a > subsequent (manual) blockjob abort got stuck. Now we are unable to do basic > operations on the virtual machine like if it was frozen and when issuing > another command we see the following: > > $ virsh shutdown $domain > error: Failed to shutdown domain $domain > error: Timed out during operation: cannot acquire state change lock (held > by remoteDispatchDomainBlockJobAbort) > > $ virsh blockcommit $domain --active --pivot > error: Timed out during operation: cannot acquire state change lock (held > by remoteDispatchDomainBlockJobAbort) > > $ virsh blockjob $domain --abort > error: Timed out during operation: cannot acquire state change lock (held > by remoteDispatchDomainBlockJobAbort) > This looks like some API forgot to unset the job before returning. In that case, restarting libvirtd is the only option. If this happened on the latest release please do file a bug. Otherwise try with the latest release. Michal ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
[libvirt-users] Need to increase the rx and tx buffer size of my interface
Dear Users/Developers, I am using a KVM Ubuntu VM as a degrader to apply specific delays to incoming packets. As the delay for my packets can be higher than 7.5 seconds, there is not enough buffer on my interface to buffer all the packets. Therefore those overflowing packets are dropped in the machine and not forwarded. When I tried to use the command ethtool -G ens8 rx 512 to increase the buffer size, I get the following error. Cannot set device ring parameters: Operation not permitted I have kept the VM xml files as specified in the link : https://libvirt.org/formatdomain.html. The value that I kept in my xml file is as follows. After I saved the xml and redefined the machine and started it up, I checked to see if the buffers are increased. I still see that the buffers are as follows. Ring parameters for ens9: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: *256* RX Mini: 0 RX Jumbo: 0 TX: *256* How can I increase the buffer on my KVM VM? Best Regards, Ashish Kurian ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Re: [libvirt-users] net interface direct - no IP communication between guest & host
On Tue, Oct 24, 2017 at 03:52:52PM +0100, lejeczek wrote: > hi everyone > > I wonder why, when I attach an interface like this: > > virsh # attach-interface --domain win10Ent --type direct --source nm-team > --config --persistent --model virtio > > host cannot ip ping the guest and vice versa, yet guest can ping other > nodes(outside of its host, connected via phys net via a switch) > > Would you know? > > I thought maybe routing on the host, so I did: > $ route add -host 192.168.2.222 dev nm-team > > but to no avail. > > I wonder if it's lower layer, arp kernel bits? I expect you'll be hitting this unfortunate gotcha: https://wiki.libvirt.org/page/TroubleshootMacvtapHostFail Regards, Daniel -- |: https://berrange.com -o-https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o-https://fstop138.berrange.com :| |: https://entangle-photo.org-o-https://www.instagram.com/dberrange :| ___ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users