虚拟化初步了解

技术演变过程

  • 物理服务器--->虚拟化--->>云计算--->>>容器化时代

从资源管理与利用效率角度

物理服务器(独栋别墅)

  • 一台物理服务器,资源固定且独占,cpu,内存,磁盘利用率非常的低,资源浪费的非常严重

虚拟化(公寓楼)

  • 通过这个Hypervisor(如vmware,hyper-v)将这个物理资源,切割成多个相互隔离的虚拟机VM

  • 实现了资源的整合,但是每个虚拟机都需要携带完整的操作系统,非常繁琐,通常是GB级别的

云计算(酒店式服务公寓)

  • 虚拟化的升华,核心是资源池化和按需自助服务lass

  • 资源从静态分配变为动态弹性伸缩,按使用量计费,利用率最大化了,就是用户用多少我给多少,不会浪费掉

  • 不需要用户自己手动一个一个安装虚拟机,就只需要再网页上点几下就创建出来了,背后是自动化和API化

  • 阿里云等云厂商

  • 对于这个虚拟化的方便管理

容器化(集装箱与货轮)

  • 容器共享主机的OS内核,资源利用率更加的高

  • 每个容器都是共享主机的资源,cpu,内存,网络

  • 启动速度是秒级别的,但是隔离性比较的弱

  • 微服务

应用交付与运维角度

  • 物理服务器:“重装系统”。部署应用需准备硬件、安装OS、配置环境,过程以周/月计。运维依赖人工,易出现“雪花服务器”(配置独一无二),灾难恢复困难。

  • 虚拟化:“克隆虚拟机”。以虚拟机镜像(VM Image)为交付单元,部署速度提升至分钟/小时级。但镜像庞大(GB级),包含整个OS,迁移和分发效率低。

  • 云计算:“API调用与模板”。基础设施即代码(IaC),通过API和模板(如AWS CloudFormation, Terraform)自动化部署环境。强调可观测性和自动化运维。

  • 容器化:“镜像与编排”。以容器镜像为标准化交付单元,包含应用及其所有依赖。结合容器编排(如Kubernetes),实现声明式部署、服务发现、自愈和滚动更新,部署速度达秒级。DevOps和GitOps文化的技术基石。

演变的逻辑

  • 这是一条从 “刚性”到“柔性”、从 “以资源为中心”到“以应用为中心” 的清晰路径。

  • 虚拟化 解决了物理服务器 “硬” 的问题(浪费、不灵活)。

  • 云计算 解决了虚拟化 “静” 的问题(管理复杂、缺乏服务),提供了动态的资源海洋,用户需要多少,我提供多少

  • 容器化 解决了云计算环境下应用 “重” 的问题(VM镜像笨重、启动慢),让应用像集装箱一样标准、轻便、快速,能在云资源的海洋里自由漂移和编排。秒级别的启动这个容器

理解

  • 之前一个应用跑在一个物理服务器上面运行,比较的浪费资源

  • 虚拟化的出现,就是一个物理服务器虚拟出了多个虚拟机,10个,就可以跑10个应用,但是这个虚拟机都有完整的操作系统,比较的繁重,不易管理

  • 云计算的出现,对于这个虚拟化,有一个好的管理,可观测性,自动部署的环境,点几下网页就创建出来了

  • 容器化的出现,就是一个物理服务器,可以运行上百万个容器,这个容器都可以跑服务,而且非常的轻便,都是共享这个宿主机的资源

跑应用的演进之路

特性维度 物理服务器 虚拟化 云计算 (IaaS/PaaS) 容器化 (云原生)
核心价值 稳定、可控 整合、隔离 弹性、自助、服务化 敏捷、效率、可移植性
交付单元 物理主机 虚拟机镜像 云服务/API 容器镜像
部署速度 周/月 分钟/小时 分钟
资源粒度 整台服务器 虚拟CPU/内存 更细的API资源 进程级,极致细粒度
运维模式 人工、脚本 集中化虚拟化管理 自动化、可观测 声明式、自治、GitOps

Hypervisor两种类型

  • 是一个虚拟管理器

  • 资源虚拟化

    • CPU虚拟化:将物理CPU核心虚拟为多个vCPU

    • 内存虚拟化:为每个VM分配独立的内存空间

    • I/O虚拟化:虚拟网卡、虚拟磁盘控制器等

    • 设备虚拟化:虚拟显卡、USB设备等

  • 虚拟机管理

    • 创建、启动、停止、暂停、迁移VM

    • 快照功能(保存VM某个时间点的状态)

    • 实时迁移(VMotion/Live Migration)

  • Hypervisor就是虚拟化技术的"交通警察":

    • 指挥交通:调度CPU、内存、I/O资源

    • 划分车道:为每个VM创建独立的运行空间

    • 确保安全:防止VM之间相互干扰

    • 提高效率:让一台物理机发挥多台的作用

裸机Hypervisor(Bare-metal)

  • 直接安装在物理硬件上

  • 就是安装一个vmware esxi/hypre-v/proxmox 本身就是一个极简的操作系统

  • 上面也可以创建多个虚拟机

  • 特点

    • 性能高,直接访问硬件

    • 安全性好,没有中间层

    • 用于服务器和数据中心

    • 例子:VMware ESXi, Microsoft Hyper-V, Citrix XenServer, KVM(Linux内核模块)

  • 案例

    • 一个centos物理服务器安装 Hypervisor(如KVM、ESXi、Hyper-V),跑一个openstack,上面有这个vm

    • 虽然这个服务器有操作系统,这个kvm集成在这个操作系统上面,如果是下面的基于在软件上面,就没有这个KVM包

    • 操作系统与这个虚拟化监控器是集成的,kvm和这个centos服务器

托管Hypervisor(Hosted)

  • 安装在现有操作系统之上,就是在操作系统上面安装了一个虚拟化监控器,而不是集成(与上面的区别)

  • 就是我们电脑上面安装一个vmware workstation软件,在这个软件上面可以创建多个虚拟机,有这个中间层

  • 特点

    • 安装简单,像普通软件一样

    • 性能有损耗(通过宿主机OS)

    • 主要用于开发、测试、桌面虚拟化

硬件辅助虚拟化

  • vmware软件完全虚拟化,cpu硬件辅助虚拟化支持
posted @ 2025-12-20 21:40  乔的港口  阅读(12)  评论(0)    收藏  举报