跳到主要内容

虚拟化概述

什么是虚拟化?

虚拟化(Virtualization)是一种将物理硬件资源抽象为多个逻辑资源的技术。通过虚拟化,可以在一台物理服务器上运行多个相互隔离的虚拟机(VM),每个虚拟机都拥有独立的操作系统和应用程序。

虚拟化类型

Type 1 - 裸金属虚拟化

Hypervisor 直接运行在物理硬件上,无需宿主操作系统。

特点:

  • 性能接近原生硬件
  • 安全性高,攻击面小
  • 代表:VMware ESXi、Microsoft Hyper-V、Xen

Type 2 - 宿主型虚拟化

Hypervisor 运行在宿主操作系统之上。

特点:

  • 安装部署简单
  • 依赖宿主操作系统
  • 代表:VMware Workstation、VirtualBox、Parallels

KVM/QEMU 虚拟化架构

KVM(Kernel-based Virtual Machine)和 QEMU 是 Linux 平台下的开源虚拟化解决方案。

核心组件说明

组件作用说明
KVM内核虚拟化模块利用 CPU 硬件虚拟化扩展(VT-x/AMD-V)实现虚拟化
QEMU设备模拟器模拟虚拟机的 I/O 设备(磁盘、网卡、显卡等)
libvirt虚拟化管理 API提供统一的虚拟机管理接口

KVM 工作原理

虚拟机生命周期

状态说明

状态说明可执行操作
创建中正在通过任务队列创建虚拟机
关机虚拟机已停止启动、编辑、删除、克隆
运行虚拟机正在运行关机、重启、暂停、VNC 连接
暂停虚拟机已暂停,内存状态保留恢复、强制关机

网络虚拟化

Linux Bridge

Linux Bridge 是传统的虚拟网络方案,将虚拟网卡桥接到物理网络。

OVS (Open vSwitch)

OVS 是更高级的虚拟交换机,支持 OpenFlow 协议和 VLAN 隔离。

网络模式对比

模式特点适用场景
NAT虚拟机通过 NAT 访问外网开发测试环境
Bridge虚拟机直接接入物理网络生产环境
VPC虚拟私有云,逻辑隔离多租户环境

存储虚拟化

虚拟磁盘格式

QCOW2 vs RAW 格式

特性QCOW2RAW
快照支持✅ 支持❌ 不支持
磁盘压缩✅ 支持❌ 不支持
稀疏分配✅ 支持❌ 需预分配
读写性能中等
空间效率

QCOW2 内部结构

快照技术

快照类型

快照操作

操作说明
创建保存当前 VM 状态(磁盘 + 可选内存)
恢复回滚到指定快照状态
删除删除单个快照
删除全部删除所有快照

虚拟机迁移

在线迁移

迁移类型

类型说明停机时间
在线迁移VM 运行时迁移毫秒级
离线迁移VM 关机后迁移
存储迁移磁盘文件迁移取决于磁盘大小

硬件直通

PCI 直通

优势:

  • 接近原生性能
  • 虚拟机直接访问硬件

要求:

  • CPU 支持 VT-d/AMD-Vi
  • 主板 BIOS 启用 IOMMU
  • 设备支持直通

虚拟化性能优化

CPU 优化

技术说明
CPU 亲和性将 VM 绑定到特定物理 CPU
NUMA 感知优化内存访问路径
CPU 拓扑模拟真实的 CPU 拓扑结构

内存优化

技术说明
内存气球动态调整 VM 内存
KSM内核同页合并,节省内存
大页使用大页减少 TLB 缺失

I/O 优化

技术说明
VirtIO半虚拟化 I/O 驱动
IOPS 限制磁盘 I/O 限速
磁盘缓存控制缓存策略

下一步