VMware服务器虚拟化实战:ESXi与vCenter部署及HA/DRS验证
简介这份文档面向企业IT运维人员、系统架构师及虚拟化初学者系统讲解VMware服务器虚拟化解决方案的规划与部署思路帮助应对服务器数量激增带来的资金、人力与管理压力。资源为单一doc文件压缩包约3.39MB内容围绕vCompute、vStorage、vNetwork三大方向展开涵盖服务器整合、商业连续性与测试开发三类典型场景。文档从需求分析、方案拓扑图入手逐层说明软件与硬件需求并拆解基础架构服务层、应用程序服务层、虚拟应用程序层及异地容灾技术同时涉及vSphere、vCenter Server、Lab Manager等核心组件还包含TCO降低、运营效率提升及与同类产品的比较。目前已有2732人学习适合需要搭建虚拟化实验环境、梳理部署流程或撰写方案文档的读者参考借鉴。1. 从一台闲置的 IBM X3850 说起为什么我劝你先别急着装 ESXi手里这台 IBM X3850 已经在机房角落吃了三个月灰4 颗 4 核 CPU、32G 内存、双 HBA 卡配置看着挺唬人可业务早就迁走了。扔了可惜卖又不值钱于是我想着把它折腾成 VMware vSphere 的测试节点顺便把整套服务器虚拟化方案跑通一遍。结果第一次装就翻车了——ESXi 镜像写进 U 盘引导到一半直接紫屏报错信息里全是 CPU 特性不支持的提示。后来查了半天才发现BIOS 里 VT-x 和 Execute Disable 没开这俩开关不打开Hypervisor 连门都进不去。这件事让我意识到VMware 服务器虚拟化解决方案虽然成熟但装不好照样卡在第一步。这套东西适合谁手里有闲置 x86 服务器、想整合旧硬件、或者需要搭一套测试开发环境的运维和开发者。你要是正准备把物理机改造成虚拟化平台下面这套流程能帮你少走点弯路。2. 装前把账算清vSphere 4 的软硬件清单与版本选择2.1 软件组件到底装哪几个原文里列得很清楚VMware vSphere 4、VMware vCenter Server 4、Lab Manager 4。这三个不是随便挑一个装就行它们各管一摊。vSphere 4 是底座里面包含 ESXi 主机和一堆功能模块——HA、vMotion、DRS、Fault Tolerance、DPM、Storage vMotion、vStorage Thin Provisioning、Data Recovery、Update Manager、vShield Zone、Host Profile、vNetwork。你装完 ESXi 之后这些功能不是全都能直接用有些需要 vCenter 授权才能激活。vCenter Server 4 是管理中枢负责把多台 ESXi 主机纳管成一个资源池DRS 和 HA 的调度逻辑都跑在它上面。Lab Manager 4 偏测试开发场景用来快速克隆和隔离实验环境生产环境不一定上。我一般会先装 ESXi再装 vCenter最后按需加 Lab Manager。顺序反了的话vCenter 找不到主机配置界面里全是灰色不可点的状态。2.2 硬件配置别踩最低线的坑原文给的硬件需求是 20 台 IBM 服务器加 1 台普通 PC Server共享存储走 FC SAN。具体到单机配置机型CPU内存硬盘HBAIBM X3850至少 4 颗 4 核32G双硬盘 RAID1双光纤 HBAIBM X3650至少 2 颗 4 核16G双硬盘 RAID1双光纤 HBA这里有个容易忽略的点双 HBA 卡不是为了堆料是为了做冗余。虚拟化之后一台物理机上跑十几台虚拟机存储流量全走 SAN单 HBA 卡一挂上面所有虚拟机跟着断。NIC/HBA 卡的 Teaming 是服务器虚拟化的最基本需求原文里也专门提了。普通 PC Server 那台是给 vCenter 用的别想着省事把它也塞进 ESXi 集群里。vCenter 本身跑在虚拟机上不是不行但初期搭建阶段物理机独立部署更稳出问题好排查。2.3 版本选择为什么是 vSphere 4 而不是更新版原文写的是 vSphere 4这个版本放在今天看确实老但它对应的硬件兼容性列表和驱动包跟 IBM X3850/X3650 那一代机器匹配得最好。你要是硬上新版 ESXi网卡和 HBA 驱动大概率找不到装完认不到存储哭都来不及。常见做法是先查服务器型号在 VMware 兼容性列表里的最高支持版本然后往回退一到两个大版本留出驱动适配的余量。我一般会去翻 IBM 那本《ServerProven》文档里面会写清楚哪款机型验证过哪个 ESXi 版本。别嫌麻烦这一步省了后面全是玄学问题。提示vSphere 4 的 ESXi 镜像分两种一种是 Installable 版一种是 Embedded 版。物理机自己装选 Installable刀片服务器预装选 Embedded。3. 从裸机到 ESXi 主机安装步骤与 BIOS 参数调整3.1 做启动盘和 BIOS 设置ESXi 安装镜像不大几百兆用 Rufus 写进 U 盘就行。写完之后别急着插服务器先进 BIOS 把几个开关打开# BIOS 里需要确认的选项不同主板菜单名略有差异 # 1. Intel VT-x / AMD-VEnabled # 2. Execute Disable Bit / NXEnabled # 3. Hyper-ThreadingEnabled如果 CPU 支持 # 4. Boot ModeUEFI 或 Legacy跟你的启动盘格式一致 # 5. 硬盘控制器模式AHCI 或 RAID看你的 RAID 卡配置VT-x 和 Execute Disable 是硬性要求不开的话 ESXi 安装程序直接报 CPU 不支持。Hyper-Threading 开了之后ESXi 识别到的逻辑核数翻倍对虚拟机密度有帮助。Boot Mode 这块老服务器一般用 Legacy新一点的用 UEFI但要注意 U 盘格式得对应——Legacy 配 MBRUEFI 配 GPT。我那次紫屏就是因为 VT-x 没开报错信息里有一行写着 “CPU does not support VT”当时没仔细看绕了一大圈。3.2 安装 ESXi 到本地存储插上 U 盘从 U 盘引导进入安装界面后按提示走# ESXi 安装过程中的关键选择 # 1. 选择安装目标盘选本地双盘 RAID1 后的逻辑卷 # 2. 键盘布局默认 US # 3. 设置 root 密码至少 8 位含大小写和数字 # 4. 确认分区会覆盖目标盘确认没选错 # 5. 等待安装完成拔 U 盘重启安装目标盘选 RAID1 的逻辑卷别选单块物理盘。ESXi 本身占空间不大但日志和配置都写在里面盘挂了主机就起不来。root 密码设复杂点ESXi 的 SSH 默认不开但一旦开了弱密码就是活靶子。重启之后控制台界面会显示 ESXi 的 IP 信息。默认是 DHCP如果网络里没有 DHCP 服务器得手动进控制台设静态 IP。按 F2 进配置菜单输入 root 密码找到 “Configure Management Network” 进去改。3.3 配置管理网络和 DNS静态 IP 配好之后还要确认 DNS 和网关# ESXi 控制台网络配置路径 # F2 - Configure Management Network - IPv4 Configuration # 设置IP 地址、子网掩码、默认网关 # F2 - Configure Management Network - DNS Configuration # 设置主 DNS、备用 DNS、主机名FQDN 格式主机名建议用 FQDN 格式比如esxi01.lab.local后面加 vCenter 的时候DNS 解析不通会直接导致添加主机失败。我习惯在 DNS 服务器上先把所有 ESXi 主机的 A 记录和 PTR 记录建好再回来配主机名省得来回改。配完网络用 vSphere Client 或者浏览器访问https://ESXi_IP能打开登录页就说明管理网络通了。登录进去看看 CPU 和内存识别是否正常存储是否挂载成功。如果存储没认到多半是 HBA 驱动或者 SAN zoning 的问题得去存储交换机那边查。4. 部署 vCenter Server 4把 ESXi 主机纳管起来4.1 vCenter 装在哪台机器上原文里那台普通 PC Server 就是干这个的。操作系统建议用 Windows Server 2008 R2 或同代版本跟 vCenter Server 4 的兼容性最好。装之前确认几件事# vCenter Server 4 安装前的检查清单 # 1. 操作系统Windows Server 2008 R2 x64打齐补丁 # 2. .NET Framework3.5 SP1 或以上 # 3. 数据库SQL Server 2005/2008 或者自带的 SQL Express # 4. 磁盘空间至少 10G 可用 # 5. 网络能解析并访问所有 ESXi 主机的管理 IP数据库这块小规模环境用自带的 SQL Express 够用但超过 5 台 ESXi 主机或者虚拟机数量上百建议上独立 SQL Server。SQL Express 有 4G 库大小限制vCenter 的日志和性能数据涨起来很快撑不了多久。4.2 安装 vCenter 并配置 ODBC 数据源安装 vCenter 之前先在 Windows 的 ODBC 管理器里建一个系统 DSN指向你的数据库# 创建 ODBC 系统 DSN 的步骤 # 1. 控制面板 - 管理工具 - 数据源 (ODBC) # 2. 系统 DSN - 添加 - SQL Server Native Client # 3. 名称VMwareVC服务器localhost 或远程 SQL 地址 # 4. 认证方式SQL 账号密码输入 sa 或专用账号 # 5. 默认数据库新建一个空库比如 VCDBDSN 建好之后运行 vCenter 安装程序它会自动检测这个 DSN。安装过程中会问你要不要创建数据库架构选“是”它会往空库里建表。如果这一步报错多半是数据库权限不够给那个 SQL 账号 db_owner 权限就行。装完 vCenter打开 vSphere Client用administratorvsphere.local或者 Windows 管理员账号登录。第一次登录会提示你输入许可证密钥没有的话就是 60 天评估模式功能全开但到期后 HA 和 DRS 会失效。4.3 添加 ESXi 主机到数据中心登录 vSphere Client 之后先建一个数据中心再在下面建集群# vSphere Client 操作路径 # 1. 右键 Datacenter - New Cluster # 2. 集群名称Production-Cluster # 3. 勾选DRS 和 HA先不勾等主机加完再开 # 4. 右键集群 - Add Host # 5. 输入 ESXi 的 IP、root 账号密码 # 6. 确认证书指纹完成添加添加主机的时候如果报“无法验证主机”或者“证书错误”检查 vCenter 和 ESXi 的时间是否同步。时间差超过几分钟SSL 证书验证就会失败。我一般会在 vCenter 那台机器上配好 NTP然后让所有 ESXi 主机指向同一个 NTP 源。主机加进来之后在“配置”标签页里能看到 CPU、内存、存储、网络的详细信息。如果存储那块显示为空说明 SAN LUN 没映射过来得去存储端做 zoning 和 LUN masking。4.4 配置集群的 HA 和 DRS主机全部加完之后再回到集群设置里开 HA 和 DRS# 集群功能配置 # 1. 右键集群 - Edit Settings # 2. 打开 vSphere HA勾选 Turn On vSphere HA # 3. 打开 vSphere DRS勾选 Turn On vSphere DRS # 4. DRS 自动化级别Fully Automated测试环境或 Partially Automated生产 # 5. 电源管理按需开启 DPMHA 的接入控制策略有两种主机故障切换容量和资源预留。小集群用主机故障切换容量指定允许几台主机同时挂掉大集群用资源预留按 CPU 和内存的百分比算。DRS 的自动化级别生产环境我一般先设 Partially Automated观察一段时间再切 Fully Automated避免它半夜自动迁移虚拟机把存储链路跑满。注意HA 和 DRS 的生效前提是主机在同一个集群里且共享存储可访问。如果每台主机用本地盘HA 起不来因为虚拟机文件没法在主机间漂移。5. 避坑与排查装 VMware 虚拟化时最容易翻车的五件事5.1 紫屏报 CPU 不支持现象ESXi 安装程序引导到一半屏幕变紫报错信息里有 “CPU does not support VT” 或 “Execute Disable disabled”。原因BIOS 里 Intel VT-x 或 Execute Disable Bit 没开。有些服务器出厂默认是关的尤其是二手设备或者恢复过 BIOS 默认设置的机器。解决重启进 BIOS在 CPU 配置或安全配置菜单里找到这两个选项设为 Enabled。如果 BIOS 里压根没有这两个选项查一下 CPU 型号是否支持硬件虚拟化不支持的话换 CPU 或者换机器。5.2 vCenter 添加主机时报证书错误现象在 vSphere Client 里添加 ESXi 主机弹窗提示证书验证失败或者直接报 “Cannot verify the SSL thumbprint”。原因vCenter 和 ESXi 的系统时间不同步SSL 证书的有效期校验失败。或者 ESXi 主机之前被别的 vCenter 管过证书没重置。解决先在 vCenter 和 ESXi 上分别执行date看时间差超过 5 分钟就配 NTP 同步。如果时间没问题在 ESXi 控制台里选 “Reset Customization” 或者重新生成证书。我一般会在第一次装完 ESXi 之后就顺手把 NTP 配好省得后面折腾。5.3 存储 LUN 认不到现象ESXi 装好了HBA 卡也亮了但在存储适配器里看不到 SAN LUN。原因SAN 交换机的 zoning 没做或者存储端的 LUN masking 没把 ESXi 主机的 WWN 加进去。也有可能是 HBA 驱动没装对。解决先在 ESXi 的存储适配器里确认 HBA 卡的 WWN然后去 SAN 交换机查 zoning 配置再去存储管理界面查 LUN masking。两边都对上了在 ESXi 里重新扫描存储适配器就能看到。如果还不行检查 HBA 驱动版本是否在 VMware 兼容性列表里。5.4 虚拟机迁移时 vMotion 网络不通现象DRS 触发虚拟机迁移任务卡在 10% 不动最后报 vMotion 网络错误。原因vMotion 用的 VMkernel 网卡没配或者配了但跟管理网络混在一起带宽不够。也有可能是物理交换机端口没放行 vMotion 的 VLAN。解决在每台 ESXi 主机上单独建一个 VMkernel 网卡专用于 vMotionIP 段跟管理网络分开。物理交换机对应的端口要配成 Trunk放行 vMotion VLAN。如果虚拟机磁盘是厚置备迁移时间会比较长别以为是卡死了。5.5 HA 配置后虚拟机无法重启现象一台 ESXi 主机断电HA 显示已触发但虚拟机在别的节点上起不来。原因集群的接入控制策略设得太严剩余资源不够或者虚拟机的磁盘在本地存储上别的节点访问不到。解决检查集群的 HA 接入控制策略把预留资源调低或者改成“允许主机故障切换容量”模式。确认所有虚拟机的磁盘都在共享存储上本地盘的虚拟机不受 HA 保护。如果用的是 FT 容错还要确认 FT 网络和日志盘配置正确。6. 装完怎么验证从 vMotion 到 HA 的实操检查装完不等于跑通我一般会做几组验证确认这套环境真的能用。第一组检查 ESXi 主机的基础状态。在 vSphere Client 里逐台点开主机看“摘要”页有没有告警。CPU 和内存的使用率应该在低位存储那块要能看到共享 LUN网络里 VMkernel 网卡的状态是“已连接”。如果哪台主机有黄色感叹号点进去看具体告警多半是 NTP 没同步或者传感器报错。第二组测 vMotion。随便找一台测试虚拟机右键选“迁移”目标选另一台 ESXi 主机网络选 vMotion 专用的 VMkernel。迁移过程中在虚拟机里持续 ping 网关丢包超过 1 个就说明网络配置有问题。正常情况下vMotion 迁移对业务几乎无感ping 延迟波动在几毫秒以内。第三组测 HA。这个稍微暴力一点直接拔掉一台 ESXi 主机的电源然后在 vSphere Client 里观察。HA 会在几十秒内检测到主机失联然后尝试在别的节点上重启虚拟机。重启时间取决于虚拟机操作系统和磁盘大小Windows 一般两三分钟Linux 快一些。如果虚拟机没起来去“任务和事件”里看 HA 的日志通常会有明确的原因。第四组测 DRS。把集群的 DRS 自动化级别临时改成 Fully Automated然后在一台主机上跑个 CPU 压测看 DRS 会不会把虚拟机迁走。这个验证不用太频繁环境刚搭好的时候跑一次就行确认调度逻辑正常。# 验证用的简单压测命令在 Linux 虚拟机里执行 # 开 4 个核跑满观察 DRS 是否触发迁移 stress --cpu 4 --timeout 300s # 在 ESXi 主机上查看 vMotion 和 HA 的日志 # SSH 登录 ESXi 后执行 tail -f /var/log/vmkwarning.log tail -f /var/log/vmksummary.log日志里如果看到 “Migrating vm” 或者 “HA initiated restart” 之类的记录说明功能在正常工作。vmkwarning.log 里偶尔会有存储路径抖动的告警如果只是零星几条不用太紧张如果持续刷屏得去查 SAN 链路。第五组检查备份。原文里提到 VMware Data Recovery 支持无代理备份我一般会配一个测试备份任务跑一次完整备份加一次增量恢复。恢复的时候故意删掉虚拟机里的一个文件看能不能从备份里单独还原出来。这个验证最花时间但最值得做——备份没验证过等于没备份。从那以后我每次装完虚拟化环境都会强制走一遍 vMotion 加 HA 的验证流程哪怕客户催着上线也不跳过。这套东西装起来不难难的是装完之后你敢不敢拍胸脯说它真的高可用。希望帮到你。本文还有配套的精品资源点击获取