标签:kvm
在安装虚拟化服务器时,我们先介绍以下几个重要组件:当LINUX加载KVM内核模块时(kvm.ko),那么它就会转换为一个虚拟化的服务器(hyervisor),它也提供了虚拟化的能力和指定的处理模块, kvm-inter.ko 或kvm-amd.ko
是一个开源的主机仿真器,它主要是仿真那些硬件,就像模拟器一样。
由于以上两个QEMU仿真硬件时速度可能有点慢,KVM又相比QEMU的相对快一点,那么如何将两者结合在一起?所以出来了一个叫做qemu-kvm。qemu-kvm可以直接和KVM模块交互和安全在CPU上执行指令,而不再需要中间的转换。
libvirt它是可以调用qemu-kvm对guest 进行管理。为什么qemu-kvm可以管理,还要用libvirt去调用qemu-kvm来管理而不直接用qemu-kvm管理呢。现对Libvirt作详细解释:
libvrit是位于用户和hypervisor之间的API库。 并且它支持几乎市面上所有主流虚拟化。
KVM/QEMU Linux Hypervisor
Xen Hypervisor on Linux 和 Solaris hosts
LXC Linux Container system
OpenVZ Linux Container system
UserMode Linux paravirtualized kernel
VirtualBox Hypervisor
Vmware ESX 和GSX hypervisors
VMware Workstation 和Player Hypervisors
Microsoft Hyper-V Hypervisor
IBM PowerVM Hypervisor
Parallels Hypervisor
Bhyve Hypervisor
下面的图可以很好的说明用户,Libvirt和qemu-kvm之间的关系。
[root@localkvm-1 ~]# grep --color -Ew ‘svm|vmx|lm‘ /proc/cpuinfo
AMD CPU对应的虚拟化是AMD-V,Inter 对应的虚拟化技术是VT-X
[root@localkvm-1 ~]# lsmod | grep kvm
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
也可以直接安装虚拟化的组,安装命令: yum groupinstall "virtualization" 但不建议,我们用到什么功能装什么包即可。
(校验系统的配置)
下面有一个警告的,不太符合virt的能力,需要我们在kernel中开启。
vi /etc/default/grub
GRUB_CMDLINE_LINUX="nouveau.modeset=0 rd.driver.blacklist=nouveau nomodeset rhgb quiet xhci-hcd.quirks=262144 kvm-intel.nested=1 intel_iommu=on"
我们再次进行校验:
virsh命令下面还有很多分类。我们这里只讲下比较常用的分类命令。
[root@localkvm-1 ~]# virsh nodeinfo
查看我们的虚拟机最大可以支持多少个CPU:
[root@kvmHOST ~]# virsh domcapabilities | grep -i max
<vcpu max=‘255‘/>
查看虚拟机在host上可以使用的设备类型:
[root@kvmHOST ~]# virsh domcapabilities | grep diskDevice -A 5
<enum name=‘diskDevice‘>
<value>disk</value>
<value>cdrom</value>
<value>floppy</value>
<value>lun</value>
</enum>
报错信息:virt-manager:2434): Gtk-WARNING **: cannot open display:
这是由于缺少x11图形界面转发。
解决方法:yum install xorg-x11-drv*
然后断开我们的终端连的,重新连接一次,执行以下命令:
[root@localkvm-1 ~]# virt-manager
显示如下图形:
标签:kvm
原文地址:http://blog.51cto.com/aishangwei/2124487