什么是虚拟化?

虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破了物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术。

虚拟化的优势

  1. 减少服务器数量,降低硬件采购成本;
  2. 资源利用率最大化;
  3. 降低机房空间、散热、用电消耗的成本等;
  4. 硬件资源可动态调整,提高企业IT业务灵活性;
  5. 高可用性;
  6. 在不中断服务的情况下进行物理硬件资源调整;
  7. 降低管理成本;
  8. 具备更高效的容灾能力。

KVM虚拟化

kvm自从Linux2.6.20版本后就直接整合到了Linux内核中,它依托CPU虚拟化指令集(如Intel-VT、AMD-V)实现高性能的虚拟化支持。由于与Linux内核高度融合,因此在性能、安全性、兼容性、稳定性上都有良好的表现。

关于KVM

  1. KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机)。
  2. 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案。
  3. 它包含一个为处理器提供底层虚拟化 可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
  4. KVM还需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。
  5. KVM能在不改变linux或windows镜像的情况下同时运行多个虚拟机,(它的意思是多个虚拟机使用同一镜像)并为每一个虚拟机配置个性化硬件环境(网卡、磁盘、图形适配器……)。
  6. 在主流的Linux内核,如2.6.20以上的内核均已包含了KVM核心。

系统环境:

主机名 操作系统 IP地址
kvm Centos 7.4 x86_64 192.168.96.44

特别提醒:此文为在VMware 14虚拟机中测试安装,需开启CPU虚拟化支持,如下图

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第1张图片

KVM虚拟机平台构建

1.关闭防火墙及Selinux

systemctl stop firewalld.service
setenforce 0

2.查看当前系统版本

cat /etc/centos-release

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

3.查看系统内核版本

uname -r

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

4.安装qemu*及相关组件

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

5.查看硬件是否支持虚拟化

egrep '(vmx|svm)' /proc/cpuinfo

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

6.检查kvm模块是否安装

lsmod | grep kvm

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

7.启动libvirtd服务

systemctl start libvirtd.service

KVM平台上安装centos7虚拟机

1.创建镜像存储池(/kvmdir目录需要单独一块大分区,我这里划分了20GB

qemu-img create -f raw /kvmdir/centos701.raw 10G

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

2.将centos7的iso系统镜像文件存放到/opt目录下等待安装使用

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

3.在kvm上安装Centos7虚拟机

virt-install --name centos701 \
--virt-type kvm \
--ram 1024 \
--cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso \
--disk path=/kvmdir/centos701.raw \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第2张图片

4.通过使用TightVNC Viewer 连接KVM虚拟机服务器进行图形化安装

4.1 VNC Viewer进行连接centos7服务器(IP:192.168.96.44)

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第3张图片

4.2 已经在安装加载中......

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第4张图片

4.3安装设置,如图

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第5张图片

4.4安装设置,如图

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第6张图片

4.5安装设置,如图

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第7张图片

4.6安装结束

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第8张图片

5.查看虚拟机状态

virsh list --all

6.启动虚拟机centos701

virsh start centos701

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机_第9张图片


KVM基本功能管理

查询命令帮助

virsh -h

kvm的配置文件存放目录

/etc/libvirt/qemu/

查询正在运行的虚拟机

virsh list

查询所有虚拟机(包含关机状态)

virsh list --all

虚拟机开机与关机

virsh start centos701

virsh shutdown centos701

强制实例系统关闭电源

virsh destroy centos701

挂起虚拟机

virsh suspend centos701

virsh list --all

恢复虚拟机

virsh resume centos701

配置虚拟机实例伴随宿主机自动启动(目录:/etc/libvirt/qemu/autostart)

virsh autostart centos701

导出虚拟机配置

virsh dumpxml centos701 > /etc/libvirt/qemu/centos702.xml

虚拟机的删除(配置文件被删除,但磁盘文件不会被删除)

#关闭该虚拟机
virsh shutdown centos701

#删除该虚拟机
virsh undefine centos701

#查询删除结果
ls /etc/libvirt/qemu/

通过配置文件启动虚拟机系统实例

virsh create /etc/libvirt/qemu/centos701.xml

通过备份的配置文件重新定义虚拟机

cd /etc/libvirt/qemu

mv centos702.xml centos701.xml

virsh define centos701.xml

virsh list --all