KVM虚拟化技术
KVM是基于x86架构上Linux操作系统的全虚拟化解决方案
,在Centos6.3系统中,kvm已经被集成到内核中,相当于使用内核来做虚拟机管理程序。由于KVM本身就工作于内核环境中
所以执行效率要比传统意义上的虚拟化技术高很多,KVM虚拟化需要Intel VT或AMD-V技术的支持,可以使用下面的命令确定
本机CPU是否支持以上两种虚拟化技术:
1 查看系统版本和内核
##内核版本需要在2.6以上 ##如果不是那么需要yum -y update 更新 centos7 已经是3.10 [root@kvm ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@kvm ~]# uname -a Linux kvm.example.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
2 关闭selinux
[root@kvm ~]# cat /etc/selinux/config
SELINUX=disabled
3 重启服务器
[root@kvm ~]# reboot
4 查看系统是否开启虚拟化
[root@kvm ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi ept vpid
若实际环境没有, 需要到主板BIOS中开启Virtual Technolege(VT, 虚拟化技术)
5 安装kvm相关软件包
[root@kvm ~]# yum -y install virt-install libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools
6 启动kvm服务
[root@kvm]#systemctl enable libvirtd
[root@kvm]#systemctl start libvirtd
[root@linux-node1 ~]# virsh list Id 名称 状态 ---------------------------------------------------- 查看kvm模块
[root@kvm ~]# lsmod | grep kvm
kvm_intel 162153 3
kvm 525409 1 kvm_intel
查看虚拟工具版本 [root@kvm ~]# virsh --version 1.2.17 [root@kvm ~]# virt-install --version 1.2.1 [root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm [root@kvm ~]# qemu-kvm -version QEMU emulator version 1.5.3 (qemu-kvm-1.5.3-105.el7_2.7), Copyright (c) 2003-2008 Fabrice Bellard
7 创建br0网桥
[root@linux-node1 ~]# cd /etc/sysconfig/network-scripts/ [root@linux-node1 network-scripts]# cp ifcfg-eth0 ifcfg-br0 [root@linux-node1 network-scripts]# cat ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes #BOOTPROTO=static #IPADDR=192.168.56.8 #NETMASK=255.255.255.0 #GATEWAY=192.168.56.2 #DNS1=192.168.56.2 BRIDGE=br0 [root@linux-node1 network-scripts]# cat ifcfg-br0 DEVICE=br0 TYPE=Bridge ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.56.8 NETMASK=255.255.255.0 GATEWAY=192.168.56.2 DNS1=192.168.56.2
8 重启网络
[root@linux-node1 ~]# /etc/init.d/network restart