3.虚拟化技术(一)
文章目录
- 虚拟化技术
- 一、虚拟化基本概念
- 1.1 什么是虚拟化
- 1.2 虚拟化的核心思想
- 1.3 虚拟化中的重要概念
- 二、市场热门虚拟化技术
- 2.1 主流虚拟化
- 三、虚拟化的类型
- 3.1 虚拟化技术分类
- 3.1.1 全虚拟化
- 3.1.2 半虚拟化
- 3.1.3 硬件辅助虚拟化(当前主流)
- 3.2 硬件虚拟化检测
- 3.2.1 查看CPU是否支持硬件辅助虚拟化
- 3.2.2 检测方法
- 四、虚拟化的特点
- 4.1 核心特性
- 4.2 主要优势
- 五、KVM虚拟化架构详解
- 5.1 KVM技术栈架构
- 5.2 各组件功能分工
- 5.2.1 KVM(Kernel-based Virtual Machine)
- 5.2.2 QEMU(Quick Emulator)
- 5.2.3 libvirt
- 六、实践环境搭建
- KVM安装方式一-系统自带
- KVM安装方式二-yum
虚拟化技术
一、虚拟化基本概念
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