Kvm

From Halfface
Jump to navigation Jump to search

prepare environment

# Is environment prepared for viritutalization.
egrep '(vmx|svm)' /proc/cpuinfo
vmx - (intel) svm - (amd)

Create disk image.

qemu-img create -f qcow2 fedora20.halfface.se.qcow2 50G

investigate qcow2

qemu-img info $machine.qcow2
qemu-img info $machine.qcow2 --force-share

list all domain blocks

virsh domblklist $vm

list info about block device

virsh domblkstat $vm vda --human

List short info about vm

virsh dominfo $vm

add ram on the fly

virsh setmem --domain $VM --size 1500M --current

Install software

yum install -y qemu kvm SDL bridge-utils tunctl

install virtual machine.

virt-install --connect qemu:///system --name Fedora_16 --ram 2048 --vcpus=1 -f /ssd/libvirt/Fedora_16.qcow2 -s 30 -c /install/system/linux/fedora/16/Fedora-16-x86_64-netinst.iso --vnc --noautoconsole --hvm

delete virtual machine.

virsh undefine kvm_1

list libvirt storage pools

virsh pool-list --all

connect to virtual machine.

virt-viewer Fedora_16

On remote machine over ssh

virt-viewer --connect qemu+ssh://root@anden.halfface.se/system win8

convert file format

# img to qcow2
qemu-img convert -cp -O qcow2 kvm_1.img kvm_1.qcow2
# vmdk to qcow2
qemu-img convert disk0.vmdk -O qcow2 bigbluebutton.qcow2

snapshot

# Create snapshot
virsh snapshot-create SL_63
# List snapshots
virsh snapshot-list SL_63
# Delete snapshot
virsh snapshot-delete SL_63 1346734871
# Revert to snapshot
snapshot-revert
virsh snapshot-revert fedora20_2.halfface.se 1414336149

List info about qcow2 image.

qemu-img info sms-app02.qcow2 
image: sms-app02.qcow2
file format: qcow2
virtual size: 100G (107374182400 bytes)
disk size: 107G
cluster_size: 65536
Snapshot list:
ID        TAG                 VM SIZE                DATE       VM CLOCK
2         snapshot1                 0 2018-04-23 18:50:15   00:00:00.000
4         pre-patch                 0 2018-04-24 10:34:05   00:00:00.000
Format specific information:
   compat: 1.1
   lazy refcounts: false
   refcount bits: 16
   corrupt: false

Delete snapshot

qemu-img snapshot -d 4 sms-app02.qcow2

list information

# Simple information about domain.
virsh dominfo fedora_20_raid1
# View information about domain.
virsh dumpxml fedora_20_raid1 | less

change value of virtual machine

virsh autostart virtual_machine_name

disk handling

# Detach one of the disks.
virsh detach-disk fedora_20_raid1 vda
# Attach disk
virsh attach-disk fedora_20_raid1 /ssd/libvirt/fedora20_1.qcow2 vda --sourcetype file --subdriver qcow2
virsh attach-disk host /var/lib/libvirt/images/host-#.qcow2 vdb --driver qemu --subdriver qcow2 --targetbus virtio --persistent
# Copy kvm machine.
virsh dumpxml <domain> > domain.xml
vi domain.xml
virsh create domain.xml
# Eject cdrom.
virsh change-media www.halfface.se hda --eject

duplicate move machine

# You cannot "clone" a running vm, stop it.  suspend and destroy
# are also valid options for less graceful cloning
virsh shutdown this.vm

# copy the storage.
cp /var/lib/libvirt/images/{this-vm,that-vm}.img

# dump the xml for the original
virsh dumpxml this-vm > /tmp/that-vm.xml

# hardware addresses need to be removed, libvirt will assign
# new addresses automatically
sed -i /uuid/d /tmp/that-vm.xml
sed -i '/mac address/d' /tmp/that-vm.xml

# and actually rename the vm: (this also updates the storage path)
sed -i 's/this-vm/that-vm/g' /tmp/that-vm.xml

# finally, create the new vm
virsh define /tmp/that-vm.xml
virsh start this-vm
virsh start that-vm

virt-convert

Convert vmware image to kvm.

virt-convert . --disk-format qcow2 --destination .

drivers

Drivers for other os and enhancements.

https://www.spice-space.org/download.html

access via spice

remote-viewer spice://10.151.105.122:5900

virsh capabilities

currently supported machine types.

virsh capabilities

extend qcow2 image

Inspect storage

virsh domblklist almalinux8.4

Inspect storage

virsh domblkinfo almalinux8.4 /var/lib/libvirt/images/almalinux8.4.qcow2

Make storage to new size.

virsh blockresize almalinux8.4 /var/lib/libvirt/images/almalinux8.4.qcow2 64G

Inspect storage

qemu-img info almalinux8.4.qcow2 --force-share

Create partition from free space.

fdisk /dev/vda
pvcreate /dev/vda3
vgextend almalinux /dev/vda3
lvextend -l +100%FREE /dev/mapper/almalinux-root
resize2fs /dev/mapper/almalinux-root
xfs_growfs /dev/mapper/almalinux-root