请使用支持现代 CSS 与 JavaScript 的浏览器播放课件
CCIoT · 2.1

虚拟化技术

一台物理机支持多个运行环境

VER. 2608 Built with impress.js

学习目标

说明资源从哪来、谁能访问、怎样复制或恢复环境

  1. 01画出物理 CPU、内存和磁盘经过虚拟化层分配给多台虚拟机的过程
  2. 02区分宿主机、虚拟化层、虚拟机和客户操作系统
  3. 03根据虚拟化层的位置区分 Type 1 与 Type 2
  4. 04根据连通需求选择桥接、NAT 或仅主机网络
  5. 05区分远程管理、快照、克隆与备份
  6. 06Workstation 和 WSL2 分别适用于什么情况
2/27
LEARNING OBJECTIVES

单项任务未必需要占用整台计算机

一套系统负载较低时,剩余 CPU、内存和存储可能闲置

一机一系统与一机多环境资源利用对比图

单操作系统

每套操作系统独占一台物理计算机

负载低时,CPU、内存和存储仍被占用

多环境

多台虚拟机共享同一组物理资源

每个工作负载拥有相对独立的操作系统环境

Takeaway

虚拟化让物理资源能够被重新划分和组合

3/27
RESOURCE UTILIZATION

虚拟机看到的 CPU 和内存从哪里来?

宿主机供硬件;虚拟化层呈现 CPU、内存、磁盘、网卡,决定虚拟机用多少

物理硬件、虚拟化层和多个虚拟机的架构

抽象

隐藏具体差异,呈现统一的虚拟硬件

分配

给不同虚拟机分配 CPU 时间、内存容量、虚拟磁盘和网卡

隔离

减少不同工作负载之间的直接干扰

管理

复制、回退和调整运行环境

4/27
VIRTUALIZATION

虚拟机有操作系统,容器为什么没有?

虚拟机运行客户操作系统,容器应用通常共享宿主内核

虚拟机架构与容器架构的横向对比
Takeaway

虚拟机拥有完整操作系统,容器通常共享宿主操作系统内核

5/27
VIRTUAL MACHINES AND CONTAINERS

练习:哪些场景真正使用了虚拟化?

Exercise
场景已知信息判断依据
一边写作业一边听歌同一操作系统运行两个应用没有出现独立虚拟硬件或客户系统
远程桌面连接另一电脑通过网络控制另一台物理机远程访问不等于资源虚拟化
Windows 中运行 WSL2Linux 看到独立计算资源物理资源被抽象为虚拟硬件
Takeaway

判断虚拟化要寻找虚拟硬件、客户系统和资源分配的证据

6/27
VIRTUALIZATION EVIDENCE

虚拟机带客户系统,容器共享宿主内核

隔离对象不同:虚拟机隔开操作系统,容器隔开应用进程及其依赖

虚拟机

每台虚拟机都包含独立的客户操作系统和虚拟硬件

容器

多个容器共享宿主内核,主要意义在于将应用及其依赖封装起来

隔离边界

虚拟机技术隔离了操作系统环境,而容器主要隔离了进程环境

虚拟机与容器运行层次的纵向堆叠对比
7/27
VIRTUAL MACHINE LAYERS

虚拟化层在硬件上,或经宿主操作系统?

直接运行在硬件上称为 Type 1;作为宿主操作系统中的软件运行称为 Type 2

Type 1 与 Type 2 虚拟化架构对比

Type 1:裸机型

物理硬件之上直接运行虚拟化层,再由虚拟化层承载多个虚拟机

主要用于服务器集中承载与管理

Type 2:宿主型

物理硬件上运行宿主操作系统,虚拟化软件是运行在宿主操作系统上的应用程序

VMware Workstation 是典型例子

Takeaway

以上只是简单分类,具体产品的内部架构往往更加复杂

8/27
HYPERVISOR TYPES

隔离不等于绝对安全

虚拟机相对独立,但仍共享宿主机、虚拟化层和物理设备

虚拟机隔离边界与共享故障边界示意图

工作负载隔离

某虚拟机出故障,一般不影响另一台虚拟机

资源竞争

多个虚拟机会分配同一宿主机的计算资源

共同故障边界

宿主机、虚拟化层故障同时影响多个虚拟机

Takeaway

多台虚拟机可以共享一台宿主机;宿主机出故障时,虚拟机也可能一起停止

9/27
ISOLATION BOUNDARY

Workstation、KVM、QEMU

先看运行环境是:是管理完整虚拟机、提供虚拟 CPU,还是提供虚拟设备

工具角色典型例子运行位置主要任务
桌面虚拟化Workstation、VirtualBox个人计算机学习、测试、多系统运行
裸机型虚拟化Xen、Hyper-V Server服务器硬件集中承载和管理虚拟机
内核虚拟化能力KVMLinux 内核利用硬件能力运行虚拟 CPU
设备模型与模拟QEMU主机用户空间提供虚拟设备或模拟其他架构
10/27
VIRTUALIZATION ROLES

Windows 11 中的两种 Linux 环境

Workstation 观察硬件、网络、快照、克隆;WSL2 日常运行 Linux 工具

VMware Workstation

创建和运行完整虚拟机

可以调整虚拟硬件和网络,并练习快照恢复与克隆

WSL2

快速进入 Linux 命令行

适合持续使用 Bash、Python、Git 和部署本地 AI 工具

Windows 11 中的 VMware Workstation 界面
Windows 11 中运行的 WSL2 Linux 环境
11/27
CLASSROOM ENVIRONMENTS

三种网络模式

先问虚拟机能否上网、能否访问宿主机、局域网其他设备能否直接访问它

桥接、NAT 和仅主机三种虚拟网络模式

桥接

虚拟机被视为一台单独计算机,可以被同一网络中的其他设备直接访问

NAT

虚拟机通过宿主机转换地址访问外部网络,因此宿主机断网时它也无法访问互联网

仅主机

虚拟机只连接宿主机私有网络,默认不能访问互联网

Takeaway

网络模式安排的是通信路径,服务、端口或防火墙需要自行设置

12/27
NETWORK MODES

练习:为三个任务选择网络模式

Exercise
任务优先模式判断线索
分析不可信文件,只与宿主机交换结果仅主机尽量限制外部连通范围
访问互联网,不占用局域网独立地址NAT通过宿主机地址转换出网
让同学直接访问虚拟机中的 Web 服务桥接虚拟机需要进入物理局域网
Takeaway

先搞清楚机器之间的访问关系,再选择合适的网络模式

13/27
NETWORK CHOICE

演示前,先准备能退回的快照和备用副本

预先确认 Linux 能启动、NAT 和 SSH 可用,并保留基线快照与完整克隆

虚拟机课堂演示的资源与网络准备示意
01

准备

ARM64 Linux 已安装并能够正常启动

02

联网

网络设为 NAT,Linux 已启用 SSH

03

身份

使用普通用户

04

状态

保留基线快照和预先创建的完整克隆

14/27
DEMO PREPARATION

客户系统只能看到分配给它的资源

把宿主机配置与客户系统输出对照,验证虚拟硬件怎样被呈现

虚拟化层呈现给客户系统的资源视图示意

架构

uname -m 查看客户系统架构

内存

free -h 查看虚拟机获得的内存

磁盘

lsblk 查看虚拟磁盘

网卡

ip a 查看虚拟网络接口

15/27
GUEST RESOURCE VIEW

从 NAT 联网到 SSH 登录

把控制台中的虚拟机变成网络中的可管理主机

宿主机通过 SSH 连接 NAT 网络中的虚拟机
01

确认网络

虚拟机网络适配器使用 NAT

02

查询地址

在 Linux 中运行 ip a

03

确认服务

检查 Linux 中的 SSH 服务已经运行

04

远程登录

从宿主机运行 ssh 用户名@虚拟机地址 并创建课堂标记文件

16/27
NAT AND SSH

虚拟机能上网,为什么 SSH 失败?

  1. 01检查地址:连接的 IP 是否属于当前虚拟机
  2. 02检查路径:宿主机能否到达虚拟机所在网络
  3. 03检查服务:虚拟机中的 SSH 服务是否正在运行
  4. 04检查端口:防火墙是否允许对应端口
  5. 05检查认证:用户名、密钥或密码是否正确
Takeaway

能够访问网站,只能证明单向路径成立

17/27
SSH DIAGNOSIS

快照:同一环境回到较早状态

用一个文件变化观察虚拟机状态回退

虚拟机创建快照并恢复到较早状态
01

创建

拍摄快照并命名,作为实验基线

02

改变

创建、修改或删除课堂标记文件

03

恢复

回到实验基线快照

04

观察

核对文件和系统状态是否回退

Takeaway

快照记录状态变化关系,不会生成一套独立虚拟机

18/27
SNAPSHOT DEMO

快照、克隆和备份解决不同问题

同一虚拟机回退用快照,复制独立机器用克隆,防原磁盘损坏用独立备份

快照、克隆和备份用途对比图

快照

让同一虚拟机回到较早状态,不构成独立环境

克隆

产生另一台可以独立使用的虚拟机

备份

在原环境之外保留副本,常用于抵御设备或介质丢失

19/27
STATE MANAGEMENT

快照是不是备份?

快照依赖父磁盘形成的状态变化链
Exercise

快照

记录相对父磁盘发生的变化

父磁盘损坏或丢失时,快照链也会失去依据

独立备份

在原虚拟机之外保存可恢复副本

原磁盘失效时,仍能从另一位置恢复

Takeaway

如果宿主机的磁盘损坏,保存在同一磁盘上的快照不能救回虚拟机

20/27
SNAPSHOT IS NOT BACKUP

克隆后,需要检查系统身份

复制文件不等于两台虚拟机可以无冲突并行运行

虚拟机克隆后需要检查并更新 UUID、MAC 地址、主机名和网络配置的示意

UUID

复制虚拟机后,为副本生成新的虚拟机标识

MAC 地址

虚拟网卡获得新的硬件地址

主机名

客户系统内部名称可能仍与原虚拟机相同

网络与密钥

静态地址、应用密钥和服务配置仍可能发生冲突

21/27
CLONE IDENTITY

WSL2 让 Windows 可以直接使用 Linux

WSL2 使用虚拟化技术,但简化了设备管理

Windows 11、WSL2 托管虚拟机和 Linux 内核的架构

真实 Linux 内核

WSL2 在轻量级托管虚拟机中运行 Linux 内核

Windows 集成

可以从 Linux 命令访问 Windows 文件,也可以在 Windows 中调用 Linux 工具

日常工具环境

适合 Python、Git、编译工具和 AI 开发工作流

22/27
WSL2 ARCHITECTURE

WSL2 的起点

完成 Linux 的第一个真实任务

Case
POWERSHELL
wsl --status
wsl --list --online
wsl -l -v
wsl --install -d Ubuntu
wsl -d Ubuntu
wsl --set-default Ubuntu
wsl --update
wsl --shutdown
01

检查

查看 WSL 状态和已安装发行版

02

安装

必要时安装默认 Linux 发行版

03

进入

启动默认发行版并建立普通用户

04

使用

运行 Linux 命令、Python 脚本或 Git 命令

23/27
WSL2 BASICS

选择 Workstation 还是 WSL2?

Exercise
任务优先环境主要理由
观察桥接、NAT 和仅主机网络Workstation需要控制虚拟网卡与网络
练习快照恢复和克隆Workstation需要完整虚拟机状态管理
日常运行 Python 与 AI 工具WSL2与 Windows 工作流结合
快速使用 Bash、Git 和包管理器WSL2不必维护完整桌面虚拟机
Takeaway

Workstation 可以控制虚拟网卡、快照和克隆,WSL2 适合持续使用 Linux

24/27
ENVIRONMENT CHOICE

练习:构建一个可复用的虚拟环境

写出环境说明与验收证据

  1. 01画出物理资源、虚拟化层、虚拟机和客户操作系统,并标出共享故障边界
  2. 02根据使用者与互联网、宿主机、局域网设备的访问关系选择网络模式
  3. 03写出证明客户系统、网络地址和 SSH 登录分别成立的最小证据
  4. 04为“可回退、可复制、可抗磁盘损坏”分别选择快照、克隆或独立备份
  5. 05在 Workstation 与 WSL2 之间选择环境,并说明任务是否需要控制虚拟网卡、快照或长期使用 Linux 命令
  6. 06假设同一环境改由公有云提供,列出服务器维护由谁完成,系统账号、应用和数据仍由谁管理
25/27
SECTION REVIEW

本节思维导图

26/27
MIND MAP

本节问题

  1. 01虚拟化层如何把物理资源提供给多个虚拟机?
  2. 02虚拟机相互隔离,为什么仍可能同时受到宿主机故障影响?
  3. 03Type 1 与 Type 2 的虚拟化层分别位于哪里,Workstation 属于哪一类?
  4. 04桥接、NAT 和仅主机如何改变访问路径?
  5. 05为什么快照不能替代独立备份?
  6. 06Workstation、WSL2 与公有云实例分别适合什么任务,资源入口、网络路径和管理责任怎样变化?
27/27
QUESTIONS