====== KVM Command Line ======
"virsh" shell for KVM.
=== List All Domain on KVM ===
virsh list --all
=== Define or use .xml ===
virsh define
=== Start KVM ===
virsh start
=== Edit Guest .xml ===
virsh edit xyz
=== List VNC Information ===
virsh vncdisplay xyz
[[http://libvirt.org/formatdomain.html|Domain Format in KVM]]
==== Test your bootable USB on kvm ====
In order to test your USB using KVM use following command.
qemu-kvm -hdb
In my case device was "/dev/sdb".
==== Converting Existing Image ====
=== Converting VMWARE image for KVM ===
use following command.
qemu-img convert own_Cloud.vmdk -O qcow2 ownCloud.qcow
=== Converting .ova to KVM image ===
what is ova - Open Virtualization Format
[[http://communities.vmware.com/community/vmtn/server/vsphere/automationtools/ovf | Download - Open Virtualization Format Tool ]]
Install it, which give you command "ovftool".
ovftool -tt=vmx Amazon-EC2-VM-Import-Connector.ova amazon_kvm
converting .ova is just easy\\
some times ovftool failing\\
If Above does not work just do
tar -xvf Amazon-EC2-VM-Import-Connector.ova
Now follow [[ #Converting VMWARE image for KVM | Converting VMWARE image for KVM ]] ==== Create New KVM Guest using existing Image ====
virt-install --name=own_cloud --arch=x86_64 \
--vcpus=1 --ram=512 --os-type=linux --os-variant=sles11 \
--hvm --connect=qemu:///system --network bridge:br0 \
--import --disk path=/home/vmware/ownCloud_in_a_box-1.0.4/ownCloud.qcow \
--accelerate --vnc --noautoconsole --keymap=us
==== Backup ====
=== Creating snapshot of Machine ===
**NOTE :** \\
- This will turn off your Guest.\\
- it will create snapshot in current working directory.\\
- Use `virsh pwd` to check your current working directory.
virsh save
==== Quick Command Ref. ====
help Prints basic help information.
list Lists all guests.
dumpxml Outputs the XML configuration file for the guest.
create Creates a guest from an XML configuration file and starts the new guest.
start Starts an inactive guest.
destroy Forces a guest to stop.
define Outputs an XML configuration file for a guest.
domid Displays the guest's ID.
domuuid Displays the guest's UUID.
dominfo Displays guest information.
domname Displays the guest's name.
domstate Displays the state of a guest.
quit Quits the interactive terminal.
reboot Reboots a guest.
restore Restores a previously saved guest stored in a file.
resume Resumes a paused guest.
save Save the present state of a guest to a file.
shutdown Gracefully shuts down a guest.
suspend Pauses a guest.
undefine Deletes all files associated with a guest.
migrate Migrates a guest to another host.
setmem Sets the allocated memory for a guest.
setmaxmem Sets maximum memory limit for the hypervisor.
setvcpus Changes number of virtual CPUs assigned to a guest.
vcpuinfo Displays virtual CPU information about a guest.
vcpupin Controls the virtual CPU affinity of a guest.
domblkstat Displays block device statistics for a running guest.
domifstat Displays network interface statistics for a running guest.
attach-device Attach a device to a guest, using a device definition in an XML file.
attach-disk Attaches a new disk device to a guest.
attach-interface Attaches a new network interface to a guest.
detach-device Detach a device from a guest, takes the same kind of XML descriptions as command attach-device.
detach-disk Detach a disk device from a guest.
detach-interface Detach a network interface from a guest.
==== FU Commands ====
=== Create Disk ===
create disk of size 10G
qemu-img create -f raw vdisk.img 10G
OR
dd if=/dev/zero of=vdisk.img bs=1G count=0 seek=[NUMBER_OF_GB]
==== How to allow network access to KVM Guest ====
Modify guest.xml file and listen variable.
==== Extract folder from KVM Guest Image ====
This appears to be the far easy solution than I thought.\\
[[http://libguestfs.org/virt-copy-out.1.html|Link to official Document]]
For RHEL you require the following packages installed.
* libguestfs-tools
* libguestfs-xfs # if guest filesystem is XFS.
mkdir test
virt-copy-out -a machine2.qcow2 /metadata/testing/users test/
==== Image File explorer ====
This is a simple way to extract or access files.\\
Scan and assign the dev node.
losetup --partscan --find --show sdcard.img
List all the block devices, including newly scanned.
lsblk --fs
Mounting the file system
mount /dev/loop0p2 /mnt/sdcard
Once unmounted remove the lo drive.
losetup --detach-all