Centos7下搭建KVM

一、KVM的简介

KVM全称是Kernel-based Virtual Machine,即基于内核的虚拟机。KVM以一种可加载模块的方式移植到linux内核中,它将linux转换成一种可以裸机安装的虚拟化管理程序。它是一种基于虚拟化扩展(VT-X 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM中,虚拟机被设计为常规的Linux 进程,由标准Linux调度程序进行调度;虚拟机的每个虚拟CPU被设计为一个常规的 Linux 进程。这使得KVM能够使用Linux内核的已有功能。KVM项目代表下一×××源虚拟化。该项目的目标是通过建立在先前的技术和充分利用当今的硬件条件下创造出一个现代的虚拟化管理程序。KVM项目已被证实为一个可靠的,高性能的虚拟化解决方案。


KVM的原理,架构,功能以及主要模块将来另开一篇博文详细解析,有兴趣的博友可以关注我的博客,另外对linux感兴趣的博友可以私聊我,留下QQ,邮箱等联系方式,大家一起交流提高,做做朋友。


二、搭建KVM平台


  1. 前提条件

(1)BIOS设置里面化必须要打开虚拟功能,还可以选择打开VT-d功能。

(2)物理CPU必须支持虚拟化

[root@kvm ~]# grep -E'(vmx|svm)' /proc/cpuinfo  #查看宿主机的CPU是否支持虚拟化

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmovpat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gbrdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopologynonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smxest tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnttsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb pln ptsdtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt

 

vmx代表是 INTEL厂商的CPU

svm代表是 AMD厂商的CPU


2.安装kvm的软件包和管理工具

有两种方式:

(1)可以选择在安装系统的时候,在服务器安装过程中,在“INSTALLATION SUMMARY”界面点击“SOFTWARE SELECTION”进入“SOFTWARE SELECTION”界面勾选“Virtualization Host”

(2)通过yum直接安装

   yum -y install libvirt virt-install  qemu-kvm qemu-kvm-tools


3.安装完成之后查看是否加载了KVM模块

   lsmod |grep KVM

如果没有则手动加载   

   modprobe kvm

   modprobe kvm_intel


4.启动libvirtd服务

[root@kvm ~]# systemctl startlibvirtd

[root@kvm ~]# systemctl enable libvirtd


5.创建一个虚拟磁盘文件

[root@kvm ~]# qemu-img create -f qcow2 /var/lib/libvirt/p_w_picpaths/vm1.qcow2 20G

Formatting'/var/lib/libvirt/p_w_picpaths/vm1.qcow2', fmt=qcow2 size=21474836480 encryption=offcluster_size=65536 lazy_refcounts=off

 

6.创建一个虚拟机

[root@kvm ~]# virt-install --cdrom=/opt/iso/CentOS-7.2-x86_64-DVD.iso --vcpu=2 --ram=1024  --network bridge=virbr0 --disk path=/var/lib/libvirt/p_w_picpaths/vm1.qcow2 --graphics spice,listen=0.0.0.0  --name=vm1  #创建一个2核心的CPU,内存1G,网络连接到默认网桥virbr0,磁盘文件为vm1.qcow2,远程连接协议为spice,允许任何主机连接的虚拟机vm1

WARNING  Unable to connect to graphical console:virt-viewer not installed. Please install the 'virt-viewer' package.

WARNING  No console to launch for the guest,defaulting to --wait -1


Starting install...

Creatin    domain...                                                                                                                                  0 B  00:00:10    

Domain installation still inprogress. Waiting for installation to complete.


7.使用remote viewer工具连接,进行安装

Centos7下搭建kvm_第1张图片

安装完成

Centos7下搭建kvm_第2张图片

按照如上方式,继续创建几台虚拟机

Centos7下搭建kvm_第3张图片