概述

虚拟化技术的演进与意义

虚拟化(Virtualization)是现代数据中心和云计算基础设施的基石技术。它将物理硬件资源(计算、存储、网络)抽象为逻辑资源池,使多个操作系统和应用程序能够在一台物理服务器上独立、安全地运行。这项技术从根本上改变了企业 IT 基础设施的交付、管理和消费方式。

虚拟化技术的起源可以追溯到 20 世纪 60 年代 IBM 的大型机虚拟化技术(如 CP-40/CMS 系统),当时的目的是让多个用户能够共享昂贵的大型机资源。然而,直到 21 世纪初,x86 服务器虚拟化才真正进入快速发展期。2001 年,VMware 发布了第一款 x86 虚拟化产品 VMware Workstation,开启了 x86 服务器虚拟化的新纪元。此后,VMware 先后推出了 ESX/ESXi 裸机型 Hypervisor、vSphere 平台、vCenter 管理服务器等一系列产品,逐步构建了业界最成熟的服务器虚拟化平台。

根据 Gartner 的市场分析报告,截至 2025 年,全球超过 80% 的企业数据中心运行了虚拟化工作负载,其中 VMware vSphere 以约 70% 的市场份额占据绝对主导地位。即使在公有云高度普及的今天,VMware 仍然在私有云和混合云场景中占据不可替代的位置。

为什么选择 VMware vSphere

VMware vSphere 是业界最成熟、功能最全面的服务器虚拟化平台之一。选择 VMware vSphere 作为虚拟化基础设施的核心原因包括:

  1. 成熟稳定的平台:VMware 拥有超过 20 年的虚拟化技术积累,vSphere 在全球数百个超大规模数据中心中得到验证,其稳定性和可靠性经过了严苛的考验。

  2. 丰富的企业级功能:vSphere 提供了 vMotion(在线迁移)、HA(高可用)、DRS(分布式资源调度)、FT(容错)、DPM(分布式电源管理)等丰富的企业级功能,能够满足从中小型企业到大型数据中心的各种需求。

  3. 广泛的操作系统兼容性:vSphere 支持 Windows、Linux(几乎所有主流发行版)、FreeBSD、Solaris 等数百种操作系统版本,可以运行几乎任何 x86 工作负载。

  4. 强大的存储和网络虚拟化:通过 vSAN 和 NSX,VMware 提供了完整的软件定义存储和软件定义网络解决方案,构建完整的软件定义数据中心(SDDC)。

  5. 丰富的生态系统:VMware 拥有全球最大的虚拟化生态系统,几乎所有主流硬件厂商(Dell、HPE、Cisco、Lenovo、Fujitsu 等)、存储厂商(NetApp、Pure Storage、Dell EMC 等)和软件厂商都提供 VMware 认证和支持。

应用场景

VMware vSphere 在以下典型场景中发挥重要作用:

  1. 服务器整合:将多台物理服务器上的工作负载整合到较少的高性能物理服务器上,提高资源利用率(通常从 5-15% 提升到 60-80%),降低硬件采购成本、电力消耗和机房空间需求。

  2. 业务连续性:通过 vSphere HA 和 Fault Tolerance 实现自动化故障恢复,确保关键业务应用的持续可用性。当一个 ESXi 主机发生故障时,其上运行的虚拟机能够在其他健康主机上自动重启。

  3. 开发和测试环境:为开发团队提供快速部署和回收的虚拟化测试环境,支持快照、克隆、模板等功能,大幅缩短环境准备时间(从天级别缩短到分钟级别)。

  4. 灾难恢复:利用 vSphere Replication 和 Site Recovery Manager(SRM)实现异地容灾,从灾难性故障中快速恢复业务服务。

  5. 混合云扩展:通过 VMware Cloud Foundation(VCF)和 VMware Cloud on AWS,实现本地数据中心与公有云之间的工作负载迁移和混合部署。

学习目标

通过本篇文章的学习,读者将能够:

  1. 理解虚拟化技术的基本原理和分类
  2. 掌握 VMware vSphere 的产品体系架构
  3. 了解 ESXi Hypervisor 的核心组件和设计理念
  4. 熟悉 vCenter Server 的功能和角色
  5. 理解 VMFS、虚拟交换机、资源池等关键技术概念
  6. 掌握 VMware 虚拟化的基本安装流程
  7. 学会使用 vSphere Client 进行基本管理操作

核心概念

虚拟化技术的基本原理

什么是 Hypervisor

Hypervisor(虚拟机监控器/VMM)是虚拟化技术的核心组件。它是一个软件层,运行在物理硬件之上,负责将物理硬件资源抽象为虚拟资源,并管理多个虚拟机(VM)的执行。Hypervisor 运行在比操作系统更高的特权级别,控制所有硬件访问并确保虚拟机之间的隔离。

根据实现架构,Hypervisor 分为两类:

Type 1(裸机型)Hypervisor:直接运行在物理硬件上,没有底层操作系统。这种架构具有最高的性能和最低的开销,因为虚拟机直接通过 Hypervisor 访问硬件资源。VMware ESXi/ESX、Microsoft Hyper-V、KVM(Linux 内核模块)、Xen 都属于 Type 1 Hypervisor。

Type 2(宿主型)Hypervisor:运行在现有的操作系统(宿主机 OS)之上,虚拟化层作为操作系统的一个应用程序运行。这种架构性能较差(因为需要经过两层调度),但部署简单,适合桌面虚拟化或测试环境。VMware Workstation、Oracle VirtualBox、Parallels Desktop 属于 Type 2 Hypervisor。

VMware vSphere 使用的是 Type 1 Hypervisor — VMware ESXi。ESXi 去掉了老一代 ESX 产品中的 Service Console(基于 Red Hat Linux 的管理控制台),采用了精简的架构设计,将管理功能直接集成在 VMkernel 中,从而显著减小了攻击面和资源开销。

CPU 虚拟化

CPU 虚拟化是虚拟化技术中最核心、最复杂的部分。Hypervisor 需要让多个虚拟机共享物理 CPU 资源,同时每个虚拟机认为自己独占 CPU。这通过以下几种机制实现:

全虚拟化(Full Virtualization):Hypervisor 通过二进制翻译(Binary Translation)技术处理客户操作系统的特权指令,将敏感指令动态替换为安全指令序列。这种方式不需要对客户操作系统进行修改,但性能有较大损耗。早期的 VMware ESX 采用这种技术。

半虚拟化(Paravirtualization):客户操作系统通过修改其内核代码,主动调用 Hypervisor 提供的 Hypercall 接口,以协作方式完成特权操作。这种方式性能较好,但需要修改客户操作系统。Xen 是半虚拟化的典型代表。

硬件辅助虚拟化(Hardware-Assisted Virtualization):Intel VT-x(Vanderpool)和 AMD-V(Pacifica)技术在处理器层面提供了对虚拟化的原生支持,引入了根模式(Root Mode,Hypervisor 运行模式)和非根模式(Non-Root Mode,虚拟机运行模式)。特权指令不再需要二进制翻译或 Hypercall,而是由 CPU 硬件直接处理。这极大地简化了 Hypervisor 的实现并提升了性能。现代 VMware vSphere 完全依赖硬件辅助虚拟化。

以下是硬件辅助虚拟化的关键 CPU 特性要求:

CPU 特性 Intel 名称 AMD 名称 说明
虚拟化扩展 VT-x AMD-V 基本的硬件辅助虚拟化支持
内存虚拟化 EPT(扩展页表) RVI(快速虚拟化索引)/NPT 由硬件处理虚拟机内存地址转换
I/O 虚拟化 VT-d AMD-Vi/IOMMU 将物理 I/O 设备直接分配给虚拟机

内存虚拟化

内存虚拟化管理虚拟机对物理内存的访问。在虚拟化环境中存在三层地址空间:虚拟机中的客户物理地址(Guest Physical Address, GPA)、Hypervisor 中的机器物理地址(Machine Physical Address, MPA)以及物理硬件中的系统物理地址(System Physical Address, SPA)。

传统的内存虚拟化使用影子页表(Shadow Page Tables):Hypervisor 维护一组客户虚拟地址到机器物理地址的映射,由 Hypervisor 拦截和处理虚拟机对页表的访问。这种方式实现复杂且性能损耗较大。

硬件辅助内存虚拟化(Intel EPT 和 AMD RVI/NPT)由 CPU 硬件直接处理两阶段地址转换(虚拟机 GPA → MPA),无需 Hypervisor 干预。这大幅提升了内存访问性能,是现代 vSphere 默认使用的方式。

VMware vSphere 支持以下几项关键内存管理技术:

  • 内存过量分配(Memory Overcommitment):允许分配给所有虚拟机的内存总量超过物理内存总量。vSphere 假设大多数虚拟机不会同时使用其最大配置内存。
  • 透明页共享(Transparent Page Sharing, TPS):自动检测并合并多个虚拟机中相同内容的内存页,减少物理内存占用。在具有相似操作系统和应用程序的环境中效果显著。
  • 内存气球驱动(Memory Ballooning):VMware Tools 中的气球驱动(vmmemctl)在物理内存不足时,从虚拟机内部回收空闲内存页面。
  • 内存压缩(Memory Compression):在交换到磁盘之前,尝试压缩内存页面以减少 I/O 开销。
  • 交换到主机缓存(Swap to Host Cache):使用 SSD 作为交换缓存,减少内存交换对性能的影响。

I/O 虚拟化

I/O 虚拟化管理虚拟机对存储和网络设备的访问。VMware vSphere 支持以下 I/O 虚拟化方式:

完全虚拟化:Hypervisor 模拟标准硬件设备(如 Intel E1000 网卡、LSI Logic SCSI 控制器),虚拟机使用标准驱动即可访问。兼容性好,但性能受到软件模拟的限制。

半虚拟化:VMware 提供半虚拟化设备驱动(VMXNET 系列网卡、ParaVirtual SCSI 控制器),虚拟机安装 VMware Tools 后,通过 VMkernel 提供的优化通道访问硬件,性能较完全虚拟化大幅提升。

硬件直通(Passthrough):通过 Intel VT-d 或 AMD-Vi 技术,将物理设备直接分配给虚拟机,虚拟机直接访问硬件。性能接近裸金属,但牺牲了灵活性(虚拟机无法热迁移)。

SR-IOV(Single Root I/O Virtualization):物理设备在硬件层面呈现为多个虚拟功能(VF),每个 VF 可直接分配给虚拟机。兼具高性能和一定程度的灵活性。

VMware vSphere 产品体系架构

VMware vSphere 不是一个单一产品,而是一个产品套件,包含以下核心组件:

ESXi Hypervisor

ESXi(Elastic Sky X Integrated)是 VMware 的 Type 1 Hypervisor,是 vSphere 平台的基础组件。它直接运行在物理服务器硬件上,负责管理和分配硬件资源给运行在其上的虚拟机。

ESXi 的核心是 VMkernel——一个微内核架构的操作系统,专门设计用于高效管理虚拟机。VMkernel 负责处理以下核心功能:

  • CPU 调度:决定哪个虚拟 CPU(vCPU)在哪个物理 CPU 上运行
  • 内存管理:管理虚拟机内存分配、页面共享、气球回收等
  • 存储栈:提供 VMFS 文件系统、VMFS 集群文件系统、存储 I/O 控制等
  • 网络栈:提供虚拟交换机、分布式交换机、网络 I/O 控制等
  • 资源调度:管理 CPU 和内存的资源份额、预留(Reservation)和限制(Limit)

ESXi 采用精简设计,安装包体积仅约 130MB,没有传统操作系统的庞大组件。它具有以下优势:

  • 极小的攻击面:仅有必要的网络接口和管理服务,无通用操作系统组件
  • 极低的开销:Hypervisor 自身仅占用约 100-150MB 内存
  • 快速的启动时间:从加电到正常运行通常在 2-5 分钟内
  • 硬件兼容性广泛:经过 VMware HCL(硬件兼容性列表)认证的服务器均可安装

vCenter Server

vCenter Server 是 vSphere 的集中管理平台,提供对多个 ESXi 主机和虚拟机的统一管理。它运行在 Windows Server 或 Linux(vCenter Server Appliance,VCSA)上。VCSA 是 VMware 推荐的部署方式,基于 Photon OS(VMware 的轻量级 Linux 发行版)。

vCenter Server 提供以下核心功能:

  1. 集中认证与权限管理:与 Active Directory、LDAP 集成,实现基于角色的访问控制(RBAC)
  2. 集群管理:将多个 ESXi 主机组织为集群,启用 DRS、HA 等高级功能
  3. 资源管理:管理资源池、自定义 CPU/内存分配策略
  4. 网络管理:管理分布式交换机(vDS)、端口组
  5. 存储管理:管理数据存储(Datastore)、存储策略
  6. 监控与告警:集中监控主机和虚拟机的健康状态、性能指标
  7. 自动化与编排:提供 vSphere API 和 SDK,支持自动化运维
  8. 内容库(Content Library):集中管理 VM 模板、ISO 镜像、OVF 模板等
  9. vCenter 链接模式(Enhanced Linked Mode):管理多个 vCenter Server 实例

vSphere Client

vSphere Client 是管理员管理 vSphere 环境的用户界面。存在两种版本:

  1. HTML5 Web Client(vSphere Client):基于 HTML5 的 Web 管理界面,无需安装客户端软件,通过浏览器直接访问 vCenter Server 或 ESXi 主机。
  2. Host Client:直接连接到单个 ESXi 主机的 Web 界面,适合管理单主机环境。

VMware Tools

VMware Tools 是安装在虚拟机内部的一组驱动和服务程序,显著提升虚拟机的性能和可管理性。关键组件包括:

  • 半虚拟化设备驱动(VMXNET 网卡、PVSCSI 存储驱动等)
  • 内存气球驱动(vmmemctl)
  • 时间同步服务
  • 快照静默(Quiescing)支持
  • 心跳检测
  • 客户机操作系统信息上报

vSphere VMFS(Virtual Machine File System)

VMFS 是 VMware 开发的高性能集群文件系统,专门设计用于存储虚拟机文件。它允许多个 ESXi 主机同时访问共享存储上的同一个 VMFS 卷。

VMFS 的关键特性:

  • 集群感知:多个主机可以同时读写同一个 VMFS 卷,通过分布式锁机制确保一致性
  • 支持大型文件:单个文件最大支持 62TB(VMFS 6.x)
  • 热扩展:可在不卸载卷的情况下扩展 VMFS 数据存储
  • 快速快照:使用重定向写入(Redirect-on-Write)技术实现几乎即时的快照创建
  • Atomic Test and Set(ATS):使用硬件辅助锁定机制提升存储性能

VMFS 发展至今经历了多个版本:

  • VMFS 2:ESX 3.x 时代
  • VMFS 3:ESX/ESXi 4.x 时代,支持最大 2TB 的 VMDK 文件
  • VMFS 5:ESXi 5.x/6.0 时代,引入 1MB 块大小支持最大 2TB VMDK
  • VMFS 6:ESXi 6.5+ 时代,支持 512e 存储、SPBM、更大容量

虚拟交换机(Virtual Switch)

vSphere 提供两种类型的虚拟交换机:

标准交换机(vSphere Standard Switch, vSS)

vSS 在每个 ESXi 主机上独立运行,其配置是主机本地的。功能包括:

  • 虚拟局域网(VLAN)标记:支持 802.1Q VLAN
  • NIC 成组(NIC Teaming):将多个物理网卡绑定为一条逻辑链路
  • 流量整形(Traffic Shaping):限制出站和入站流量
  • 安全策略:混杂模式、MAC 地址变更、伪造传输

分布式交换机(vSphere Distributed Switch, vDS)

vDS 在 vCenter Server 级别定义,其配置自动同步到关联的所有 ESXi 主机。vDS 提供了 vSS 不具备的高级功能:

  • 集中化管理和配置:一个 vDS 配置自动应用到所有参与主机
  • 私有 VLAN(PVLAN):增强的 VLAN 隔离能力
  • NetFlow/IPFIX:网络流量监控和分析
  • 端口镜像(Port Mirroring):网络故障排查
  • 网络 I/O 控制(NIOC):为不同类型的流量分配带宽
  • 负载均衡和故障转移策略:基于负载均衡的出口哈希算法

资源调度与管理

vSphere 提供灵活的 CPU 和内存资源分配机制:

份额(Shares):定义虚拟机之间的相对优先级。当资源竞争时,份额高的虚拟机获得更多资源。份额是一个相对值,可以是低(Low)=500、正常(Normal)=1000、高(High)=2000 或自定义值。

预留(Reservation):保证虚拟机至少可以获得的最小资源量。即使发生资源竞争,Hypervisor 也会确保每台虚拟机获得其预留的 CPU 和内存。

限制(Limit):设置虚拟机可以使用的最大资源量。限制虚拟机不会突破该上限,即使有可用资源。

DRS(Distributed Resource Scheduler)

DRS 是 vSphere 集群中的一个高级功能,它根据集群中虚拟机的资源需求和主机的负载情况,自动进行虚拟机迁移(通过 vMotion)以平衡集群负载。

DRS 的自动化级别:

  • 手动:DRS 提供迁移建议,由管理员确认执行
  • 部分自动化:DRS 根据初始放置建议自动部署虚拟机,迁移建议由管理员确认
  • 全自动化:DRS 自动执行初始放置和迁移,无需管理员干预

DRS 的迁移阈值:从保守(优先级 1-3)到激进(优先级 1-5),控制 DRS 生成迁移建议的敏感度。保守模式下,DRS 只有在负载严重不均时才触发迁移;激进模式下,轻微的不均衡也会触发。

HA(High Availability)

vSphere HA 为集群中的虚拟机提供故障保护。当 ESXi 主机发生故障时,在该主机上运行的虚拟机将在集群内的其他健康主机上自动重启。

HA 的工作原理:

  1. 心跳检测:集群中的每个 ESXi 主机通过网络和存储向其他主机发送心跳
  2. 主节点选举:集群中的主机通过选举确定一个主节点,主节点负责监控从节点状态并管理 VM 重启
  3. 故障检测:当一个从节点在规定时间内(默认 15 秒)未发送心跳时,主节点将其标记为故障
  4. 虚拟机重启:主节点确保故障主机上的虚拟机在其他主机上重新启动

HA 的高级特性包括:

  • 隔离地址(Isolation Address):定义额外的隔离检测目标(通常是默认网关)
  • 虚拟机监控:监控客户机操作系统内部的心跳(通过 VMware Tools),发现操作系统冻结时自动重启
  • 数据存储心跳:通过共享存储检测心跳,提高故障检测准确性
  • 主机故障隔离响应:指定隔离后是关闭还是保持虚拟机运行
  • 接入控制(Admission Control):预留足够资源确保 HA 故障切换能力

Fault Tolerance(FT)

FT 提供了比 HA 更高级别的保护能力。它在一个辅助虚拟机上实时同步主虚拟机的执行状态,在主虚拟机发生故障时,辅助虚拟机立即接管服务,实现零停机时间、零数据丢失。

FT 的特性:

  • 支持最多 8 个 vCPU 的虚拟机(vSphere 6.0+)
  • 主备虚拟机运行在不同主机上
  • 使用记录和重放(Record and Replay)技术确保状态同步
  • 自动检测故障并进行无中断切换
  • 不支持快照、存储 vMotion 等操作(仅支持全虚拟机 FT)

vMotion

vMotion 是 VMware 的虚拟机在线迁移技术,允许在虚拟机运行状态下将其从一台物理主机迁移到另一台物理主机,过程中无停机时间。

vMotion 的工作原理(三阶段):

  1. 预拷贝阶段:源主机向目标主机传输虚拟机的内存快照页面,同时源主机持续追踪在此过程中被修改的页面(内存脏页)
  2. 迭代拷贝阶段:重复拷贝脏页,直到脏页数量减少到可接受的水平(通常几毫秒内)
  3. 切换阶段:源主机暂停虚拟机,拷贝剩余的脏页和 CPU 状态,在目标主机恢复虚拟机执行。切换时间通常为几十到几百毫秒。

vMotion 的关键要求:

  • 共享存储(源和目标主机必须能访问相同的 VMFS 数据存储)
  • 兼容的 CPU(同一代或使用 Enhanced vMotion Compatibility,EVC)
  • 1 Gbps+ 网络连接(推荐 10 Gbps)
  • 目标主机有足够的资源

软件定义数据中心(SDDC)

VMware 将虚拟化从计算扩展到存储(vSAN)和网络(NSX),构建了完整的软件定义数据中心(Software-Defined Data Center,SDDC)架构。SDDC 的三个核心支柱:

  1. 计算虚拟化(vSphere):服务器虚拟化,资源池化
  2. 存储虚拟化(vSAN):将本地磁盘聚合并形成分布式共享存储
  3. 网络虚拟化(NSX):在物理网络之上创建虚拟网络覆盖层

实战操作

环境准备

要开始学习 VMware vSphere,您需要一个实验环境。以下是最低硬件要求和推荐配置:

硬件要求(最小实验环境)

组件 最小配置 推荐配置
CPU 2 核支持 VT-x/AMD-V 4 核以上
内存 16 GB 32 GB 以上
存储 200 GB HDD 500 GB SSD
网络 1 Gbps NIC 1 Gbps × 2

实验环境拓扑

对于本地实验,推荐使用 VMware Workstation Pro(Windows/Linux)或 VMware Fusion(macOS)作为基础平台,在内部嵌套运行 ESXi 主机和 VCSA。

实验拓扑结构:

TEXT
+---------------------------+
|  物理宿主机                |
|  (VMware Workstation/Fusion) |
|                           |
|  +-------------------+    |      +-------------------+
|  | ESXi-01           |    |      | ESXi-02           |
|  | 管理: 192.168.1.10|    |      | 管理: 192.168.1.11|
|  | VM Network        |    |      | VM Network        |
|  +-------------------+    |      +-------------------+
|                           |
|  +-------------------+    |
|  | VCSA (vCenter)    |    |
|  | 192.168.1.20      |    |
|  +-------------------+    |
|                           |
|  +-------------------+    |
|  | NFS/ISCSI Storage |    |
|  | 192.168.1.30      |    |
|  +-------------------+    |
+---------------------------+

下载所需软件

以下软件可以从 VMware 官方网站下载(需注册 Broadcom 账号):

  1. VMware vSphere Hypervisor (ESXi)https://customerconnect.vmware.com/downloads/#all_products
  2. VMware vCenter Server Appliance (VCSA):VCSA 是一个 OVA 文件
  3. VMware vSphere Client:通过浏览器访问
  4. VMware Tools:集成在 VCSA 中

注意: 自 2023 年 Broadcom 收购 VMware 后,许可模式发生了变化。对于学习目的,可以使用 60 天试用版。生产环境需要购买相应的订阅许可。

安装 ESXi Hypervisor

以下是 ESXi 的安装步骤(基于 ESXi 8.0 Update 3):

步骤 1:创建 ESXi 虚拟机(在 Workstation Pro 中)

  1. 打开 VMware Workstation Pro,点击 "创建新的虚拟机"
  2. 选择 "典型" 安装类型
  3. 选择 "稍后安装操作系统"
  4. 客户机操作系统选择 "VMware ESX",版本选择 "VMware ESXi 8.0"
  5. 指定虚拟机名称和存储位置
  6. 磁盘大小设置为 50 GB(ESXi 的最小安装空间为 5 GB,但需要额外空间存储虚拟机)
  7. 自定义硬件:
    • 内存:4-8 GB
    • CPU:2 个处理器,每个 2 核心
    • 网络:桥接模式或 NAT 模式
    • 添加额外的网络适配器(如:VMXNET 3 × 2 个)
  8. 完成后编辑虚拟机设置,将下载的 ESXi ISO 镜像挂载到 CD/DVD 驱动器

步骤 2:安装 ESXi

  1. 启动虚拟机,从 ESXi ISO 镜像引导
  2. 在启动菜单中,选择 "ESXi-8.0.0-xxxxxx-standard Installer"
  3. 按 Enter 键开始安装
  4. 阅读并接受最终用户许可协议(EULA),按 F11 接受
  5. 选择安装目标磁盘(默认即可),按 Enter
  6. 选择键盘布局(默认 US Default)
  7. 设置 root 密码(至少 7 个字符,包含大写字母、小写字母、数字和特殊字符)
  8. 系统会警告所选磁盘上的所有数据将被覆盖,按 F11 确认
  9. 安装完成后,移除 ISO 镜像并重启

步骤 3:配置 ESXi 管理网络

ESXi 重启后会自动获取 DHCP IP 地址,显示在 DCUI(Direct Console User Interface)屏幕上。

TEXT
DCUI 显示信息示例:
System Information:
  - Product: VMware ESXi 8.0.3
  - License: Evaluation Mode (60 days remaining)
  - CPU: 2 × 2.5 GHz
  - Memory: 8192 MB

Network Interfaces:
  - vmnic0: 00:0c:29:xx:xx:xx | 192.168.1.10 (DHCP)

F2: Customize System   F12: Shutdown/Restart

按 F2 进入系统自定义菜单,使用 root 密码登录:

  1. 选择 "Configure Management Network"
  2. 网络适配器:选择用于管理网络的网卡(vmnic0)
  3. VLAN(可选):如果管理 VLAN 有特殊 ID,在此设置
  4. IPv4 配置:建议改为静态 IP(STATIC IP):
    • IP 地址:192.168.1.10
    • 子网掩码:255.255.255.0
    • 默认网关:192.168.1.1
  5. IPv6 配置:保持 Enabled
  6. DNS 配置:
    • 首选 DNS 服务器:8.8.8.8
    • 备用 DNS 服务器:114.114.114.114
    • 主机名:esxi-01
  7. 按 Esc 退出,按 Y 确认重启管理网络

步骤 4:使用浏览器访问 ESXi

完成网络配置后,在浏览器中访问 https://192.168.1.10(或您设置的 IP 地址)进入 ESXi Host Client:

  1. 浏览器会显示安全证书警告(自签名证书),选择继续访问
  2. 用户名:root
  3. 密码:安装时设置的密码
  4. 登录后进入 ESXi 管理界面(vSphere Host Client)

安装 vCenter Server Appliance(VCSA)

VCSA 的安装通过一个名为 "VMware vCenter Server Appliance Installer" 的 GUI 工具完成:

步骤 1:下载并挂载 VCSA ISO

  1. 下载 VMware-VIM-all-8.0.3-xxxxxxxx.iso
  2. 挂载 ISO 镜像
  3. 在 Windows 上运行 vcsa-ui-installer/win32/installer.exe
  4. 在 Linux 上运行 vcsa-ui-installer/lin64/installer

步骤 2:VCSA 安装阶段 1 — 部署 OVA

  1. 选择 "Install" 作为部署类型
  2. 接受许可协议
  3. 连接目标 ESXi 主机:
    • ESXi 主机 IP:192.168.1.10
    • HTTPS 端口:443
    • 用户名:root
    • 密码:ESXi root 密码
  4. 验证证书指纹,点击 "Yes" 确认
  5. 设置虚拟机名称:vCenter Server 8.0
  6. 设置 root 密码:至少 8 个字符,包含大写、小写、数字和特殊字符
  7. 选择部署大小:
    • 微型(Tiny):最多 10 台主机、100 台虚拟机,2 vCPU、10 GB 内存
    • 小型(Small):最多 100 台主机、1000 台虚拟机,4 vCPU、16 GB 内存
    • 中型(Medium):最多 400 台主机、4000 台虚拟机,8 vCPU、24 GB 内存
    • 大型(Large):最多 1000 台主机、10000 台虚拟机,16 vCPU、32 GB 内存
  8. 选择数据存储:VMware 推荐使用 Thin Provisioning(精简置备)
  9. 配置数据库:嵌入式 vPostgres(默认)或外部 Oracle/SQL Server
  10. 网络配置:
    • 网络:VM Network
    • IP 协议:IPv4
    • IP 分配:静态
    • IP 地址:192.168.1.20
    • 子网掩码:255.255.255.0
    • 默认网关:192.168.1.1
    • DNS 服务器:8.8.8.8, 114.114.114.114
    • 系统名称:vcenter-01.lab.local
  11. 查看设置摘要,点击 "Finish" 开始部署
  12. 部署完成后会显示一条消息,提示阶段 1 完成

步骤 3:VCSA 安装阶段 2 — 配置 VCSA

  1. 点击 "Continue" 进入阶段 2
  2. 配置 NTP 服务器:pool.ntp.org
  3. 配置 SSH 访问:可选启用(调试用)
  4. 创建 vCenter Single Sign-On(SSO)域:
    • SSO 域名:vsphere.local
    • SSO 管理员密码:设置强密码
    • SSO 站点名称:default-site
  5. 选择是否加入 CEIP(客户体验改善计划):可选是或否
  6. 确认配置,点击 "Finish"
  7. 安装过程大约需要 15-30 分钟,完成后显示成功消息

配置示例

ESXi 网络配置示例

以下是在 ESXi Host Client 或命令行(ESXi Shell/SSH)中进行网络配置的示例:

使用命令行配置管理网络

bash
# 进入 ESXi Shell(需先启用 ESXi Shell 或 SSH)

# 查看当前网络适配器
esxcli network nic list

# 输出示例:
# Name    PCI Device    Driver    Admin Status  Link Status  Speed  Duplex  MAC Address
# ------  ------------  --------  -------------  -----------  -----  ------  ------------------
# vmnic0  0000:02:00.0  ntg3      Up             Up           1000   Full    00:50:56:xx:xx:xx
# vmnic1  0000:03:00.0  ntg3      Up             Up           1000   Full    00:50:56:xx:xx:xx

# 创建虚拟交换机(标准交换机)
esxcli network vswitch standard add --vswitch-name=vSwitch1

# 添加物理网卡到虚拟交换机
esxcli network vswitch standard uplink add --uplink-name=vmnic1 --vswitch-name=vSwitch1

# 查看虚拟交换机配置
esxcli network vswitch standard list

# 创建端口组
esxcli network vswitch standard portgroup add --portgroup-name="VM Network" --vswitch-name=vSwitch0
esxcli network vswitch standard portgroup add --portgroup-name="Storage Network" --vswitch-name=vSwitch1

# 查看端口组
esxcli network vswitch standard portgroup list

创建标准虚拟交换机(通过 vSphere Host Client)

  1. 登录 vSphere Host Client (https://192.168.1.10/ui)
  2. 导航到 "网络" → "虚拟交换机" → "添加标准虚拟交换机"
  3. 配置参数:
    • 名称:vSwitch-Production
    • 上行链路:vmnic1
    • MTU:1500(或 9000 用于巨型帧)
  4. 点击 "添加"
  5. 在新建的 vSwitch 上添加端口组:
    • 名称:Production-VLAN-10
    • VLAN ID:10
    • 点击 "添加"

ESXi 存储配置示例

配置 iSCSI 软件适配器

bash
# 在 ESXi Shell 中配置 iSCSI

# 启用 iSCSI 软件适配器
esxcli iscsi software set --enabled=true

# 查看 iSCSI 适配器
esxcli iscsi adapter list

# 设置 iSCSI 发起程序名称
esxcli iscsi adapter set --adapter=vmhba64 --name="iqn.2026-05.local.vmware:esxi-01"

# 添加 iSCSI 目标
esxcli iscsi adapter target add --adapter=vmhba64 --target="iqn.2026-05.storage:target1"
esxcli iscsi adapter target portal add --adapter=vmhba64 --address=192.168.1.30 --port=3260

# 重新扫描存储适配器
esxcli storage core adapter rescan --adapter=vmhba64

# 查看发现的存储设备
esxcli storage core device list

创建 VMFS 数据存储

bash
# 查看可用的磁盘
ls /dev/disks/

# 使用 partedUtil 创建 VMFS 分区
# 注意:操作前请确认磁盘为空或已备份

# 方法一:通过 vSphere Host Client 创建
# 导航到 "存储" → "数据存储" → "新建数据存储"
# 选择 VMFS 6 格式
# 选择磁盘设备
# 指定数据存储名称:datastore-01
# 分区大小:使用全部可用空间

# 方法二:通过命令行
# vmkfstools -C vmfs6 -S datastore-01 /dev/disks/naa.xxxxxxxxxxxxx:1

vSphere 核心概念架构

图中把 vSphere 的核心对象放在同一张图里:vCenter 负责统一管理和 API,ESXi 承载虚拟机运行,Cluster 汇聚计算资源,Datastore 和 Port Group 分别承载虚拟机文件与网络接入,DRS、HA、vMotion 等能力围绕这些对象工作。

ESXi 虚拟机创建配置

创建虚拟机(CLI 方式无法直接创建,通过 API 或 GUI)

以下是通过 vSphere Client 创建虚拟机的配置步骤:

  1. 登录 vSphere Client (https://192.168.1.20/ui)
  2. 在导航栏中右键单击主机或集群 → "新建虚拟机"
  3. 创建类型:
    • 创建新虚拟机
    • 从 OVF/OVA 部署
    • 从模板部署
  4. 虚拟机名称:Web-Server-01
  5. 兼容性:ESXi 8.0 Update 3 及更高版本
  6. 客户机操作系统系列:Linux
  7. 客户机操作系统版本:Ubuntu Linux 22.04 LTS
  8. 自定义硬件:
    • CPU:2 vCPU
    • 内存:4096 MB
    • 硬盘 1:40 GB(Thin Provisioning)
    • SCSI 控制器:LSI Logic SAS 或 VMware Paravirtual
    • 网络 1:VM Network(VMXNET 3)
    • CD/DVD 驱动器:挂载 Ubuntu Server ISO
    • 删除软盘驱动器
  9. 配置完成,点击 "完成"

vSphere 资源分配配置

vSphere 资源分配边界

这张图说明资源池、Reservation、Limit、Shares 和 DRS 的关系。资源配置不是只填 CPU、内存数字,而是在容量保障、上限约束、争用权重和自动放置之间做取舍。

以下是通过 vSphere DRS 和资源池配置资源分配的示例:

yaml
# 资源池配置示例(概念性配置)
资源池名称:Production-Pool
CPU 份额:高(2000)
CPU 预留:10 GHz
CPU 限制:无限制
内存份额:正常(1000)
内存预留:32 GB
内存限制:无限制

资源池名称:Development-Pool
CPU 份额:正常(1000)
CPU 预留:0 MHz
CPU 限制:20 GHz
内存份额:正常(1000)
内存预留:0 MB
内存限制:64 GB

资源池名称:QA-Pool
CPU 份额:低(500)
CPU 预留:0 MHz
CPU 限制:10 GHz
内存份额:低(500)
内存预留:0 MB
内存限制:32 GB

验证方法

验证 ESXi 安装

1. 验证 ESXi 系统状态

通过 vSphere Host Client 或 DCUI 验证系统信息:

bash
# 通过 SSH 连接到 ESXi(需先启用 SSH)
ssh root@192.168.1.10

# 查看 ESXi 版本
vmware -l
# 输出示例:
# VMware ESXi 8.0.3 build-xxxxxxxx

# 查看系统运行时间
uptime

# 查看已加载的 VMkernel 模块
vmkloadmod -l | head -20

# 查看 CPU 信息
esxcli hardware cpu list

# 查看内存信息
esxcli hardware memory get

# 查看网络适配器
esxcli network nic list

# 确认 VT-x/AMD-V 已启用
vsish -e get /hardware/cpu/cpuid/1/0
# 查找 bit 23(第 23 位为 1 表示 VT-x 已启用)

2. 验证 vCenter Server 部署

bash
# 通过 SSH 登录 VCSA
ssh root@192.168.1.20

# 查看 VCSA 服务状态
service-control --status --all

# 验证关键服务运行状态:
# vmware-vpxd(vCenter 服务)
# vmware-vpostgres(嵌入式数据库)
# vmware-sps(配置文件驱动存储)
# vmware-sso(单点登录)

# 查看 VCSA 版本
/usr/lib/vmware-vcenter-server/bin/vpxd --version

# 查看 VCSA 磁盘使用情况
df -h

# 检查系统日志
tail -100 /var/log/vmware/vpxd/vpxd.log

3. 验证 vSphere Client 访问

  1. 打开浏览器访问 https://192.168.1.20/ui
  2. 使用 SSO 管理员账号登录:administrator@vsphere.local
  3. 验证控制台显示:
    • 已添加的 ESXi 主机列表
    • 主机的 CPU、内存、存储使用概况
    • 网络状态
  4. 执行基本操作测试:
    • 创建数据中心
    • 添加主机到数据中心
    • 创建集群
    • 创建资源池

验证虚拟机部署

bash
# 通过 SSH 到 ESXi 查看虚拟机列表
vim-cmd vmsvc/getallvms
# 输出示例:
# Vmid  Name               File          Guest OS      Version  Annotation
# 1     Web-Server-01      [datastore01] /Web-Server/  ubuntu64Guest  v19
# 2     DB-Server-01       [datastore01] /DB-Server/   centos64Guest  v17

# 查看虚拟机电源状态
vim-cmd vmsvc/power.getstate 1
# 输出示例:
# Retrieved runtime info
# Powered on

# 查看虚拟机资源使用
esxcli vm process list

常见问题

问题 1:安装 ESXi 时提示 "No compatible network adapter found"

错误信息

TEXT
No compatible network adapter found. Please ensure that you have a supported network adapter.

原因:ESXi 8.0 移除了对某些旧型号网卡驱动的支持,如 e1000、e1000e。

解决方案

  1. 检查服务器或虚拟机是否使用了 ESXi 不支持的网卡
  2. 如果是在 VMware Workstation 中嵌套安装,将虚拟机网卡类型改为 VMXNET 3
  3. 如果是在物理机上安装,确认网卡在 VMware HCL(兼容性列表)中
  4. 对于实验环境,使用 VMware Workstation 创建虚拟机时选择 "VMware ESXi 8.0" 兼容性,它会自动配置兼容的虚拟硬件

验证

bash
# 在 ESXi 安装启动时按 Shift+O 进入引导选项
# 输入以下命令可强制加载某些网卡驱动(特定型号)
runweasel

问题 2:VCSA 部署后无法访问 Web 界面

vSphere 入门常见问题排障矩阵

这张矩阵把入门阶段最常见的 ESXi、VCSA、vMotion、Datastore 和 vCenter 连接问题按证据入口归类。排障时先看事件和服务状态,再看网络、存储和主机路径。

现象:部署完成后,浏览器访问 https://vcenter-ip/ui 时提示连接超时或拒绝连接。

原因

  1. VCSA 的网络配置不正确(IP/DNS/网关)
  2. VCSA 的服务尚未完全启动
  3. 防火墙阻止了 443 端口访问

解决方案

  1. 通过 VCSA 的控制台登录,检查网络配置是否正确
  2. 执行 service-control --status --all 检查服务状态
  3. 等待服务完全启动(部署完成后可能需要 5-10 分钟)
  4. 如果服务未启动,执行 service-control --start vmware-vpxd 手动启动
  5. 检查 /var/log/vmware/vpxd/sys.log 中的错误信息

问题 3:虚拟机冷迁移提示 "Insufficient resources"

错误信息

TEXT
Insufficient resources on the destination host.

原因:目标 ESXi 主机的 CPU 或内存资源不足以运行该虚拟机。

解决方案

  1. 检查目标主机的剩余资源:esxcli hardware memory get
  2. 检查虚拟机的资源预留(Reservation)设置:
    • 如果虚拟机有 CPU 或内存预留,目标主机必须有满足预留的空闲资源
  3. 临时关闭虚拟机电源释放资源:vim-cmd vmsvc/power.off <vmid>
  4. 调整资源池的预留配置,取消预留或降低预留值
  5. 考虑使用 DRS 自动平衡集群资源后再迁移

问题 4:vMotion 迁移失败,提示 "CPU 不兼容"

错误信息

TEXT
The virtual machine requires features that are not supported by the host.
-or-
CPU does not support compatibility with the host.

原因:源主机和目标主机的 CPU 型号或微码版本不同,vMotion 需要 CPU 指令集兼容。

解决方案

  1. 为集群启用 EVC(Enhanced vMotion Compatibility)模式:
    • 在 vSphere Client 中,选择集群 → 配置 → VMware EVC
    • 选择最老一代 CPU 型号的 EVC 模式(如:Intel "Sandy Bridge" Generation)
    • EVC 会屏蔽较新 CPU 的高级指令集,确保跨代迁移的兼容性
  2. 确保所有虚拟机已关机或以兼容的电源状态重启
  3. 如果虚拟机使用本地 CPU 特定功能(如 AES-NI),确保目标 CPU 也支持

问题 5:虚拟机安装 VMware Tools 失败

现象:在虚拟机中安装 VMware Tools 时失败或挂起。

原因

  1. VMware Tools ISO 镜像未正确挂载
  2. 虚拟机中缺少必要的编译器或内核头文件
  3. 操作系统版本与 VMware Tools 版本不兼容

解决方案

对于 Windows 虚拟机:

  1. 在 vSphere Client 中,右键虚拟机 → 客户机 → 安装/升级 VMware Tools
  2. 在虚拟机中打开 CD/DVD 驱动器
  3. 右键 setup64.exe,以管理员身份运行
  4. 使用典型安装,接受默认选项
  5. 安装完成后重启虚拟机

对于 Linux 虚拟机(以 Ubuntu 为例):

bash
# 在 vSphere Client 中挂载 VMware Tools ISO

# 挂载 CD-ROM
sudo mount /dev/cdrom /mnt

# 解压 VMware Tools
cd /tmp
sudo tar zxf /mnt/VMwareTools-*.tar.gz

# 安装依赖
sudo apt update
sudo apt install -y build-essential linux-headers-$(uname -r) perl

# 运行安装脚本
cd vmware-tools-distrib
sudo ./vmware-install.pl -d

# 卸载 CD-ROM
sudo umount /mnt

# 重启
sudo reboot

对于较新的 Linux 发行版(Ubuntu 22.04+,RHEL 8+),建议使用 open-vm-tools 替代:

bash
sudo apt install -y open-vm-tools
# 或
sudo yum install -y open-vm-tools

问题 6:VMware Tools 的心跳显示 "Not Running"

现象:在 vSphere Client 中看到虚拟机的心跳状态显示 "Not Running" 或 VMware Tools 状态异常。

原因

  1. VMware Tools 服务未启动或崩溃
  2. 虚拟机操作系统负载过高,导致心跳超时
  3. 客户机操作系统版本不兼容

解决方案

bash
# 对于 Windows:在虚拟机中运行 services.msc,重启 VMware Tools 服务
# 对于 Linux:
sudo systemctl restart vmtoolsd
sudo systemctl status vmtoolsd

问题 7:数据存储显示 "Inaccessible"

现象:ESXi 主机上的 VMFS 数据存储变为灰色,显示 "Inaccessible"(不可访问)。

原因

  1. 共享存储连接断开(SAN/iSCSI 网络问题)
  2. 存储阵列故障或维护
  3. VMFS 元数据损坏
  4. 光纤通道链路故障

解决方案

  1. 先检查物理连接(光纤/网线、SAN交换机)
  2. 检查 iSCSI 配置:
    bash
    esxcli iscsi session list
    esxcli storage core path list
    
  3. 重新扫描存储适配器:
    bash
    esxcli storage core adapter rescan --all
    
  4. 如果是因为主机重启导致的数据存储挂载问题:
    bash
    # 卸载并重新挂载数据存储
    esxcli storage filesystem umount --volume-label=datastore-01
    esxcli storage filesystem mount --volume-label=datastore-01
    
  5. 检查 /var/log/vmkernel 中的存储相关错误:
    bash
    grep -i "naa\|iscsi\|vmfs" /var/log/vmkernel | tail -50
    

问题 8:ESXi 主机失去与 vCenter 的连接

现象:vCenter 中的 ESXi 主机状态变为断开或无响应。

原因

  1. ESXi 主机管理网络故障
  2. vCenter 服务重启或故障
  3. 主机资源耗尽(内存或 CPU)
  4. 主机进入无响应状态

解决方案

  1. 通过 ESXi 的 DCUI 直接登录,检查网络连接
  2. 测试到 vCenter 的网络连接:
    bash
    ping vcenter-ip
    
  3. 检查 ESXi 主机上的 vCenter 代理服务状态:
    bash
    /etc/init.d/vpxa status
    /etc/init.d/hostd status
    
  4. 重启 vCenter 代理服务:
    bash
    /etc/init.d/vpxa restart
    
  5. 在 DCUI 中导航到 "Troubleshooting Options" → 重启管理代理
  6. 如果问题持续,在 vCenter 中移除主机后重新添加

问题 9:虚拟机性能缓慢

现象:虚拟机运行缓慢,CPU 或内存等待时间较长。

原因

  1. CPU 就绪时间(CPU Ready Time)过高
  2. 内存膨胀(Ballooning)或交换
  3. 存储 I/O 延迟过高
  4. 网络丢包或延迟

解决方案

  1. 检查 CPU 就绪时间:

    • 在 vSphere Client 中选择虚拟机 → 监控 → 性能
    • 添加 "CPU Ready" 性能计数器(CPU Ready 应 < 5%)
    • 如果过高,减少虚拟 CPU 数量或增加物理 CPU 资源
  2. 检查内存状态:

    • 查看 "Memory Ballooned" 和 "Memory Swapped" 计数器
    • 如果非零,增加物理内存或减少虚拟机内存分配
    • 检查是否启用了内存过量分配
  3. 检查存储延迟:

    bash
    esxcli storage nmp device list | grep -A 10 "naa."
    
    • 查看 "Average Device Latency"(应 < 10ms)
    • 查看 "Average Kernel Latency"(应 < 1ms)
  4. 检查网络性能:

    bash
    esxcli network nic stats get -n vmnic0
    
    • 检查是否有大量丢弃包(Tx Dropped / Rx Dropped)

问题 10:ESXi 主机无法加入 vCenter

现象:在 vCenter 中添加 ESXi 主机时提示认证失败或连接超时。

错误信息

TEXT
A general system error occurred: Unable to connect to the remote host

解决方案

  1. 检查 ESXi 主机和 vCenter 之间的网络连通性:
    bash
    # 在 ESXi Shell 中
    ping vcenter-ip
    # 在 vCenter 上
    ping esxi-ip
    
  2. 检查 ESXi 主机的 DNS 解析是否正常
  3. 确认 ESXi 主机的时间与 vCenter 服务器的时间同步(Kerberos 认证要求时间差 < 5 分钟)
  4. 检查 ESXi 主机的许可证是否有效
  5. 确认 vCenter 账户有添加主机的权限(管理员权限 Administrators 组)
  6. 检查 ESXi 主机上是否已配置了相同的 vCenter(vpxa 已注册)
  7. 清除 ESXi 主机的 vCenter 注册:
    bash
    # 在 ESXi 中如果已存旧注册信息
    esxcli system visorfs tidy
    /etc/init.d/hostd restart
    

总结

本篇文章全面介绍了 VMware vSphere 虚拟化平台的核心概念和技术架构。我们从虚拟化技术的基本原理出发,深入探讨了 CPU、内存和 I/O 虚拟化的实现机制,详细分析了 ESXi Hypervisor 的微内核架构和 vCenter Server 的集中管理功能。

在实战部分,我们演示了从零开始部署 ESXi 和 VCSA 的完整流程,包括网络配置、存储配置和虚拟机创建的具体操作步骤。同时,我们通过 10 个常见问题及其解决方案,覆盖了从安装部署到日常运维中的典型场景。

VMware vSphere 作为企业级服务器虚拟化的行业标准,其技术体系庞大而精深。本系列后续文章将继续深入探讨以下主题:

  • VMware 虚拟化实战 02:深入 ESXi 存储管理 — VMFS、NFS、vSAN 配置与优化
  • VMware 虚拟化实战 03:vSphere 网络虚拟化 — vSS/vDS、NSX 基础与高级网络配置
  • VMware 虚拟化实战 04:vSphere 高可用与业务连续性 — HA、FT、SRM 详解
  • VMware 虚拟化实战 05:vSphere 性能优化与容量规划

验证环境说明:

  • ESXi 版本:VMware ESXi 8.0 Update 3 (build-23307199)
  • vCenter 版本:vCenter Server Appliance 8.0 Update 3
  • 实验平台:VMware Workstation Pro 17.5
  • 虚拟机客户机:Ubuntu Server 22.04 LTS, Windows Server 2022
  • 本文撰写日期:2026-05-15

参考资料