100个虚拟化基础知识
2025-11-04 09:11:15
RAIZ

虚拟化定义:一种计算机资源管理技术,通过软件模拟硬件资源(CPU/内存/存储/网络),将物理设备进行逻辑化,实现软硬件解耦。 虚拟机:通过虚拟化技术创建的、可运行独立操作系统和应用的逻辑计算机实例。 宿主机:运行虚拟化软件的物理服务器。 客户机:运行在宿主机上的虚拟机。 Hypervisor:又称虚拟机监视器,是虚拟化技术的核心软件层,运行在物理服务器和操作系统之间,负责管理和创建虚拟机。 全虚拟化:虚拟机无需修改操作系统即可运行(如VMware Workstation)。 半虚拟化:需要修改客户机操作系统内核以提高性能(如Xen)。 硬件辅助虚拟化:利用Intel VT-x或AMD-V等CPU硬件特性来加速虚拟化。 寄居虚拟化:虚拟化层运行在宿主操作系统之上(如VMware Workstation, VirtualBox)。 裸金属虚拟化:虚拟化层直接安装在硬件上,不依赖宿主操作系统(如VMware ESXi, Xen)。 混合虚拟化:结合寄居和裸金属虚拟化特性,在现有操作系统内核中加入虚拟化模块(如KVM)。 容器虚拟化:一种轻量级虚拟化,容器共享宿主机OS内核,实现进程级隔离(如Docker)。 虚拟化的优势:主要包括资源隔离、弹性扩展、降低成本、提高硬件利用率、高可用性等。 虚拟化的缺点:包括前期可能投入高、存在性能开销、错误影响面可能更大、配置管理复杂等。
Type 1 Hypervisor:裸金属型,直接运行在服务器硬件上,性能更优(如VMware ESXi, Microsoft Hyper-V, Xen)。 Type 2 Hypervisor:托管型/宿主机型,运行在操作系统上(如VirtualBox, VMware Workstation)。 开源Hypervisor:如KVM, Xen, Proxmox VE。 商业Hypervisor:如VMware ESXi, Microsoft Hyper-V, Nutanix AHV。 VMware vSphere:企业级虚拟化套件,包含ESXi Hypervisor和vCenter管理平台。 Microsoft Hyper-V:Windows Server内置的虚拟化方案,也提供独立Hyper-V Server。 KVM:基于Linux内核的开源虚拟化模块,通常与QEMU配合使用。 Xen:采用半虚拟化技术的开源VMM,曾用于AWS等公有云。 Oracle VirtualBox:跨平台的桌面虚拟化工具。 Proxmox VE:基于KVM和LXC(Linux容器)的开源虚拟化管理平台。
vCPU:虚拟CPU,由物理CPU核心通过时间分片等方式虚拟而来。 内存虚拟化:Hypervisor动态映射虚拟机内存到物理内存,实现多虚拟机内存隔离与复用。 内存超分:承诺给虚拟机的内存总量可超过物理机实际内存,基于虚拟机通常不会同时满负荷运行的假设。 内存气球驱动:一种内存回收技术,通过在客户机内安装驱动“吹大气球”占用内存,提示Hypervisor回收这些页面。 存储虚拟化:抽象物理存储设备,形成统一存储资源池,按需分配虚拟磁盘。 网络虚拟化:通过软件创建虚拟网络组件(如虚拟交换机、虚拟网卡),连接虚拟机并管理网络流量。 动态迁移(热迁移):在虚拟机运行状态下,将其从一台物理主机迁移至另一台,实现零停机维护。 冷迁移:需先关闭虚拟机再进行迁移。 快照:保存虚拟机在某一特定时间点的状态(包括磁盘、内存、配置),便于后续回滚。 克隆:快速复制一台虚拟机。 模板:预配置的标准化虚拟机镜像,用于快速部署新的、配置一致的虚拟机。 资源池:将CPU、内存等物理资源逻辑划分成池,进行灵活分配和管理。 高可用性:当物理主机发生故障时,自动在其他主机上重启该主机上的虚拟机,减少停机时间。
虚拟网卡:虚拟机内部的虚拟网络接口卡。 虚拟交换机:运行在宿主机内部的软件交换机,负责虚拟机之间及虚拟机与外部网络的通信。 分布式虚拟交换机:可跨越多台物理主机进行统一配置和管理的虚拟交换机。 VLAN:虚拟局域网,用于在物理网络基础上逻辑划分出隔离的网络。 VXLAN:一种Overlay网络技术,通过封装扩展二层网络规模,克服VLAN数量限制。 NFV:网络功能虚拟化,将防火墙、负载均衡等传统专用网络设备功能通过软件实现。 SR-IOV:一种PCIe标准,允许单个物理网卡虚拟出多个“虚拟功能”直接分配给虚拟机,提升I/O性能。 端口组:虚拟交换机上的一组端口,用于应用统一的网络策略(如VLAN ID)。 虚拟磁盘格式:如VMDK(VMware)、VHD/X(Hyper-V)、qcow2(KVM)。 厚置备:创建虚拟磁盘时立即分配全部所需存储空间。 精简置备:虚拟磁盘初始占用很小空间,随数据写入动态增长,提高存储利用率。 存储迁移:将虚拟机的磁盘文件从一个存储设备在线迁移到另一个。 iSCSI存储:基于IP网络的块存储协议,可用于虚拟化环境。 NFS存储:网络文件系统,常用于虚拟机共享存储。 直通磁盘:允许虚拟机直接访问和控制物理存储设备,减少开销。
vCenter Server:VMware vSphere的中心管理平台。 SCVMM:Microsoft System Center Virtual Machine Manager,用于管理Hyper-V环境。 oVirt:基于KVM的开源虚拟化管理平台。 Terraform:基础设施即代码工具,可声明式定义和管理虚拟化资源。 Ansible:自动化配置管理工具,可用于虚拟机配置。 Libvirt:一套管理Linux虚拟化功能的API和工具集,支持KVM、Xen等。 Cloud-init:广泛应用于云计算实例的初始化配置工具。 虚拟机逃逸:一种罕见但高危的攻击,攻击者突破虚拟机隔离,影响到宿主机或其他虚拟机。 RBAC:基于角色的访问控制,管理用户对虚拟化资源的访问权限。 微隔离:在虚拟网络内部进行更精细化的安全策略划分。 加密虚拟机:对虚拟机的静态数据和传输中数据进行加密。
IaaS:基础设施即服务,如AWS EC2、Azure VM,其底层通常基于虚拟化技术。 混合云:跨私有云和公有云的虚拟机统一管理。 边缘计算:虚拟化技术在边缘节点的应用。 容器 vs 虚拟机:容器共享宿主机OS内核,更轻量、启动快;虚拟机包含完整OS,隔离性更强。 KubeVirt:允许在Kubernetes集群上运行和管理虚拟机的技术。 嵌套虚拟化:在虚拟机内再开启虚拟化功能运行其他虚拟机。 GPU虚拟化:将物理GPU资源虚拟化,供多个虚拟机共享使用(如NVIDIA vGPU)。 机密计算:一种保护数据使用安全的技术,例如对虚拟机内存中的数据进行加密。
CPU就绪时间:衡量虚拟机等待物理CPU资源的时间,是性能关键指标。 内存交换:当物理内存不足时,宿主机将部分内存数据交换到磁盘,导致性能显著下降。 磁盘抖动:因内存不足导致系统频繁在内存和磁盘间交换数据,引发大量I/O操作。 NUMA对齐:优化虚拟机vCPU和内存的分配,使其尽量位于同一NUMA节点内,减少跨节点访问延迟。 资源限制:为虚拟机设定的CPU、内存等资源的使用上限。 资源预留:为虚拟机保证的CPU、内存等资源的最小分配量。 QoS:服务质量,通过对资源进行优先级划分和限速,保障关键业务性能。
Docker:目前最流行的容器虚拟化实现之一。 LXC/LXD:Linux容器虚拟化方案。 Namespace:Linux内核特性,用于实现容器间的资源隔离(如PID、Network、Mount namespace)。 Cgroups:Linux内核特性,用于限制和隔离容器使用的资源量(如CPU、内存)。 容器镜像:一个轻量级、独立、可执行的软件包,包含运行应用所需的一切。 镜像仓库:存储和分发容器镜像的平台(如Docker Hub, Harbor)。 容器编排:自动化容器部署、管理和扩展的系统(如Kubernetes, Docker Swarm)。 微服务:一种将应用程序构建为一组小型服务的方法,每个服务运行在自己的进程中,通常与容器技术结合部署。 DevOps:开发与运维的协同,虚拟化和容器化技术通过快速环境提供等促进其发展。
服务器整合:将多台低利用率物理服务器整合到更少的物理主机上,降低成本与能耗。 开发测试:快速创建/销毁隔离的沙箱环境,提升开发测试效率。 灾难恢复:通过虚拟机快照、备份和迁移快速恢复业务。 遗留系统兼容:在虚拟环境中运行老旧操作系统和应用,避免硬件依赖。 VDI:桌面虚拟化,将桌面环境在数据中心托管,用户通过瘦客户端等设备远程访问。 桌面虚拟化协议:如Microsoft RDP, VMware PCoIP, Citrix HDX/ICA, Red Hat SPICE等。 瘦客户端:一种依赖后端服务器执行计算任务的轻量终端设备。
SLA:服务等级协议,定义服务提供者和用户之间认可的服务质量指标。 许可证管理:虚拟化环境的授权通常基于物理CPU核心数、插槽数或虚拟机实例数量等模型。 备份方式:包括全量/增量备份、快照、基于存储的复制等。 灾备方案:包括跨站点容灾(如VMware SRM)、高可用集群等。 兼容性测试:虚拟化部署前需验证硬件、操作系统、应用的兼容性。 未来趋势:包括Serverless容器、超轻量虚拟化(如Firecracker)、量子计算虚拟化等