虚拟化概述

虚拟化(系统虚拟化):一个物理机上开很多虚拟机,实现互不干扰;虚拟硬件使用物理机硬件资源,每个虚拟机拥有独立的硬件资源。

名词:物理机或宿主机(Host,即真机)虚拟机里面系统(Guest OS)

虚拟机不能直接与物理机资源访问,必须通过VMM(虚拟机管理程序,即VDSM或称Hypervisor)才能访问物理机资源。

虚拟化类型

1、全虚拟化(本地虚拟化、硬件辅助全虚拟化):虚拟机中运行的软件与系统不需经过任何修改,就好比运行在真实硬件一样;但依然使用虚拟硬件设备,并且需要硬件支持,物理机需支持虚拟化功能(grep -E 'vmx|svm' /proc/cpuinfo,查询intel与AMD是否支持)

2、半虚拟化:另一种类似于全虚拟化的热门技术,它使用Hypervisor(虚拟机管理程序)分享存取底层的硬件, 但是它的客户操作系统集成了虚拟化方面的代码,该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作;但半虚拟化需要客户操作系统做一些修改(配合VDSM),这是一个不足之处,但是半虚拟化提供了与原始系统相近的性能,与全虚拟化一样,半虚拟化可以同时能支持多个不同的操作系统
Centos7 部署KVM虚拟化平台_第1张图片

虚拟机概述

虚拟机:运行在计算机上的一款软件程序,模拟计算机硬件的功能,为其他软件程序提供一个独立的计算机环境;使用资源为真机资源。
虚拟机的运行架构:

1、传统运行模式:一台计算机同时只能运行一个操作系统,在系统之上运行运用软件。

2、寄居架构:将虚拟机软件安装在操作系统之上,作为一个应用程序,在虚拟机软件创建出来的虚拟机上还可以安装操作系统软件。

3、原生架构(裸金属架构):虚拟机软件不需要依赖其他操作系统,直接安装在计算机硬件上,虚拟机软件本身就是一个操作系统。

KVM简介

KVM是Kernel Virtual Machine的简写,使用半虚拟化技术创建虚拟机的模块,目前Red Hat只支持在64位的RHEL 5.4及以上的系统运行KVM(其余发行版也可使用),同时硬件需要支持VT技术;KVM的前身是QEMU,2008年被Red Hat公司收购并获得一项hypervisor技术,不过Red Hat的KVM被认为是将成为未来Linux hypervisor的主流,准确来说,KVM仅仅是Linux内核的一个模块,管理和创建完整的KVM虚拟机,需要更多的辅助工具。
KVM自Linux 2.6.20版本后就直接整合到Linux内核,它依托CPU和虚拟化指令集(如Inter-VT、AMD-V)实现高性能的虚拟化支持;由于与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。
Centos7 部署KVM虚拟化平台_第2张图片
图上简单描述了KVM虚拟化架构,在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与Linux系统中的安全模块进行整合(SElinux),可以灵活地实现资源的管理及分配。

实验环境:

系统:centos7-3.10.0-514.el7.x86_64

虚拟化:开启虚拟化支持选项(虚拟机需要在关机状态开启处理器里的虚拟化引擎)
Centos7 部署KVM虚拟化平台_第3张图片
KVM软件版本:qemu-kvm-1.5.3-156.el7_5.2.x86_64

检查系统是否支持虚拟化:
Intel CPU:cat /proc/cpuinfo |grep --color vmx
AMD CPU:cat /proc/cpuinfo |grep --color smv
注:若以上操作有输出,就说明 CPU 支持虚拟化。如下截图
Centos7 部署KVM虚拟化平台
关闭防火墙 systemctl stop firewalld.service

禁止防火墙开机自启 systemctl disable firewalld.service

关闭selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux

一、安装KVM

1、安装KVM和依赖包

yum -y install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer
Centos7 部署KVM虚拟化平台_第4张图片

2、查看kvm是否安装

lsmod | grep kvm
Centos7 部署KVM虚拟化平台
注:以上截图证明KVM安装成功!

3、启用libvirtd服务

systemctl start libvirtd

4、设置开机启动

systemctl enable libvirtd

二、配置网卡

1、查看网卡信息 ip a

Centos7 部署KVM虚拟化平台_第5张图片

2、拷贝网卡并命名为br0

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0

3、配置第一块ens33网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-ens33
Centos7 部署KVM虚拟化平台

4、配置第二块br0网卡信息

vi /etc/sysconfig/network-scripts/ifcfg-br0
Centos7 部署KVM虚拟化平台

5、重启网卡服务

systemctl restart network

三、KVM安装虚拟机

1、递归创建存储池

mkdir -pv /kvm/{store,iso}
Centos7 部署KVM虚拟化平台
注:在安装虚拟机之前,为了方便管理虚拟机的磁盘及镜像文件,一般建议单独新建存储池(即磁盘文件和镜像存储位置指定)

运行虚拟机管理软件有两种方式:
方式一:给系统安装桌面,在桌面运行命令virt-manager调用管理软件。
方式二:双击打开第三方插件xhell里的工具Xmanager-Passive然后从shell

运行命令virt-manager调用管理软件。
注:我这里使用的是安装桌面方式!

2、安装桌面GNOME环境

yum -y install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

3、安装交互环境

yum -y groupinstall "X Window System"

4、运行虚拟机管理软件

virt-manager
在桌面系统运行virt-manager,然后就能看到如下截图;
Centos7 部署KVM虚拟化平台_第6张图片

1)双击QEMU/KVM选择"存储选项卡",然后单击"+"按钮新建存储池;
Centos7 部署KVM虚拟化平台_第7张图片

根据提示输入存储池的名称,如store;
Centos7 部署KVM虚拟化平台_第8张图片

点击Forward,指定store存储池里面内容的store存储目录(该处为之前新建的/kvm/store);
Centos7 部署KVM虚拟化平台_第9张图片

然后点击Finish,然后能看见刚添加的store存储池;
Centos7 部署KVM虚拟化平台_第10张图片

2)同样的操作创建iso的镜像存储池,单击"+"按钮新建存储池;
Centos7 部署KVM虚拟化平台_第11张图片

根据提示输入iso存储池的名称,如iso;
Centos7 部署KVM虚拟化平台_第12张图片

点击Forward,指定存储池里面内容的iso存储目录(该处为之前新建的/kvm/iso);
Centos7 部署KVM虚拟化平台_第13张图片

然后点击Finish,然后能看见刚添加的iso存储池;
Centos7 部署KVM虚拟化平台_第14张图片

5、上传镜像到镜像池

1)上传镜像到镜像目录(我是用xsehll上传到这个目录下的)
Centos7 部署KVM虚拟化平台

2)在图形界面点击iso目录,然后点击刷新就能看到镜像文件
Centos7 部署KVM虚拟化平台_第15张图片

6、新建存储卷

存储卷即安装系统时虚拟机所使用的磁盘文件,那么在vmware软件中是在新建虚拟机时可选择磁盘文件的位置和大小,而KVM可提前新建虚拟机所使用磁盘文件及大小(当然也可直接使用默认KVM创建的default存储池空间),相比更加灵活。

1)单击刚创建好的"store"存储池,单击对话框中间的"+"按钮建立一个存储卷;
Centos7 部署KVM虚拟化平台_第16张图片

设置新建存储卷卷名并指定卷最大容量与分配容量(Format选择"qcow2"不然不能快照);
Centos7 部署KVM虚拟化平台_第17张图片

点击Finish完成即可
Centos7 部署KVM虚拟化平台_第18张图片

7、新建虚拟机

回到首页虚拟系统管理器后,选择"第一个电脑图标"选项;
Centos7 部署KVM虚拟化平台_第19张图片

指定从本地或光盘中选择镜像安装系统,然后点击Forward;
Centos7 部署KVM虚拟化平台_第20张图片

点击"Browse"浏览本地镜像并选择镜像,光盘安装就选择1,本地镜像安装就选择2,我选择2做实验,然后点击Choose Volume;
Centos7 部署KVM虚拟化平台_第21张图片
Centos7 部署KVM虚拟化平台_第22张图片

自动识别操作系统类型与版本,然后点击Forward,进行下一步;
Centos7 部署KVM虚拟化平台_第23张图片

指定新建虚拟机采用的内存及CPU核心数;
Centos7 部署KVM虚拟化平台_第24张图片

继续点击Forward,进行下一步;
Centos7 部署KVM虚拟化平台_第25张图片

点击Manage选择虚拟机产生文件存储位置;
Centos7 部署KVM虚拟化平台_第26张图片

这里选择之前新建存储卷"centos7x64"使用它的空间;
Centos7 部署KVM虚拟化平台_第27张图片

然后点击Choose Volume;
Centos7 部署KVM虚拟化平台_第28张图片

继续点击Forward,进行下一步;
Centos7 部署KVM虚拟化平台_第29张图片

指定虚拟机名称,然后将Storage选项下方的方格勾选上;
Centos7 部署KVM虚拟化平台_第30张图片

然后点击Finish完成即可
Centos7 部署KVM虚拟化平台_第31张图片

让"虚拟机"键盘布局和真机一样(一定选择,不然里面键盘输入有问题)
Centos7 部署KVM虚拟化平台_第32张图片

然后点击Apply,进行下一步;
Centos7 部署KVM虚拟化平台_第33张图片
注:你会发现你选择的选项变成了en-us,centos7系统默认的,所以不用管,继续创建即可。

点击左上角Begin Installtion,开始引导安装系统,之后就不再多说了,直接使用即可;
Centos7 部署KVM虚拟化平台_第34张图片
注:到这里就已经完成了Centos7上部署KVM,具体使用方式,后续会更新!