100个虚拟化基础知识

2025-11-04 09:11:15 RAIZ
虚拟化是云计算的基础,它通过资源管理技术,将单台物理计算机的硬件资源(如处理器、内存、存储等)划分为多个虚拟计算机(虚拟机),每个虚拟机都可以运行自己的操作系统和应用程序,仿佛它是独立的计算机,从而显著提高硬件资源的利用率。
下面这100个基础知识,阿祥将它们分为几个核心类别,希望能帮助有需要学习这类知识的粉丝朋友系统性地构建对虚拟化的理解。
睿智创新RAIZ,一体化IT服务提供商
虚拟化核心概念与类型

  1. 虚拟化定义:一种计算机资源管理技术,通过软件模拟硬件资源(CPU/内存/存储/网络),将物理设备进行逻辑化,实现软硬件解耦。
  2. 虚拟机:通过虚拟化技术创建的、可运行独立操作系统和应用的逻辑计算机实例。
  3. 宿主机:运行虚拟化软件的物理服务器。
  4. 客户机:运行在宿主机上的虚拟机。
  5. Hypervisor:又称虚拟机监视器,是虚拟化技术的核心软件层,运行在物理服务器和操作系统之间,负责管理和创建虚拟机。
  6. 全虚拟化:虚拟机无需修改操作系统即可运行(如VMware Workstation)。
  7. 半虚拟化:需要修改客户机操作系统内核以提高性能(如Xen)。
  8. 硬件辅助虚拟化:利用Intel VT-x或AMD-V等CPU硬件特性来加速虚拟化。
  9. 寄居虚拟化:虚拟化层运行在宿主操作系统之上(如VMware Workstation, VirtualBox)。
  10. 裸金属虚拟化:虚拟化层直接安装在硬件上,不依赖宿主操作系统(如VMware ESXi, Xen)。
  11. 混合虚拟化:结合寄居和裸金属虚拟化特性,在现有操作系统内核中加入虚拟化模块(如KVM)。
  12. 容器虚拟化:一种轻量级虚拟化,容器共享宿主机OS内核,实现进程级隔离(如Docker)。
  13. 虚拟化的优势:主要包括资源隔离、弹性扩展、降低成本、提高硬件利用率、高可用性等。
  14. 虚拟化的缺点:包括前期可能投入高、存在性能开销、错误影响面可能更大、配置管理复杂等。
Hypervisor类型与平台

  1. Type 1 Hypervisor:裸金属型,直接运行在服务器硬件上,性能更优(如VMware ESXi, Microsoft Hyper-V, Xen)。
  2. Type 2 Hypervisor:托管型/宿主机型,运行在操作系统上(如VirtualBox, VMware Workstation)。
  3. 开源Hypervisor:如KVM, Xen, Proxmox VE。
  4. 商业Hypervisor:如VMware ESXi, Microsoft Hyper-V, Nutanix AHV。
  5. VMware vSphere:企业级虚拟化套件,包含ESXi Hypervisor和vCenter管理平台。
  6. Microsoft Hyper-V:Windows Server内置的虚拟化方案,也提供独立Hyper-V Server。
  7. KVM:基于Linux内核的开源虚拟化模块,通常与QEMU配合使用。
  8. Xen:采用半虚拟化技术的开源VMM,曾用于AWS等公有云。
  9. Oracle VirtualBox:跨平台的桌面虚拟化工具。
  10. Proxmox VE:基于KVM和LXC(Linux容器)的开源虚拟化管理平台。
虚拟化关键技术

  1. vCPU:虚拟CPU,由物理CPU核心通过时间分片等方式虚拟而来。
  2. 内存虚拟化:Hypervisor动态映射虚拟机内存到物理内存,实现多虚拟机内存隔离与复用。
  3. 内存超分:承诺给虚拟机的内存总量可超过物理机实际内存,基于虚拟机通常不会同时满负荷运行的假设。
  4. 内存气球驱动:一种内存回收技术,通过在客户机内安装驱动“吹大气球”占用内存,提示Hypervisor回收这些页面。
  5. 存储虚拟化:抽象物理存储设备,形成统一存储资源池,按需分配虚拟磁盘。
  6. 网络虚拟化:通过软件创建虚拟网络组件(如虚拟交换机、虚拟网卡),连接虚拟机并管理网络流量。
  7. 动态迁移(热迁移):在虚拟机运行状态下,将其从一台物理主机迁移至另一台,实现零停机维护。
  8. 冷迁移:需先关闭虚拟机再进行迁移。
  9. 快照:保存虚拟机在某一特定时间点的状态(包括磁盘、内存、配置),便于后续回滚。
  10. 克隆:快速复制一台虚拟机。
  11. 模板:预配置的标准化虚拟机镜像,用于快速部署新的、配置一致的虚拟机。
  12. 资源池:将CPU、内存等物理资源逻辑划分成池,进行灵活分配和管理。
  13. 高可用性:当物理主机发生故障时,自动在其他主机上重启该主机上的虚拟机,减少停机时间。
网络与存储虚拟化

  1. 虚拟网卡:虚拟机内部的虚拟网络接口卡。
  2. 虚拟交换机:运行在宿主机内部的软件交换机,负责虚拟机之间及虚拟机与外部网络的通信。
  3. 分布式虚拟交换机:可跨越多台物理主机进行统一配置和管理的虚拟交换机。
  4. VLAN:虚拟局域网,用于在物理网络基础上逻辑划分出隔离的网络。
  5. VXLAN:一种Overlay网络技术,通过封装扩展二层网络规模,克服VLAN数量限制。
  6. NFV:网络功能虚拟化,将防火墙、负载均衡等传统专用网络设备功能通过软件实现。
  7. SR-IOV:一种PCIe标准,允许单个物理网卡虚拟出多个“虚拟功能”直接分配给虚拟机,提升I/O性能。
  8. 端口组:虚拟交换机上的一组端口,用于应用统一的网络策略(如VLAN ID)。
  9. 虚拟磁盘格式:如VMDK(VMware)、VHD/X(Hyper-V)、qcow2(KVM)。
  10. 厚置备:创建虚拟磁盘时立即分配全部所需存储空间。
  11. 精简置备:虚拟磁盘初始占用很小空间,随数据写入动态增长,提高存储利用率。
  12. 存储迁移:将虚拟机的磁盘文件从一个存储设备在线迁移到另一个。
  13. iSCSI存储:基于IP网络的块存储协议,可用于虚拟化环境。
  14. NFS存储:网络文件系统,常用于虚拟机共享存储。
  15. 直通磁盘:允许虚拟机直接访问和控制物理存储设备,减少开销。
管理、安全与隔离

  1. vCenter Server:VMware vSphere的中心管理平台。
  2. SCVMM:Microsoft System Center Virtual Machine Manager,用于管理Hyper-V环境。
  3. oVirt:基于KVM的开源虚拟化管理平台。
  4. Terraform:基础设施即代码工具,可声明式定义和管理虚拟化资源。
  5. Ansible:自动化配置管理工具,可用于虚拟机配置。
  6. Libvirt:一套管理Linux虚拟化功能的API和工具集,支持KVM、Xen等。
  7. Cloud-init:广泛应用于云计算实例的初始化配置工具。
  8. 虚拟机逃逸:一种罕见但高危的攻击,攻击者突破虚拟机隔离,影响到宿主机或其他虚拟机。
  9. RBAC:基于角色的访问控制,管理用户对虚拟化资源的访问权限。
  10. 微隔离:在虚拟网络内部进行更精细化的安全策略划分。
  11. 加密虚拟机:对虚拟机的静态数据和传输中数据进行加密。
云计算集成与高级主题

  1. IaaS:基础设施即服务,如AWS EC2、Azure VM,其底层通常基于虚拟化技术。
  2. 混合云:跨私有云和公有云的虚拟机统一管理。
  3. 边缘计算:虚拟化技术在边缘节点的应用。
  4. 容器 vs 虚拟机:容器共享宿主机OS内核,更轻量、启动快;虚拟机包含完整OS,隔离性更强。
  5. KubeVirt:允许在Kubernetes集群上运行和管理虚拟机的技术。
  6. 嵌套虚拟化:在虚拟机内再开启虚拟化功能运行其他虚拟机。
  7. GPU虚拟化:将物理GPU资源虚拟化,供多个虚拟机共享使用(如NVIDIA vGPU)。
  8. 机密计算:一种保护数据使用安全的技术,例如对虚拟机内存中的数据进行加密。
性能优化与故障排查

  1. CPU就绪时间:衡量虚拟机等待物理CPU资源的时间,是性能关键指标。
  2. 内存交换:当物理内存不足时,宿主机将部分内存数据交换到磁盘,导致性能显著下降。
  3. 磁盘抖动:因内存不足导致系统频繁在内存和磁盘间交换数据,引发大量I/O操作。
  4. NUMA对齐:优化虚拟机vCPU和内存的分配,使其尽量位于同一NUMA节点内,减少跨节点访问延迟。
  5. 资源限制:为虚拟机设定的CPU、内存等资源的使用上限。
  6. 资源预留:为虚拟机保证的CPU、内存等资源的最小分配量。
  7. QoS:服务质量,通过对资源进行优先级划分和限速,保障关键业务性能。
虚拟化与容器化深度解析

  1. Docker:目前最流行的容器虚拟化实现之一。
  2. LXC/LXD:Linux容器虚拟化方案。
  3. Namespace:Linux内核特性,用于实现容器间的资源隔离(如PID、Network、Mount namespace)。
  4. Cgroups:Linux内核特性,用于限制和隔离容器使用的资源量(如CPU、内存)。
  5. 容器镜像:一个轻量级、独立、可执行的软件包,包含运行应用所需的一切。
  6. 镜像仓库:存储和分发容器镜像的平台(如Docker Hub, Harbor)。
  7. 容器编排:自动化容器部署、管理和扩展的系统(如Kubernetes, Docker Swarm)。
  8. 微服务:一种将应用程序构建为一组小型服务的方法,每个服务运行在自己的进程中,通常与容器技术结合部署。
  9. DevOps:开发与运维的协同,虚拟化和容器化技术通过快速环境提供等促进其发展。
虚拟化应用场景与桌面虚拟化

  1. 服务器整合:将多台低利用率物理服务器整合到更少的物理主机上,降低成本与能耗。
  2. 开发测试:快速创建/销毁隔离的沙箱环境,提升开发测试效率。
  3. 灾难恢复:通过虚拟机快照、备份和迁移快速恢复业务。
  4. 遗留系统兼容:在虚拟环境中运行老旧操作系统和应用,避免硬件依赖。
  5. VDI:桌面虚拟化,将桌面环境在数据中心托管,用户通过瘦客户端等设备远程访问。
  6. 桌面虚拟化协议:如Microsoft RDP, VMware PCoIP, Citrix HDX/ICA, Red Hat SPICE等。
  7. 瘦客户端:一种依赖后端服务器执行计算任务的轻量终端设备。
企业级特性与规划

  1. SLA:服务等级协议,定义服务提供者和用户之间认可的服务质量指标。
  2. 许可证管理:虚拟化环境的授权通常基于物理CPU核心数、插槽数或虚拟机实例数量等模型。
  3. 备份方式:包括全量/增量备份、快照、基于存储的复制等。
  4. 灾备方案:包括跨站点容灾(如VMware SRM)、高可用集群等。
  5. 兼容性测试:虚拟化部署前需验证硬件、操作系统、应用的兼容性。
  6. 未来趋势:包括Serverless容器、超轻量虚拟化(如Firecracker)、量子计算虚拟化等

我要咨询