Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20以后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,因此相对于Xen,其核心源码不多。KVM目前已成为学术界的主流VMM之一。python
KVM的虚拟化须要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的彻底虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的彻底虚拟化。但Xen自己有本身的进程调度器,存储管理模块等,因此代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。linux
1.肯定机器有VTshell
终端输入命令:vim
grep vmx /proc/cpuinfo (INTEL芯片) grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo网络
若是flags: 里有vmx 或者svm就说明支持VT;若是没有任何的输出,说明你的cpu不支持,将没法成功安装KVM虚拟机。oop
2. 确保BIOS里开启VTui
Intel(R) Virtualization Tech [Enabled]spa
若有必要,还需在BIOS中开启VT-drest
3. 确保内核版本较新,支持KVMcode
用uname –r查看内核版本,若是在2.6.20如下的linux版本,需升级内核。
安装必要的软件包
yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v installacpid
启动服务并加入开机自启动
/etc/init.d/messagebus start /etc/init.d/haldaemon start /etc/init.d/libvirtd start /etc/init.d/acpid start chkconfig messagebus on chkonfig haldaemon on chkconfig libvirtd on chkconfig acpid on
检测安装是否成功
virsh list
kvm模块
/sbin/lsmod | grep kvm kvm_intel 55656 16 kvm 345460 1 kvm_intel
关闭NetworkManager
/etc/init.d/NetworkManager stop Stopping NetworkManager daemon: [ OK ] chkconfig NetworkManager off
配置桥接网络
#br0 vim /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.83 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 #eth0 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BRIDGE=br0 /etc/init.d/network restart #虚拟机上网 echo 1 > /proc/sys/net/ipv4/ip_forward
查看网络
ifconfig br0 Link encap:Ethernet HWaddr F0:92:1C:F2:C7:D0 inet addr:192.168.1.83 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f292:1cff:fef2:c7d0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1021912 errors:0 dropped:36 overruns:0 frame:0 TX packets:522545 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:131702194 (125.6 MiB) TX bytes:46325194 (44.1 MiB) eth0 Link encap:Ethernet HWaddr F0:92:1C:F2:C7:D0 inet6 addr: fe80::f292:1cff:fef2:c7d0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1114980 errors:0 dropped:15 overruns:0 frame:0 TX packets:522796 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:174122406 (166.0 MiB) TX bytes:48666660 (46.4 MiB) Interrupt:20 Memory:f7c00000-f7c20000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1083 errors:0 dropped:0 overruns:0 frame:0 TX packets:1083 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:363451 (354.9 KiB) TX bytes:363451 (354.9 KiB) virbr0 Link encap:Ethernet HWaddr 52:54:00:AD:B6:0D inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
brctl show bridge name bridge id STP enabled interfaces br0 8000.f0921cf2c7d0 no eth0 virbr0 8000.525400adb60d yes virbr0-nic