Here it is … “Mastering KVM Virtualization ( Second Edition)” ..

mkvm_second_edition

After block buster first edition (https://amzn.to/2TqNGLr) of `Mastering KVM Virtualization` here it is! We are really happy to announce the availability of our book about KVM virtualization since Oct 23rd of this year! We have been receiving many requests about updating the content to latest and also to add some topics of interest in general . We heard you! and finally its available ! Our effort to share knowledge on KVM virtualization was well received in the market with the first edition of this book. Since the release, lots of emails hit our inbox with the very positive feedback. It also kept us motivated for dedicating extra time on the second edition eventhough the experience tell us that, writing a book is tough especially when you are in a job and you have a family to take care! It need a bold mindset to devote time from the hours you get to relax outside your daily job. We have to admit that, we were assimilated to this with our first book and could manage to roll the second edition over. Hope this edition meet the requirement of knowing more about the KVM virtualization, its internal working mechanism, and how it can be integrated in different deployments and various products. Please let us know how we did on this attempt..

Also I would like to mention that, we have some free copies available for this edition if you are interested, hit me here with the comment if you would like to receive one.

Happy Learning!

Amazon links:
https://amzn.to/3klWvSy
https://amzn.to/37wVQtU

Announcing Open Source Virtualization India meetup group

We are glad to announce the Opensource Virtualization India meetup group!! Its been long time we are answering/discussing virt related queries via emails or irc, so the effort to bring virtualizers under one group.

This is a forum which discuss about various opensource Llinux virtualization technologies like Xen, KVM, Ovirt..and the friends libvirt, virt-manager..etc

If you would like to be part of it, please join http://www.meetup.com/open-virtualization-india/

We have scheduled 3 meetups ( Bangalore, Pune, Aurangabad) for near future, yet to decide the exact dates though.


Pune – Organizer: Anil Vettathu

Aurangabad – Organizer: Ashutosh Sudhakar Bhakare

Please let me know if you would like to volunteer for any of the meetups in your area.

** Welcome Virtualizers!! **

How to list qemu device options using command line in KVM environment..

[Back to blogging after busy season of ….]

Any way, its a very common query on qemu/kvm and most of the people dont know .. It is really useful to know which options are available with some of the devices and qemu-kvm binary…

Here is an example on the same: You have to replace your qemu binary path accordingly

First of all if you want to list the devices available for the qemu binary, please list it using :

[terminal]
[root@node ~]# /usr/bin/qemu-kvm -device ?
name “pci-bridge”, bus PCI
name “virtio-scsi-pci”, bus PCI, alias “virtio-scsi”
name “virtio-balloon-pci”, bus PCI
name “virtio-serial-pci”, bus PCI, alias “virtio-serial”
name “virtio-net-pci”, bus PCI
name “virtio-blk-pci”, bus PCI, alias “virtio-blk”
name “i82562”, bus PCI

*****

[/terminal]

If you want to list specific options of a particular device, view it by invoking in similar way as below.. Here I used “virtio-net-pci” as an example..

[terminal]
[root@node ~]# /usr/bin/qemu-kvm -device virtio-net-pci,?

virtio-net-pci.ioeventfd=on/off
virtio-net-pci.__com_redhat_macvtap_compat=on/off
virtio-net-pci.x-__com_redhat_rhel620_compat=on/off
virtio-net-pci.vectors=uint32
virtio-net-pci.indirect_desc=on/off
virtio-net-pci.event_idx=on/off
virtio-net-pci.csum=on/off
virtio-net-pci.guest_csum=on/off
virtio-net-pci.gso=on/off
virtio-net-pci.guest_tso4=on/off
virtio-net-pci.guest_tso6=on/off
virtio-net-pci.guest_ecn=on/off
virtio-net-pci.guest_ufo=on/off
virtio-net-pci.host_tso4=on/off
virtio-net-pci.host_tso6=on/off
virtio-net-pci.host_ecn=on/off
virtio-net-pci.host_ufo=on/off
virtio-net-pci.mrg_rxbuf=on/off
virtio-net-pci.status=on/off
virtio-net-pci.ctrl_vq=on/off
virtio-net-pci.ctrl_rx=on/off
virtio-net-pci.ctrl_vlan=on/off
virtio-net-pci.ctrl_rx_extra=on/off
virtio-net-pci.ctrl_guest_offloads=on/off
virtio-net-pci.ctrl_mac_addr=on/off
virtio-net-pci.mac=macaddr
virtio-net-pci.vlan=vlan
virtio-net-pci.netdev=netdev
virtio-net-pci.bootindex=int32
virtio-net-pci.x-txtimer=uint32
virtio-net-pci.x-txburst=int32
virtio-net-pci.tx=string
virtio-net-pci.addr=pci-devfn
virtio-net-pci.romfile=string
virtio-net-pci.rombar=uint32
virtio-net-pci.multifunction=on/off
[/terminal]

The same way you can list available CPUs and Machine types

-M ?
-cpu ?

For ex:
[terminal]
[root@node ~]# /usr/bin/qemu-kvm -cpu ?
x86 Opteron_G5 AMD Opteron 63xx class CPU
x86 Opteron_G4 AMD Opteron 62xx class CPU
x86 Opteron_G3 AMD Opteron 23xx (Gen 3 Class Opteron)
x86 Opteron_G2 AMD Opteron 22xx (Gen 2 Class Opt
..

[/terminal]

N-Port ID Virtualization or NPIV in virtualization environment ( libvirt, kvm space) Or Assign a lun directly to a VM/guest

I was thinking to write about NPIV long time back and I denied myself till now. Maybe because, it was almost incomplete from libvirt layer. How-ever I can’t do that more, especially after receiving lots of emails on this subject, so here it is: To write about NPIV, I should share some idea about the …

Read more

A vdsm hook ( macbind) to attach given mac address to a different bridge or openvswitch bridge .

It seemed to be a requirement to attach a VM nic to a different bridge than the currently defined bridge. Also, ovirt is not compatible with openvswitch to pick those bridges and attach a VM nic. I have written a vdsm hook which will help you to achieve this. The functionality has been pushed to …

Read more

Error starting Virtual Machine Manager: No D-BUS daemon running in fedora

Some days back I was trying to start #virt-manager application from my fedora 18 system and got the error : The error details looked : Error starting Virtual Machine Manager: No D-BUS daemon running [terminal] Traceback (most recent call last): File “/usr/share/virt-manager/virt-manager.py”, line 402, in <module> main() File “/usr/share/virt-manager/virt-manager.py”, line 333, in main options.testfirstrun) File …

Read more

How to share ‘a disk’ to more than one VM using libvirt? Or What ‘sharable’ flag do in libvirt ?

Libvirt provides support for ‘sharing a disk with mulitple VMs’, even virt-manager utililty has the support for it. How-ever there is a common misunderstanding that, once you enable ‘sharable’ it is done and you can concurrently write data to it. Please note that, the <shareable/> flag tells libvirt that the disk will be *concurrently* accessed …

Read more

Is it possible to do online resizing of guest block devices ( Or without shutdown ?)

Today I got this question, Is it possible to resize the guest block device without shutting down the guest? Or in another way, Is it possible to do online resizing of guest block devices ? The answer was ‘YES‘, it is possible with a switch called ‘blockresize’ of ‘virsh’ command : Below example would illustrate …

Read more

QMP ( qemu monitor protocol ) and Different ways of accessing it

The QEMU Monitor Protocol (QMP) is a JSON-based protocol which allows applications to communicate with a QEMU instance. Read more about QMP here :http://wiki.qemu.org/QMP Its a client server architecture where the data can be exchanged. The monitor protocol is really useful for debugging, experimenting and also useful for collecting statistics and for fetching data about …

Read more

Validate hypervisor driver capabilities using virt-host-validate in fedora

libvirt-client package provides a binary called ‘virt-host-validate’. This tool validates that the host is configured in a suitable way to run libvirt hypervisor drivers. If invoked without any arguments it will check support for all hypervisor drivers it is aware of. Optionally it can be given a particular   hypervisor type (‘qemu’ or ‘lxc’) to restrict …

Read more