什么是虚拟化?

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

虚拟化的优势

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

kvm虚拟化

kvm自linux2.6.20版本后就直接整合到linux内核中,它依托CPU虚拟化指令集(例如Intel-VT、AMD-V)实现高性能的虚拟化支持。由于与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。在KVM环境中运行的每一个虚拟化操作系统都将表现为单个独立的系统进程。KVM可以运行多个未修改的Linux或Windows映像的虚拟机。每个虚拟机都有专用的虚拟化硬件:网卡,磁盘,图形适配器等。因此它可以方便的与Linux系统中的安全模块进行整合(SELinux)可以灵活实现资源的管理与分配。

虚拟机配置

  • 8G内存
  • 2个处理器
  • 两个40G硬盘
  • 开启CPU虚拟化支持
  • 关闭防火墙及selinux
    systemctl stop firewalld.service
    setenforce 0

    实验目的是在虚拟机中安装虚拟机,所以这里的虚拟机内存要尽量大点,4G以上为佳,本来我安装的虚拟机磁盘空间为40G,我重新添加了一块磁盘用来安装虚拟机
    Centos7中搭建KVM虚拟化平台

    项目实施

    安装kvm所需软件

    yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
  • qemu-kvm 虚拟化软件 虚拟网络和硬盘等 用户态
  • libvirt 虚拟化工具统一接口(libvirt API,libvirt daemon,用户态工具)
  • virsh virt-manager virt-viewer virt-install other-tools是libvirt用户态的工具

查看系统是否支持虚拟化

当你的利用VMware Workstation软件,可以运行虚拟机时,表示你的CPU已经支持虚拟化了,这里的检查是检查是否开启虚拟机的虚拟化功能(嵌套虚拟化),使用egrep '(vmx|svm)' /proc/cpuinfo,只要有输出结果即表示开启成功。vmx表示intel服务器,svm表示AMD服务器。

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

Centos7中搭建KVM虚拟化平台

检查kvm模块是否安装

lsmod | grep kvm

Centos7中搭建KVM虚拟化平台

开启libvirtd服务

systemctl start libvirtd.service
systemctl status libvirtd.service

Centos7中搭建KVM虚拟化平台

创建硬盘

qemu-img create -f raw /vdir/CentOS-7.4-x86_64.img 20G

vdir目录为我新添加的磁盘的挂载目录,域的名称可以自定义
Centos7中搭建KVM虚拟化平台

将镜像添加到虚拟机中

挂载windows中的共享文件,然后将镜像文件复制到虚拟机中的文件夹内,不要直接使用挂载目录,会存在权限问题,导致安装失败。

配置安装

virt-install --name CentOS7.4-x86_64 \                           //名称与创建硬盘时定义的域名称一致
--virt-type kvm \
--ram 2048 \                                                                     //建议2G,少了会卡
--cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso \            //镜像文件路径
--disk path=/vdir/CentOS-7.4-x86_64.img \                     //磁盘路径
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole

Centos7中搭建KVM虚拟化平台

使用TightVNC Viewer 连接服务器

TightVNC是一款免费的远程控制软件包。使用TightVNC,可以看到远程计算机的桌面并使用本地鼠标和键盘控制它,就像坐在计算机前面一样。TightVNC是跨平台的,适用于Windows和Unix,包含Java客户端,兼容标准VNC软件,符合RFB协议规范。在连接过程中如果出现连接被拒绝,可以检查虚拟机的防火墙状态,是否正常关闭。
下载方式
TightVNC官方下载网站

配置网卡

选择install centos7,在下面有一点话,提示按tab键配置网卡,输入配置内容net.ifnames=0 biosdevname=0,接下来回车,就进入安装界面,centos7的安装这里就不讲了。
Centos7中搭建KVM虚拟化平台
Centos7中搭建KVM虚拟化平台

查看虚拟机状态

虚拟机安装完成之后,此时的虚拟机状态是处于关闭状态,当你使用TightVNC连接时会被拒绝,此时需要开启虚拟机

virsh list --all                   //查看虚拟机状态
virsh start CentOS7.4-x86_64      //开启虚拟机

Centos7中搭建KVM虚拟化平台

登陆虚拟机

使用远程软件,输入用户名和密码即可登陆
Centos7中搭建KVM虚拟化平台