ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ESXi 8.0U2离线升级实战:depot包使用与避坑指南

ESXi 8.0U2离线升级实战:depot包使用与避坑指南 简介面向虚拟化运维工程师与系统管理员这份ESXi 8.0更新2离线升级包适配构建版本22380479可在无互联网环境下通过命令行或更新管理器批量完成主机补丁安装与版本升级。包体采用depot压缩包封装共124个文件核心为121个VIB安装模块涵盖基础系统、虚拟SAN、集群存储等关键功能组件另含2个XML元数据描述文件和1个辅助压缩包整体大小约587.17MB便于复制到隔离网络环境中使用。对于需要维护内网集群、批量升级多台ESXi主机或建立统一基线版本的技术人员这套离线包可直接作为软件源既能避免逐台在线更新的网络压力也能降低在线依赖带来的兼容性风险。已有821人学习或下载适合正在规划虚拟化平台升级或需要快速搭建ESXi离线安装源的工程师参考。 最近又双叒被问到 ESXi 离线升级的问题原因是很多机房、内网环境里的 ESXi 主机根本连不上外网vCenter 的在线更新自然用不了。拿到的补丁就是一个 VMware-ESXi-8.0U2-22380479-depot.zip 这样的离线包看着像普通 zip但很多人不知道这玩意儿具体怎么用甚至有人直接解压了往主机里拷结果当然不行。这篇文章就专门聊 ESXi 8.0U2 离线 depot 包这件事。我会讲清楚 depot 包和 ISO、离线 Bundle 的区别离线升级的完整操作流程以及我实际踩过的一些坑。适合刚接手虚拟化环境的新手运维也适合准备给测试环境批量升级的动手党如果你手头正好有这个离线包照着做基本不会出大问题。1. 离线 depot 包的定位与选型1.1 为什么说内网环境离不开离线包ESXi 升级本质上就是把新的 VIB 组件VMware 的软件安装包单元部署到主机上。官方提供的方式很多在线连接更新源、vCenter 的 Lifecycle Manager 同步、手动上传离线包。问题是很多生产环境出于安全考虑是物理隔离的或者外网访问被策略限制在线更新源根本连不上。这时候 depot.zip 就派上用场了。depot 在 VMware 语境里叫“软件仓库”它不是简单的压缩文件而是一个包含完整元数据和 VIB 组件的仓库结构。esxcli 或者 vLCM 拿到 depot 之后能从中解析出可用的 image profile、版本号、依赖关系然后完成升级或补丁安装。我自己接触过不少用物理机装 ESXi 的小机房没有 vCenter就一台台手动维护。这种环境里离线 depot 包几乎成了标准操作——先在一台能上网的机器上下载好 depot再用 U 盘或者 scp 传到目标主机最后用命令行搞定。整个过程不依赖任何外部网络可控性很强。1.2 depot.zip、离线 Bundle、ISO 到底怎么选很多人第一次接触 ESXi 离线包时会被几个后缀搞晕depot.zip、offline bundle、ISO。我直接给一个对照表看完就明白该选哪个。文件类型典型用途升级方式适用场景depot.zip离线升级/补丁仓库esxcli、vLCM 导入已运行主机的版本升级、补丁更新offline bundle单个或多个 VIB 组件包esxcli software vib install单独安装驱动、特定组件不需要整体换版本ISO全新安装/启动盘引导安装新部署服务器、重装系统、制作启动 U 盘这里有个常见误解有人以为离线升级就是把 ISO 里的文件覆盖到主机上其实不是。ISO 主要用于安装引导升级运行中的系统最好用 depot 包因为它包含了完整的 profile 信息能帮你校验 VIB 依赖关系避免升级到一半因为组件冲突挂掉。实际选择建议是如果你要升级整个 ESXi 系统版本就下载对应的 depot.zip如果你只是要给现有主机补一个网卡驱动或安全补丁用 offline bundle 更精准如果是新服务器装机才需要刻 ISO 启动盘。2. 动手前的准备工作与版本核对2.1 解读版本号8.0U2-22380479 里的信息量文件名里的 VMware-ESXi-8.0U2-22380479-depot.zip 包含几个关键信息大版本是 VMware ESXi 8.0U2 代表 Update 2第二个更新版本22380479 是 build 号构建号。这个 build 号非常重要判断主机是否已经打过某个补丁不看版本名而是看 build 号。在 ESXi 主机上执行vmware -v就能看到当前版本和 build 号比如VMware ESXi 8.0.1 build-21495797。如果你现在跑的是 8.0U1 或更早版本手头这个 8.0U2 的 depot 包就能用来做跨小版本升级。还需要注意 depot 包里可能有多个 profile。常见的有ESXi-8.0U2-22380479-standard和ESXi-8.0U2-22380479-no-tools。standard 版包含 VMware Tools 镜像no-tools 版不带。日常升级选 standard 就好除非你明确不想在升级时捆绑 Tools。2.2 升级前的检查清单升级 ESXi 不是双击一下完事尤其是生产环境。我每次操作前会过一遍这几项第一硬件兼容性。ESXi 8.0 对 CPU、存储控制器、网卡有严格要求去官方兼容性指南查一下服务器型号在不在支持列表里。不在列表里不一定不能用但需要做好心理准备驱动可能有问题。测试机可以赌生产机别赌。第二驱动和 VIB 状态。第三方驱动比如 OEM 网卡驱动在升级时经常是重灾区。先执行esxcli software vib list看看已安装的 VIB 列表确认有没有非 VMware 官方签名、版本号奇特的组件这些很可能在升完级后报错。第三备份配置。升级前把主机的配置导出备份方法很简单在 DCUI 或 Web 界面里找“配置-系统-备份和还原”导出配置文件或者用命令vim-cmd hostsvc/firmware/backup_config。这个备份在升级失败回滚时非常救命。第四空间检查。ESXi 系统存储/bootbank 需要足够空间放新的 VIB 包一般建议至少留出几个 GB。如果之前乱装了很多 VIB先清理一下。第五建议开启维护模式。如果主机在 vCenter 集群里先把主机进入维护模式把虚拟机迁移到其他节点如果单机跑业务也要确认业务窗口因为升级完成后必须重启。3. 离线升级完整实操3.1 上传 depot 包到 ESXi 主机拿到VMware-ESXi-8.0U2-22380479-depot.zip后第一步是把它传到目标主机上。最常用的方式是通过 SSH 加 scp或者用 WinSCP 这种图形工具。ESXi 的 SSH 服务默认是关闭的需要先在 Web 界面或 DCUI 里开启。路径是“主机-管理-服务-TSM-SSH”点启动如果是 DCUI按 F2 然后找到 Troubleshooting Options 启用。开启后执行scp VMware-ESXi-8.0U2-22380479-depot.zip rootESXi主机IP:/vmfs/volumes/datastore1/这样会把 depot 包传到数据存储根目录。为什么传到这里而不是 /tmp因为 /tmp 是内存文件系统重启就没了而且空间有限datastore1 是持久化存储而且 esxcli 直接访问 /vmfs/volumes/ 路径也没问题。传完后建议先检查文件完整性别传一半断了导致升级时报错md5sum /vmfs/volumes/datastore1/VMware-ESXi-8.0U2-22380479-depot.zip把它和官方下载页给的 MD5 值对比一下一致再继续。3.2 使用 esxcli 执行离线升级SSH 登录到主机后先看看当前系统版本vmware -v esxcli software profile get接下来列出 depot 包里的 image profileesxcli software profile list -d /vmfs/volumes/datastore1/VMware-ESXi-8.0U2-22380479-depot.zip能看到类似这样的输出Name Vendor Acceptance Level ---- ------ ---------------- ESXi-8.0U2-22380479-standard VMware, Inc. PartnerSupported ESXi-8.0U2-22380479-no-tools VMware, Inc. PartnerSupported然后执行安装命令把系统升级到新版 profileesxcli software profile install -d /vmfs/volumes/datastore1/VMware-ESXi-8.0U2-22380479-depot.zip -p ESXi-8.0U2-22380479-standard --ok-to-remove这里简单拆解几个参数-d指定 depot 文件路径-p指定要安装的 profile 名称--ok-to-remove表示允许移除与新版本不兼容的旧 VIB。如果遇到硬件兼容性警告可以加--no-hardware-warning强制继续但生产环境不建议这么干除非你非常确定硬件没问题。命令执行过程中会有一段校验和安装输出最后提示Please reboot the host之类的内容。看到这个提示基本就成功了一大半接下来重启主机reboot重启后 ESXi 会加载新的 bootbank 环境。整个升级期间千万不要断电、不要乱动等它自己起来。3.3 升级后的验证与收尾重启完成SSH 进去确认版本vmware -v esxcli software profile get正常会显示VMware ESXi 8.0.2 build-22380479这样的信息。此时再做三件事第一确认所有服务正常。在 Web 界面登录看看主机状态是否正常虚拟机是否能正常注册和启动。如果之前开了维护模式记得在 vCenter 里退出维护模式。第二确认网络和存储。升级有时会影响网卡驱动或存储驱动ping 一下管理 IP再看看存储设备能不能正常识别。第三清理上传的 depot 文件。升级完成后这个文件就没用了占着 datastore 空间删掉rm /vmfs/volumes/datastore1/VMware-ESXi-8.0U2-22380479-depot.zip另外提一句如果你的环境有 vCenter 并且用的是 vSphere Lifecycle ManagervLCM也可以直接在 vCenter 里导入这个 depot 包路径大概是“Lifecycle Manager-设置-导入”上传后创建基准或镜像来升级。这种方式适合批量管理很多主机比一台台 SSH 上去敲命令高效得多。前提是你的 vCenter 能正常读取这个离线包。4. 常见问题与排查技巧实录4.1 组件无法找到、导入失败类报错实际升级过程中出现频率最高的报错就是类似“无法在更新服务器上找到组件请联系 VMware 技术支持或您的系统管理员”或者“No VIBs matching”之类的提示。我排查这类问题的经验是先从最简单的路径问题查起。检查 depot 文件路径是否正确、文件名有没有输错、文件是否真的传完整了。我之前遇到过 scp 传文件中断结果 esxcli 一直报找不到组件重新传一遍就正常了。如果用的是 vLCM 导入还要注意上传的文件必须是完整的 depot.zip不能是解压后的文件夹也不能是 ISO 改后缀。有些朋友为了省事直接把 ISO 后缀改成 zip 去导入那当然会失败因为里面根本没有 vLCM 需要的元数据。另一个容易被忽略的点是主机时间。ESXi 的软件签名验证依赖时间戳如果主机时间偏差太大签名校验会失败报错可能非常难懂。建议在升级前先date看一下当前时间不对就先用 NTP 同步一下再升级。4.2 Web 界面登入异常与证书状态问题升级后网页端无法登录是另一个高频问题。很多人以为升级失败了其实不一定是。ESXi 升级后 Web 服务需要一点时间起来刚重启完立刻刷新页面可能会报“无法连接”“服务不可用”。我的做法是等 3 到 5 分钟清一下浏览器缓存再试。如果还不行SSH 进去重启管理服务/etc/init.d/hostd restart /etc/init.d/vpxa restart注意 vpxa 只在该主机被 vCenter 管理时才存在单机环境没有就只重启 hostd。重启完再去试 Web 界面。还有证书状态异常的问题。ESXi 8.0 默认用的是 VMware 自签名证书升级后证书可能因为时间跳变或旧证书库冲突显示不可信。最常见的情况是浏览器报“证书已过期”或“不安全连接”。这时候可以在 Web 界面“管理-证书”里查看证书状态必要时重新生成证书。如果主机在 vCenter 里显示证书状态异常可以先断开再重新连接主机让 vCenter 重新拉取证书信息。这个操作在测试环境很有效生产环境建议先弄清楚证书是不是真的过期了别乱重建。4.3 实验环境验证与启动盘制作经验给生产环境升级之前我强烈建议先在实验环境跑一遍完整流程尤其是你没操作过几回的话。我自己就常用 VMware Workstation Pro 创建一台嵌套的 ESXi 虚拟机然后把 depot 包传进去做升级演练流程和物理机几乎一样。好处是可以在十分钟内反复测试即使搞挂了也不会影响生产业务。具体做法是在 Workstation 里创建虚拟机时选择 VMware ESXi 8.0 的 ISO 引导安装安装完后再用我们上面讲的 esxcli 流程做离线升级。嵌套虚拟化的性能自然不好但验证升级流程足够了。注意 Workstation 里跑嵌套 ESXi 需要开启虚拟化引擎的“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”否则 ESXi 安装阶段就可能卡住。顺便说一下启动盘制作因为经常有人把 depot 包和系统安装 ISO 搞混。离线 depot 包不能用来做启动盘做启动盘必须用 ISO 镜像。制作方式也很简单用 Rufus 或 VMware 官方工具把 ESXi 8.0 的 ISO 写入 U 盘然后从 U 盘引导安装。注意 U 盘引导模式要和服务器固件匹配UEFI 的机器就用 UEFI 模式引导Legacy BIOS 的机器就用传统模式这个选错会直接引导失败。最后再分享一个升级后的小技巧如果旧系统上装了一些第三方 VIB升级后新版本里可能没有对应驱动导致存储或网络异常。遇到这种情况先把旧 VIB 卸载再重新安装兼容版本比较稳妥的做法是升级前就把第三方驱动 VIB 下载好放在同一个 datastore 里备用。别问我为什么强调这个我吃过亏升级完网卡不认了折腾到半夜才把驱动装上。本文还有配套的精品资源点击获取
返回列表