Kvm notes sandbox: различия между версиями
Zombah (обсуждение | вклад) м (add amd iommu) |
Zombah (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 10: | Строка 10: | ||
</pre> | </pre> | ||
Add to host cmdline GRUB_CMDLINE_LINUX_DEFAULT in | Install kvm patterns: <br/> | ||
<pre> | |||
# zypper in -t pattern kvm_server | |||
# zypper in -t pattern kvm_tools | |||
# zypper in spice-vdagent | |||
</pre> | |||
===Host IOMMU=== | |||
Add to host cmdline 'GRUB_CMDLINE_LINUX_DEFAULT' in ''/etc/default/grub'' file: <br/> | |||
<pre> | <pre> | ||
intel_iommu=on console=ttyS0 | intel_iommu=on console=ttyS0 | ||
Строка 20: | Строка 27: | ||
</pre> | </pre> | ||
===Host I/O Scheduler=== | |||
IBM KVM best practices guide recomends to use Deadline scheduler. <br /> | |||
https://www.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpblockioperf.htm | |||
Add to 'GRUB_CMDLINE_LINUX_DEFAULT' inside ''/etc/default/grub'': <br /> | |||
<pre> | <pre> | ||
elevator=deadline | |||
</pre> | </pre> | ||
Текущая версия от 21:14, 31 октября 2017
Good links
Host setup
Remember to enable virtualization inside bios:
for hp proliats it is:
Advanced options -> Processor Options -> Intel(R) Virtualization Technology and No-Excecute Memory Protection
Install kvm patterns:
# zypper in -t pattern kvm_server # zypper in -t pattern kvm_tools # zypper in spice-vdagent
Host IOMMU
Add to host cmdline 'GRUB_CMDLINE_LINUX_DEFAULT' in /etc/default/grub file:
intel_iommu=on console=ttyS0
or for AMD host system:
amd_iommu=on console=ttyS0
Host I/O Scheduler
IBM KVM best practices guide recomends to use Deadline scheduler.
https://www.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpblockioperf.htm
Add to 'GRUB_CMDLINE_LINUX_DEFAULT' inside /etc/default/grub:
elevator=deadline
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
Test disk performance
Test with iozone:
$ iozone -a -i0 -i1 -i2 -s512M -r64k
Test with dd:
# dd if=/dev/sda1 of=/dev/null bs=1M count=1024 iflag=direct skip=1024 # dd if=/dev/zero of=test bs=1M count=1024 oflag=direct