KVM通俗的说就是一台服务器当多台用,详细介绍去百度和谷歌。

首先查看服务器是否支持虚拟化

[root@KVM ~]# grep -E '(vmx|svm)' /proc/cpuinfo --color
反馈如下:
  flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov p    at pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm     constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pcl    mulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse    4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm arat epb xsave    opt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms

备注:如果是使用VMware测试搭建,需要开启虚拟化支持:右击虚拟机-设置-处理器-虚拟化引擎首选模式为Intel VT-x/EPT 或 AMD-V/RVI,并勾选虚拟化"Intel VT-x/EPT 或 AMD-V/RVI",之后内存最好大于2G,CPU最好大于2.  
  
  
安装阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum makecache

安装KVM并检查模块
yum install qemu-kvm -y
[root@KVM ~]# lsmod | grep kvm
kvm_intel              54285  0 
kvm                   333172  1 kvm_intel


安装管理工具
yum install virt-manager python-virtinst qemu-kvm-tools -y
yum install libvirt libvirt-python -y


物理机配置桥接网卡
[root@KVM network-scripts]# cat ifcfg-br0 
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none(也可以设置成dhcp,按需配置)
DNS2=114.114.114.114
DNS1=202.106.0.20
IPADDR=172.16.10.189
NETMASK=255.255.255.0
GATEWAY=172.16.10.1

[root@KVM network-scripts]# cat ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE=br0


重启网络服务
service network restart
开启路由转发
查看完成后网络配置
[root@KVM ~]# ifconfig
br0       Link encap:Ethernet  HWaddr 70:E2:84:08:EB:AE  
          inet addr:172.16.10.189  Bcast:172.16.10.255  Mask:255.255.255.0
          inet6 addr: fe80::72e2:84ff:fe08:ebae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:143000 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44349 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:10882563 (10.3 MiB)  TX bytes:16649590 (15.8 MiB)

eth0      Link encap:Ethernet  HWaddr 70:E2:84:08:EB:AE  
          inet6 addr: fe80::72e2:84ff:fe08:ebae/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:189220 errors:0 dropped:0 overruns:0 frame:0
          TX packets:77679 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:71695893 (68.3 MiB)  TX bytes:19745769 (18.8 MiB)
          Memory:fbe20000-fbe40000
          
          
创建空硬盘,相当于物理机的硬盘(公司常用的qcow2格式)
[root@KVM ~]# qemu-img create -f qcow2 /home/kvm/kvm-demo2.qcow2 100G 
Formatting '/home/kvm/kvm-demo2.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 

上传磁盘镜像/home/kvm/CentOS-6.5.iso(可使用winscp上传,这个是装机用的光盘,因为配置了桥接网卡,同样可以使用PXE或者cobbler进行装系统)
启动libvirt
/etc/init.d/libvirtd start
 
 
创建一个新的虚拟机
  virt-install --virt-type kvm --name kvm-demo --boot network,cdrom,menu=on --ram 512 --cdrom=/home/kvm/CentOS-6.5.iso --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --accelerate --disk path=/home/kvm/kvm-demo.qcow2,size=5,format=qcow2,bus=virtio --bridge=br0,model=virtio --autostart 
  解释:
	--virt-type kvm                         类型
	--name			                名字
	--ram			                内存
	--cdrom=/home/kvm/CentOS-6.5.iso 	安装使用的镜像
	--network		                使用的网络
	--disk path=/home/kvm/kvm-demo.qcow2	指定磁盘(之前创建的)	
	
通过virsh list --all查看虚拟机状态
[root@KVM ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 12    kvm-demo                       running
 
 使用VNC登录查看,并进行装机(VNC端口默认是从5900开始)

    KVM(一) CentOS 6.5 十分钟搭建KVM虚拟机详细文档,从零到有,快速入门。_第1张图片

登录上去以后即可进行装机。

装机完成以后再次进行连接,界面如下

KVM(一) CentOS 6.5 十分钟搭建KVM虚拟机详细文档,从零到有,快速入门。_第2张图片

登录到系统查看IP

KVM(一) CentOS 6.5 十分钟搭建KVM虚拟机详细文档,从零到有,快速入门。_第3张图片


至此KVM虚拟机搭建完成,可以使用Xshell连接上去,之后就和普通服务器没什么大的区别了。

常用virsh指令
1)virsh list 列出当前虚拟机列表,不包括未启动的
2)virsh list --all 列出所有虚拟机,包括所有已经定义的虚拟机
3)virsh destroy vm-name 关闭虚拟机
4)virsh start vm-name 启动虚拟机
5)virsh edit vm-name 编辑虚拟机xml文件
6)virsh undefine vm-name 删除虚拟机
7)virsh shutdown vm-name 停止虚拟机
8)virsh reboot vm-name 重启虚拟机
9)virsh autostart vm-name 虚拟机随宿主机启动