虚拟化技术

一、虚拟化基本概念

1.1 什么是虚拟化

虚拟化是将任何一种形式的资源抽象成另一种形式的技术。通过将计算机的各种实体资源(如服务器、网络、内存、存储等)进行抽象、转换后呈现出来,打破实体结构间不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。

1.2 虚拟化的核心思想

  • 资源隔离:将物理资源划分为多个独立的虚拟环境
  • 资源抽象:隐藏物理硬件的复杂性,提供统一的虚拟接口
  • 资源复用:多个虚拟机共享同一物理资源
  • 资源调度:动态分配和管理物理资源

1.3 虚拟化中的重要概念

物理服务器 → Host OS(宿主机操作系统)
虚拟机    → Guest OS(客户机操作系统)

二、市场热门虚拟化技术

2.1 主流虚拟化

技术平台开源情况主要应用场景
KVM开源云计算平台、企业虚拟化
VMware ESXi商业企业级虚拟化
FusionCompute国产国内企业虚拟化
Hyper-V商业Windows环境虚拟化
Xen开源公有云、服务器整合

中小型使用商用版(有售后),大型公司用开源(具有研发能力)

三、虚拟化的类型

3.1 虚拟化技术分类

3.1.1 全虚拟化
  • 虚拟机无需修改操作系统
  • 通过二进制翻译技术实现
  • 兼容性好,性能略有损失
3.1.2 半虚拟化
  • 需要修改客户机操作系统
  • 性能更好,但兼容性受限
  • 代表:Xen
3.1.3 硬件辅助虚拟化(当前主流)
  • 利用CPU硬件特性(Intel VT-x、AMD-V)
  • 性能接近原生,兼容性好
  • 目前全部使用硬件辅助虚拟化

3.2 硬件虚拟化检测

3.2.1 查看CPU是否支持硬件辅助虚拟化

CPU指令集要求

  • Intel: VT-x, VMX
  • AMD: AMD-V, SVM
3.2.2 检测方法

方法一:任务管理器

  • 打开任务管理器 → 性能 → CPU → 虚拟化:已启用

方法二:命令行检测

systeminfo

查看最后的Hyper-V要求:显示四个"是"

方法三:第三方工具

  • CPU-Z:查看CPU指令集
  • LeoMoon CPU-V:显示两个对勾✔即为支持

四、虚拟化的特点

4.1 核心特性

  • 分区:将物理资源划分为多个虚拟资源
  • 隔离:虚拟机之间相互隔离,故障不扩散
  • 封装:整个虚拟机状态封装在文件中
  • 相对于硬件独立:虚拟机不依赖特定硬件

4.2 主要优势

  • 资源优化:资源利用率从10-20%提升至60-80%
  • 成本节约:减少物理服务器数量,降低运维成本
  • 高可用性:支持热迁移、故障自动转移
  • 灵活敏捷:快速部署,资源动态调整

五、KVM虚拟化架构详解

5.1 KVM技术栈架构

KVM虚拟化是一个"分工协作"的架构,包含三个核心组件:

+-----------------------------------+
|           管理工具                 |
|     (virt-manager, virsh)         |
+-----------------------------------+
|           libvirt                 |
+-----------------------------------+
|           QEMU                    |
+-----------------------------------+
|           KVM内核模块              |
+-----------------------------------+
|          Linux内核                 |
+-----------------------------------+
|          硬件资源                  |
+-----------------------------------+

5.2 各组件功能分工

5.2.1 KVM(Kernel-based Virtual Machine)

主要负责

  • CPU虚拟化:利用Intel VT-x/AMD-V硬件辅助
  • 内存虚拟化:影子页表或EPT/NPT技术
  • I/O虚拟化:提供虚拟化基础设施
5.2.2 QEMU(Quick Emulator)

功能特点

  • 硬件模拟:模拟多种CPU架构和设备
  • 设备模型:提供虚拟设备的实现
  • 系统管理:虚拟机生命周期管理
5.2.3 libvirt

核心功能

  • 统一API:提供标准化的虚拟化管理接口
  • 资源管理:CPU、内存、存储、网络资源管理
  • 工具支持:支持virt-manager、virsh等管理工具

六、实践环境搭建

KVM安装方式一-系统自带

VMware 正常安装Linux CentOS 8 虚拟机

选择稍后选择镜像,在选择镜像的时候
在这里插入图片描述

然后选择CentOS 8镜像光盘进行安装

中间只需要选择虚拟主机安装即可
在这里插入图片描述

继续安装,安装成功重启进入Linux

在命令行中输入virsh version查看虚拟化是否成功
在这里插入图片描述

KVM安装方式二-yum

VMware 正常安装Linux CentOS 8 虚拟机

选择稍后选择镜像,在选择镜像的时候
在这里插入图片描述

然后选择CentOS 8镜像光盘进行安装

中间需要选择图形化界面安装
在这里插入图片描述

配置网络,并启用网络
在这里插入图片描述

重启后使用root用户登陆

设置虚拟机挂载光盘,设置yum源
在这里插入图片描述

[root@KVM1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0          11:0    1 12.8G  0 rom  /run/media/root/CentOS-Stream-8-BaseOS-x86_
nvme0n1     259:0    0  100G  0 disk 
├─nvme0n1p1 259:1    0    1G  0 part /boot
└─nvme0n1p2 259:2    0   99G  0 part 
  ├─cs-root 253:0    0 61.2G  0 lvm  /
  ├─cs-swap 253:1    0  7.9G  0 lvm  [SWAP]
  └─cs-home 253:2    0 29.9G  0 lvm  /home
[root@KVM1 ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@KVM1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0          11:0    1 12.8G  0 rom  /mnt
nvme0n1     259:0    0  100G  0 disk 
├─nvme0n1p1 259:1    0    1G  0 part /boot
└─nvme0n1p2 259:2    0   99G  0 part 
  ├─cs-root 253:0    0 61.2G  0 lvm  /
  ├─cs-swap 253:1    0  7.9G  0 lvm  [SWAP]
  └─cs-home 253:2    0 29.9G  0 lvm  /home
  
[root@KVM1 ~]# cd /etc/yum.repos.d/
[root@KVM1 yum.repos.d]# rm -rf *
[root@KVM1 yum.repos.d]# vim dvd.repo
# 输入以下内容
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0

[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0

[root@KVM1 yum.repos.d]# yum clean all
[root@KVM1 yum.repos.d]# yum makecache
[root@KVM1 yum.repos.d]# yum group install -y "virtualization*"
[root@KVM1 yum.repos.d]# poweroff

# 关机打快照 KVM OK
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐