Kvm notes sandbox
Перейти к навигации
Перейти к поиску
Good links
Host setup
Add to host cmdline:
intel_iommu=on console=ttyS0
Install kvm patterns:
# zypper in -t pattern kvm_server # zypper in -t pattern kvm_tools
Forward kvm host qemu vnc with ssh
$ ssh -L 5900:localhost:5900 <kvm-host-ip> -N
Create guest
virt-install \ --virt-type kvm \ --name basebox_opensuse42_2 \ --description "My basebox openSUSE 42.2" \ --os-type=Linux \ --os-variant=opensuse42.2 \ --ram=2048 --vcpus=2 \ --disk path=/home/kvm/images/basebox_opensuse42_2.img,device=disk,bus=virtio,size=20,sparse=true,format=raw,cache=none \ --disk path=/home/kvm/openSUSE-Leap-42.2-DVD-x86_64.iso,device=cdrom \ --graphics spice,listen=172.16.1.78 \ --network bridge:br0
Virsh
List all guests even not started
# virsh list --all
Guest migration
Dump config
# virsh dumpxml --migratable <guest-name> >guest-name.xml
Restore guest config on new host
# virsh define guest-name.xml
Edit guest with virsh
# virsh edit guest-name
Attach block device to guest
Create xml config for example vda.xml
<disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none'/> <source dev='/dev/sda5'/> <target dev='vda' bus='virtio'/> </disk>
Permanently attach block device to already existing domain
# virsh attach-disk <domain-name> vda.xml --persistent
Connect to console with virsh
Add serial console to guest, virsh edit guest
<devices> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console>
connect to guest console:
# virsh console guest-name
Clonning guest
It it possible to clone with virsh dumpxml, but dont forget to change uuid, mac and vm name.
KVM basebox notes
- Add console=ttyS0 into bootloader cmdline for virsh console to work. (require syslinux package)
- Install package rsyslog (this probably will remove systemd-logger package) and start rsyslog.service