
1. 升级ESXi前先把这几件事想清楚很多朋友一看到“ESXi升级”就直接下载ISO镜像挂载开干结果升级到一半发现网卡驱动没了、数据存储不认了、主机重启后狂转圈。说实话这类问题我见过太多次而且绝大多数都是可以在动手之前避免的。升级ESXi这件事和平时用VMware Workstation装个虚拟机完全不是一回事ESXi是一层运行在物理硬件上的hypervisor它的驱动很精简对硬件兼容性的要求非常严格不是随便拿一个通用ISO就能稳稳落地。所以这篇内容我就围绕“通过ISO镜像升级VMware ESXi”这个主题把从准备、下载镜像、校验、备份、实操到排错的全流程完整梳理一遍。无论是独立主机还是小规模集群只要你能访问到主机的控制台这套方法基本都能用。1.1 为什么选择ISO镜像升级而不是Update Manager如果你有vCenter环境官方其实更推荐用vSphere Update Manager或者新版本的Lifecycle Manager来做升级因为那可以批量管理主机镜像、补丁和驱动还能自动化非常方便。但很多人并没有vCenter尤其是那些管着一台或几台独立ESXi的场景比如实验室、分公司的小机房、边缘站点那ISO镜像升级就是最直接、最靠谱的一条路。ISO升级还有一个典型场景主机离线维护。有些ESXi主机因为网络规划原因跟vCenter之间的连接不稳定或者根本处于隔离环境这时你没法通过Update Manager下发升级包只能在物理控制台或远程管理口iLO、iDRAC、IPMI面前手动挂载ISO然后重启主机来完成升级。另一个场景是你手里拿到的就是服务器厂商针对某机型发布的定制ISO里面打包了厂商特有的驱动和监控插件这类镜像用ISO方式升级是最自然的基本相当于给这台服务器做一次“系统级维护”。1.2 升级前的兼容性与版本确认先别急着下载先搞清楚三个问题你现在是什么版本要升到什么版本你的硬件在不在新版本的支持列表里。ESXi的大版本之间跨度很大。从6.5/6.7升到7.0再到8.0每一次大版本升级都伴随着硬件支持范围的调整。比如7.0开始VMware对CPU的最低要求明显提高很多老的Intel和AMD平台被移出支持列表8.0出来后一些老平台的驱动也被进一步收编。你以为ISO装上去就能跑结果装完启动黑屏、或者网络起不来十有八九就是兼容性问题。这时候一定要查VMware官方硬件兼容性列表也就是HCLHardware Compatibility List。输入你的服务器型号和CPU型号看它在不在目标版本的支持列表里。这个步骤不复杂但真的很重要别嫌麻烦。还有网络和存储控制器的驱动也要确认特别是网卡型号比较特殊的服务器比如用了Broadcom、Mellanox、Intel某些专门型号的网卡通用ISO里面有可能没有对应驱动升级后管理网口直接失联那种情况会让人头大。我个人的处理习惯是能去服务器厂商官网下载定制版ISO就不要用VMware通用版。比如HPE、Dell EMC、Lenovo这些厂商都会针对自己的服务器发布定制ISO里面预置了厂商的驱动和工具。你拿通用ISO升级遇到硬件驱动缺失的概率远比用定制ISO高。当然如果你的服务器是纯标准硬件比如自己组装的机器那用官方通用ISO就行。2. 准备工作ISO镜像获取与校验准备工作决定了升级过程的顺畅程度。磨刀不误砍柴工这部分我建议认真对待尤其是备份和镜像校验这是很多问题的第一道防线。2.1 从VMware官网获取正确的ISO镜像下载地址在VMware Customer Connect也就是broadcom接管后的支持站点。登录进去之后找到vSphere Hypervisor的下载页面选择你想升级的版本。如果你要升到8.0就选8.0系列的ISO注意区分大版本和更新补丁版本同一个大版本里面小版本更新也有很多build号尽量选择最新的稳定build。下载时需要注意账号权限。有些账号是受限的看不到全部版本的下载链接这种情况要么找管理员开通权限要么通过企业合同或支持渠道获取。另外下载完成后最好把ISO文件放到一个你方便访问的位置比如直接放到你管理主机的那台电脑上或者传到远程管理接口能够访问的共享存储里。其实很多服务器厂商的定制ISO也可以在官网单独下载比如HPE的My HPE、Dell的Support页面。如果你在考虑升级后驱动兼容性我强烈建议先去厂商页面看看有没有对应版本的定制ISO名字里一般会带厂商代号比如HPE的ISO文件名通常带有“HPE”字样Dell的带有“Dell EMC”字样。这类镜像在安装时会把厂商的硬件监控、RAID驱动、网卡固件工具都打进去升级后能省去不少手工操作。2.2 校验镜像完整性与备份配置ISO下载完成后先不要急着挂载先验证一下文件完整性。官方页面会给出SHA256哈希值你在终端里算一下自己下载文件的哈希值比对一下是否一致。Windows下可以用PowerShellGet-FileHash .\VMware-VMvisor-Installer-8.0.0-xxxx.x86_64.iso -Algorithm SHA256Linux下直接sha256sum VMware-VMvisor-Installer-8.0.0-xxxx.x86_64.iso如果哈希值不一样说明文件损坏或者被篡改坚决不要用。这种情况在走CDN下载时偶尔会出现尤其是网络不稳定的时候文件下载不完整但看起来好像下载完了挂载上去以后引导失败或者升级中途报错排查起来非常折腾。备份这部分很多教程一句话带过但我觉得值得展开。升级ESXi前至少要备份三类信息第一主机配置。在vSphere Client里进入管理-系统-配置文件点击导出把主机配置存下来。这样万一升级后出现配置丢失你还能导回去。这一步很多人疏忽但实际发生问题的概率并不低尤其是版本跨度比较大的时候。第二虚拟机的信息和重要数据。ESXi升级在正常情况下不会动VMFS数据存储不会删除虚拟机文件但升级过程中如果遇到断电、磁盘故障、安装器异常退出等意外虚拟机数据就有风险。如果机器上有特别重要的虚拟机最稳妥的办法是先跨主机或者跨存储把虚拟机做一个备份或者至少把关键VM导出为OVF/OVA。资金和条件允许的情况下单独备份数据是最好的保险。第三记录当前的网络配置。包括管理IP、子网掩码、网关、VLAN ID、DNS服务器、NTP服务器。虽然升级一般会保留这些设置但如果安装器初始化阶段出现异常你手里没有一份记录恢复起来会非常难受。还有一件事如果你启用了SSH、SNMP、syslog这类功能也记一下状态升级后好对比。升级前还要注意主机上运行的所有虚拟机。如果你是独立主机建议先把虚拟机全部关机或者迁移到其他主机再开始升级。你不希望升级过程中虚拟机还在跑业务然后一个重启把所有业务流量打到网络上造成抖动吧。如果是vCenter集群先确保DRS或者手动迁移能把虚拟机都迁到其他主机让待升级主机空载。3. 通过ISO镜像升级ESXi的完整实操流程准备工作做好下面进入正题。我尽量按实操步骤来写你照着做就行。3.1 在vSphere Client中挂载ISO并启动升级假设你现在手里已经有ISO镜像文件了。打开vSphere Client如果你是用vCenter管理那就登录vCenter然后选择目标主机如果你是独立主机就直接登录这台ESXi的IP地址HTML5界面找到目标主机。在主机界面里找到“操作”按钮展开后选择“CD/DVD驱动器”再选择“连接ISO镜像”。在弹出的窗口里选择你下载好的ISO文件。如果你的ISO存储在本机那直接浏览选择如果是存放在数据存储里也可以从数据存储文件列表里选。这里有个非常重要的坑要提醒ESXi并不支持在系统运行中执行“安装程序”。你不是像Windows那样在桌面双击Setup然后“升级”完成的。你只是把ISO“挂载”到了主机的虚拟光驱上真正的升级发生在主机重启后的引导阶段。所以正确操作顺序是在vSphere Client中挂载ISO打开主机的远程控制台或者使用服务器厂商的远程管理端口如HPE iLO、Dell iDRAC打开控制台视图给主机发送重启命令在开机自检阶段按提示进入启动菜单通常是F11、F12或ESC不同服务器不一样可以看屏幕右上角提示选择从CD/DVD启动如果一切正常你会进入ESXi Installer的引导界面。如果你是从iLO或iDRAC的虚拟介质挂载ISO注意需要在虚拟介质界面先“连接”ISO再在主机启动时从虚拟光驱引导。不同版本的iLO/iDRAC界面长得不太一样但逻辑基本一致。实际经验提醒我在机房操作时经常遇到重启后没来得及按引导键主机就正常启动进入旧ESXi的情况然后我以为ISO挂了其实是因为引导顺序里硬盘优先于CD/DVD而我又没手动进入启动菜单。所以收到“重启后ISO不引导”这种问题时第一步往往不是怀疑ISO损坏而是想想你有没有真的从CD/DVD启动过。3.2 交互式升级引导的关键步骤引导成功之后你会看到ESXi安装器界面也就是熟悉的黄色背景加蓝色边框。在引导菜单里通常有几个选项比如“Boot from hard drive”“Boot from CD/DVD”等一般默认就是正常引导。第一次进这个界面可能有点紧张别慌等它加载完。接下来进入安装模式选择。界面会提示你是要Install还是Upgrade。这里我要反复强调一定要选择“Upgrade ESXi, preserve VMFS datastore”千万不要选“Install”。Install是全新安装它会重新初始化系统分区你现有主机上的配置和虚拟机注册信息都会被清掉虽然数据存储不会直接删除但现有环境会被搞得七零八落这绝对不是你想要的结果。选择Upgrade之后安装器会扫描你的磁盘并检测到现有的ESXi系统。接下来有几步需要你确认选择安装/升级目标磁盘。一般会是你当前的系统盘通常显示为Local VMware Disk或者mpx.vmhba0:C0:T0:L0这样的设备路径。确认无误后继续。键盘布局默认美式英语直接回车。root密码设置这里要注意密码强度至少8位包含大小写字母和数字最好。如果密码太弱安装器会提示你重新设置。确认后安装器开始执行升级操作。这个过程会拷贝新版VIB文件到系统分区覆盖旧的系统文件然后配置引导参数。由于只是系统分区写入不是整个磁盘全量写入所以耗时不会太久一般5到15分钟取决于磁盘速度和版本跨度。期间千万不要断电也不要强制重启等进度条走完。流程结束后安装器会提示你移除安装介质并重启主机。在vSphere Client里可以先“断开”ISO连接或者在远程控制台里设置从硬盘启动然后重启主机。3.3 升级后的验证与驱动检查主机重启后你会看到新的引导界面。登录vSphere Client或者直接在控制台登录第一件事是确认版本信息。用SSH登录主机的话执行esxcli system version get能看到类似“VMware ESXi 8.0.0 build-xxxxxxx”的输出。如果版本号正确说明升级基本完成了。别急着把虚拟机拉起来先做一轮健康检查。我一般按下面这个顺序来网络检查。管理IP能不能ping通vSphere Client能不能正常访问服务控制台网络地址、DNS、默认网关是否正常。很多升级后的问题首先表现为管理网络失联所以这个必须最优先确认。存储检查。进入存储页面看数据存储是否正常挂载确认原来所有的VMFS数据存储都在而且容量显示正确。如果升级后数据存储消失不要慌先重新扫描存储适配器如果还是找不到看看是不是磁盘驱动没有被正确加载。虚拟机注册检查。确认所有虚拟机都还在清单中状态是“已注册”而不是“孤立”或“无效”。有时候升级后由于metadata变化一些虚拟机可能需要重新注册这个可以手动在数据存储上找到vmx文件重新添加。VIB和驱动检查。用命令查看当前安装的软件包esxcli software vib list看有没有Disabled或Error状态的VIB。第三方驱动或者Agent如果在新版本里不兼容会显示异常这时要想办法卸载或者更换兼容版本或者重新安装正确的OEM驱动。时间同步检查。ESXi主机如果时间不对会影响证书、日志和后续的集群操作检查NTP设置是否生效。这些检查都通过之后才算升级“真正完成”。4. 升级过程中常见的坑与排查技巧整个流程看起来不复杂但实际操作中的坑着实不少。我把这些年积累的一些典型问题和排查思路整理一下应该能帮你省掉不少弯路。4.1 ISO挂载后无法引导的典型原因这是我被问得最多的一个问题ISO明明挂上了主机重启也选择了光驱启动为什么最后还是进了旧系统原因不外乎这么几类。第一启动顺序没设置对。虽然你手动选了光驱启动但有些BIOS的启动菜单里虚拟光驱和本地光驱是分开显示的选了“光驱”不一定是“虚拟光驱”。特别是在远程管理口挂载ISO时虚拟光驱会被识别为一个USB外设或者CD-ROM你要选对应的项才行。第二远程管理口没有正确连接ISO。以iLO为例你需要在Virtual Media页面里先“插入”ISO然后“连接”而且连接状态要在主机启动前确认处于已连接状态。有些控制台页面的“连接”按钮比较隐蔽忘了点就直接重启那肯定引导不了。第三UEFI安全启动的问题。较新的服务器默认启用了Secure Boot如果ISO镜像不是经过签名认证的或者引导加载器不满足安全启动要求主机启动时可能直接跳过光驱引导报错。这种情况可以临时关闭Secure Boot试试或者使用官方原版/厂商定制版ISO因为它们一般都带有效的安全启动签名。第四ISO文件损坏。虽然概率不大但是下载中断、CDN异常都会导致ISO引导失败。所以前面才说要校验哈希。遇到“ISO不引导”的情况我的排查顺序是先确认ISO文件哈希再确认虚拟介质状态再检查BIOS启动顺序和安全启动设置。如果还是不行那就用可启动U盘替代ISO把ISO写入U盘从U盘引导升级。4.2 升级失败后如何回滚升级失败这个概念很宽泛可能是主机启动不了可能是网络失联可能是VC无法识别主机。我来说说常见的处理思路。如果主机能够启动但网络功能异常先检查网卡驱动和VIB状态。ESXi在引导时会加载网络驱动模块如果驱动缺失你会看到主机启动后登录界面正常但管理IP始终起不来。这时候可以尝试在控制台本地登录使用esxcli network命令看看网络设备是否被识别如果设备存在但没IP手工配置IP试试。如果设备根本不存在那就是驱动问题可能需要恢复到旧版本或者加载兼容驱动。如果主机启动后卡在“紫色屏幕”或者在引导阶段反复重启大概率是硬件兼容性问题或者安装器加载了不兼容的驱动。这种情况比较麻烦因为在ESXi环境下你是做不了像Windows那样安全的“系统还原”的。我处理这类问题的三板斧重新使用旧版本ISO引导选择Upgrade选项覆盖回去旧版本VIB。这不是官方支持的回滚方式但在很多场景下是能救急的。使用厂商定制的ISO重新升级解决驱动不兼容问题。如果前面两种都不行那就只能用备份的配置重新安装同级ESXi再导回主机配置。虚拟机数据通常在数据存储里不受影响所以虚拟机恢复相对容易只是主机网络、存储配置需要重新设置。所以还是那句话升级前备份配置文件、记录网络配置、保留数据存储安全这三点是最后的退路。别等到踩坑了才后悔。4.3 常见问题速查表下面这张表整理了我运维ESXi升级时最常遇到的问题、原因和思路建议保存一份遇到问题时对照着看。问题现象可能原因排查/解决建议ISO挂载后不引导启动顺序错误、虚拟介质未连接、ISO损坏、Secure Boot拦截校验哈希检查虚拟介质连接调整BIOS启动顺序必要时关闭Secure Boot升级界面识别不到本地磁盘磁盘驱动缺失或不兼容使用服务器厂商定制ISO或预加载驱动模块升级后管理网口无IP网卡驱动在新版本被移除或未加载到控制台检查esxcli network信息确认驱动是否加载必要时回滚或加载OEM驱动升级后数据存储消失存储驱动问题、VMFS版本过旧、重新扫描未执行重新扫描存储适配器检查磁盘是否识别必要时检查HCL升级后主机反复重启硬件兼容性问题或VIB冲突查看日志确认硬件HCL尝试更换镜像或回滚升级中途进度条卡死ISO损坏、磁盘I/O问题、远程控制台网络闪断校验ISO改用本地U盘安装确保网络稳定root密码不满足强度要求策略要求高设置足够复杂密码至少8位且含大小写和数字升级后虚拟机无法启动VMware Tools版本过旧或虚拟硬件版本不兼容升级VMware Tools必要时升级虚拟硬件版本还有一些小细节是普通文档里很少提的第一升级过程中远程控制台窗口不要关闭。有些朋友通过iLO或vSphere Client远程控制台看到安装进度走了几个百分点觉得没事了就切到别的窗口结果网络闪断、控制台失联升级进程可能中断非常危险。第二升级完成后主机的时间设置可能会跳变。如果原来主机用的是UTC时间而你的虚拟机用的是本地时间升级后时区配置被重置的概率是存在的。建议升级后立刻检查主机时区和NTP设置避免业务系统时间错乱。第三升级前如果主机里开了SSH升级后SSH服务默认状态可能变化新版ESXi有时会默认关闭SSH。如果平时习惯用SSH管理升级后需要重新开启这个不要忘记。5. 升级后的优化与长期维护建议升级完不是终点后面还有一堆事情要做尤其是把环境整理到一个健康的状态。这部分分享一下我个人的维护习惯。5.1 升级后需要立即检查的项目升级完建议不要马上把虚拟机全部迁回来先用一台不太关键的虚拟机做测试跑一段时间确认业务正常后再逐步恢复其他虚拟机。需要检查的项目按优先级排序VMware Tools是否需要更新。虚拟机里的VMware Tools版本如果太老在新型ESXi上可能无法正常通信这会影响虚拟机的启动、关机、快照操作。根据虚拟机操作系统的不同在虚拟机内重新安装或升级VMware Tools有时候还需要重启虚拟机。虚拟硬件版本是否需要升级。ESXi大版本升级后虚拟机的虚拟硬件版本可能不是“最新”。比如ESXi 8.0支持更高版本的虚拟硬件。但升级虚拟硬件版本需要虚拟机处于关机状态而且升级后旧的ESXi主机可能无法再打开这个虚拟机。所以这个操作要谨慎千万不能在生产环境上率性而为。我的建议是只有当你确认不会再回滚到旧版本了才去升级虚拟硬件版本并且分批次操作。主机内存隔离和资源池配置是否正常有没有因为升级导致某些配置被重置。日志是否正常记录。检查hostd、vpxa、vmkernel日志有没有大量error尤其注意网卡和存储相关的vmkernel警告。如果你是vCenter环境升级完ESXi后检查主机是否正常纳管。有时vCenter连接主机时会出现证书不匹配的问题需要重新连接或更新信任。5.2 后续升级路径规划最后说说长远一点的规划。ESXi的版本支持周期大概两到三年别等到一个版本彻底不支持了再想着升级。我见过不少朋友从6.0一次性跳到8.0中间跨度太大各种兼容性问题齐发最后折腾了好久。如果条件允许尽量保持小版本迭代升级最小的升级跨度是最稳的。对于小规模环境可以遵循这样的节奏新版本发布后先在测试机上跑一段时间关注VMware官方社区和HCL更新确认没有重大兼容性问题后再在自己的维护窗口升级。生产环境升级前一定做一次压力不高的业务验证比如先用一台非核心虚拟机验证系统可用性再决定是否全量升级。集群环境的建议是先把一台主机隔离出来升级让集群以N-1方式运行一段时间确认稳定后再逐台滚动升级。升级完所有主机后再考虑是否升级虚拟硬件版本和VMware Tools。另外建议养成定期导出主机配置、配置外部syslog日志的习惯。这样下次升级出问题时至少能快速定位是不是配置丢失或者驱动问题。我平时还会把每次升级用的ISO版本号、build号、升级时间和出现的问题都记录在一个表格里时间久了这就是很宝贵的“运维知识库”。以后再做任何版本升级先翻翻历史记录能避开的坑基本都能避开。最后说一个实用小技巧升级完成后记得在vSphere Client里把挂载的ISO断开然后在BIOS引导顺序里把硬盘设回第一位。不然下次主机意外重启时有可能会再次从光驱引导进入安装器界面。那种“明明没有升级为什么主机又进了安装器”的问题多半就是这么来的。升级ESXi这件事说难不难说简单也不简单。难的不是安装那一下而是准备和把控风险。只要把兼容性确认、镜像校验、配置备份、启动顺序、VIB检查这几件事做到位整个升级过程基本都能顺顺利利。这套流程我从ESXi 5.x时代用到现在经历过无数升级场景最深的体会就是每次升级前多花半小时准备比升级后花五小时排查要划算得多。