????????KVM自Linux2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集实现高性能的虚拟化支持。由于与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。
1)在CentOS的系统光盘镜像中,已经提供了安装KVM所需软件。通过部署基于光盘镜像的本地yum源,直接使用yum安装所需软件即可。
[root@localhost ~]# yum -y install qemu-kvm
[root@localhost ~]# yum -y install qemu-kvm-tools
[root@localhost ~]# yum -y install virt-install
[root@localhost ~]# yum -y install qemu-img
[root@localhost ~]# yum -y install bridge-utils
[root@localhost ~]# yum -y install libvirt
[root@localhost ~]# yum -y install virt-manager
2)验证。重启系统后,查看CPU是否支持虚拟化,对于inter的服务器可以通过一些命令查看,只要有输出就说明CPU支持虚拟化;AMD服务器可用"cat/proc/cpuinfo | grep smv"命令查看
[root@localhost ~]# cat /proc/cpuinfo | grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip pku ospke gfni vaes vpclmulqdq spec_ctrl intel_stibp flush_l1d arch_capabilities
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 arat umip pku ospke gfni vaes vpclmulqdq spec_ctrl intel_stibp flush_l1d arch_capabilities
检查KVM模块是否安装:
[root@localhost ~]# lsmod | grep kvm
kvm_intel 183621 3
kvm 586948 1 kvm_intel
irqbypass 13503 1 kvm
3)开启服务。安装完成后还需要开启libvirtd服务,以开启相关支持。
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5f68bdcc-be39-4d64-9358-f140469f6072"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE="br0" //修改此配置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE="Bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
ONBOOT="yes"
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR="192.168.136.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.136.2"
重启network服务:
[root@localhost ~]# /etc/init.d/network restart
Restarting network (via systemctl): [ 确定 ]
确认IP地址信息,出现以下信息说明网卡桥接成功了
[root@localhost ~]# virt-manager
????????virt-manager是基于libvirt的图形化虚拟机管理软件。
1)创建存储池,双击"QEMU/KVM",选择"存储"选项卡,然后单击"+"按钮新建存储池。设置存储目录为/data_kvm/store。
[root@localhost /]# mkdir -p /data_kvm/store /data_kvm/kvm_iso
?
2)以同样的操作创建一个镜像存储池,命名为"bdqn_iso",目录为"/data_kvm/kvm_iso",在安装操作系统时,将镜像上传到服务目录/data_kvm/kvm_iso
[root@localhost /]# cd /data_kvm/kvm_iso/
[root@localhost kvm_iso]# ftp 172.16.37.13
[root@localhost kvm_iso]# ls
rhel-server-7.1-x86_64-dvd.iso
3)创建存储卷,单击刚创建好的"bdqn",单击"卷"右边的"+"。
4)单击"完成"按钮后,回到虚拟系统管理器,右击"QEMU/KVM",然后选择"新建"选项,在弹出的对话框中"本地安装介质"
????????单击"前进"按钮,在下图所示的对话框中适当分配内存和CPU资源,如1核CPU、1GB内存。?
????????单击“前进”按钮,在下图所示的对话框中点选"选择或创建自定义存储"单选按钮,单击"管理"按钮选择文件,然后单击"前进"按钮。????????在下图所示将虚拟机名称命名为"CentOS7.3",并勾选对话框中的"在安装前自定义配置"复选框,单击"完成"按钮。
? ? ? ? 在"引导选项"视图中勾选"主机引导时启动虚拟机"复选框,这样在物理宿主机启动后,这个VM也会启动,最后单击"应用"按钮?
?