KVM(一) Centos 安装KVM

简介:

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

一.安装准备

1.确定机器有VT

终端输入命令:

grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)

不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo

如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。

2. 确保BIOS里开启VT

Intel(R) Virtualization Tech [Enabled]

如有必要,还需在BIOS中开启VT-d

3. 确保内核版本较新,支持KVM

用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


你可能感兴趣的:(kvm,虚拟化)