
Harbor OVA 虚拟机重启持久性验证指南软重启与硬重启后配置完整性测试【免费下载链接】harborAn open source trusted cloud native registry project that stores, signs, and scans content.项目地址: https://gitcode.com/GitHub_Trending/ha/harborHarbor 以 OVAOpen Virtual Appliance形态交付时管理员最关心的问题是虚拟机一旦被重启软重启或断电重启硬重启部署时配置的密码、网络、邮件等参数是否依然有效镜像仓库服务是否能恢复到重启前的状态。本指南以 Harbor 官方测试用例 5-02-OVA-reboot.md 为主体完整讲解 OVA 重启持久性验证的测试环境、17 步标准操作流程与判定标准并结合 Harbor 源码揭示重启后一切如初背后的实现原理。读完本文你将掌握一套可直接复用的 OVA 版 Harbor 重启回归验证方案能够在 vSphere 环境中独立执行并判定测试结果。一、测试目标为什么要验证 OVA 重启OVA 版本 Harbor 与常见的 Docker Compose 或 Helm 部署不同它以虚拟机镜像的形式整体打包交付部署参数Linux root 用户密码、Harbor admin 密码、MySQL root 密码、网络配置、邮件服务器配置等在 vSphere Web Client 的导入向导中一次性录入。这些参数最终会以虚拟机 OVF 环境变量ovfenv的形式注入到虚拟机内部供 Harbor 的 bootstrap 流程消费。本测试用例Test 5-02的核心目标是To verify that an OVA version of Harbor can be rebooted. Its configuration remains unchanged and should work the same way as before a reboot.即验证 OVA 版 Harbor 可以被安全重启重启后配置保持不变服务行为与重启前完全一致。这与同目录下的其他用例形成互补例如 5-01-OVA-networking.md 验证 DHCP/静态 IP 网络配置5-06-OVA-Configuration.md 验证部署后可再配置而本用例专门聚焦重启不丢配置这一运维高频场景。二、测试环境准备根据文档要求执行本测试需要以下环境组件组件要求用途Harbor OVA 二进制OVA 版本的 Harbor 安装包导入到 ESX 主机vSphere 平台vCenter至少一台 ESX 主机承载 Harbor 虚拟机网络支持 DHCP 的网络让 VM 开机后自动获取 IPDocker 客户端主机安装有 Docker CLI 的 Linux 主机执行docker login/docker push/docker pull环境准备的关键点是网络必须支持 DHCP因为在导入向导中网络设置留空Step 3VM 需要依赖 DHCP 自动获取 IP这为后续通过浏览器访问http://VM_IP_address提供了前提。Docker 客户端主机则是验证镜像推送/拉取功能的必备工具。三、完整测试流程17 步本用例的测试流程可以分为四个阶段部署与初始化 → 功能基线验证 → 软重启验证 → 硬重启与 ovfenv 验证。阶段一OVA 导入与初始化Step 1-6在 vSphere Web Client 中将 Harbor 的 OVA 导入到 ESX 主机上。在部署向导中分别输入Linux root 用户、Harbor admin 用户和MySQL root 用户的不同密码。设计意图三个密码各不相同是为了同时验证三条独立的密码配置链路在重启后都保持有效避免因密码相同而掩盖某条链路失效的问题。将网络设置留空让 VM 通过 DHCP 获取地址。配置邮件Email设置——文档特别注明可以填一个不存在的邮件服务器因为本用例的验证重点是配置是否持久化而非邮件是否真正发送成功。启动Power on导入的 OVA。等待几分钟让 VM 完成启动并在 vCenter 中看到它的 IP 地址Web Client 中可能需要刷新。阶段二功能基线验证Step 7-11这一阶段在重启前建立 Harbor 完整功能的基线作为后续对比的参照打开浏览器访问http://VM_IP_address。使用Harbor admin 用户登录 Harbor Web 界面。在界面上创建一个新项目。在 Docker 客户端主机上使用docker login harbor_host以 admin 用户登录 Harbor。执行若干docker push和docker pull命令将镜像推送到该项目并从项目中拉取镜像。Step 9-11 实际上完整走通了 Harbor 的镜像管理主链路Web UI 登录 → 项目创建 → Docker CLI 认证 → 镜像推拉。推送与拉取分别命中 Harbor 的 registry 存储写入与读取路径是判断服务健康的最直接手段。从源码结构看项目创建由 src/controller/project/controller.go 中的项目控制器负责Create 方法而镜像推拉则走 src/server/v2.0 下实现 Docker Registry HTTP API V2 协议的路由与处理器与标准 registry 协议完全兼容因此 Docker CLI 可以无缝工作。阶段三软重启Soft Reboot验证Step 12-14在 vSphere 中打开 Harbor VM 的控制台使用部署时输入的密码以root 用户登录虚拟机。在 vCenter Web Client 中对 VM 执行软重启soft reboot即 Guest OS 层面的重启。VM 启动完成后重复 Step 7-12验证所有功能与重启前一致。软重启验证的意义在于模拟日常的重启服务运维操作操作系统干净地关闭再启动Harbor 的所有容器随系统重新拉起此时配置必须完整保留。阶段四硬重启与 ovfenv 验证Step 15-17将 VM关机后再次开机hard reboot断电级重启。VM 启动完成后再次重复 Step 7-12验证功能与重启前一致。在 vSphere 中打开 Harbor VM 的控制台以 root 用户登录执行ovfenv命令验证环境变量与部署时输入的内容完全一致。硬重启比软重启更严苛它会截断正常的关闭流程直接模拟断电场景最有可能暴露配置丢失或未持久化落盘的问题。而 Step 17 的ovfenv命令则是从虚拟机固件层面直接检查 OVF 环境变量——这些变量正是部署向导输入的参数的最终落点确认它们未变就确认了配置未变的根源。四、预期结果与判定标准文档明确了每一步的期望输出测试通过需要同时满足以下三条Step 1-12 全程无错误部署向导中输入的密码在 Step 7Web 登录、Step 9创建项目和 Step 11docker login 后的 push/pull中都必须有效。Step 14、Step 16 行为一致VM 在软重启和硬重启之后其工作方式必须与重启之前完全相同——登录凭据有效、项目存在、镜像可推可拉。Step 17 环境变量不变ovfenv输出的环境变量必须与部署时录入的值保持一致。判定逻辑非常清晰功能层面Web/CLI/镜像推拉与配置层面ovfenv 变量双重验证只有两层都通过才能确认 OVA 重启持久性达标。五、原理剖析为什么重启后配置依然有效理解重启后一切如初需要结合 Harbor 的部署架构来看1. OVF 环境变量是配置的持久化源头。OVA 导入向导中录入的密码、网络、邮件等参数会被固化为虚拟机的 OVF 环境变量。Step 17 用ovfenv验证的正是这一层。只要虚拟机的 OVF 描述文件未被改动这些变量在任意次重启后都保持不变。2. Harbor 内部配置持久化在数据库与磁盘。用户创建的项目、镜像数据、系统配置等运行期数据存储在 Harbor 各组件的数据卷中数据库、registry 存储等。Harbor 采用容器化架构核心服务以容器形式运行数据卷挂载在虚拟机的磁盘上软重启与硬重启都不会清除磁盘内容因此项目与镜像得以保留。3. 服务随系统启动自动拉起。从 make/photon 目录下的 Dockerfile 与 entrypoint 脚本可以看出Harbor 各组件core、jobservice、registry、registryctl、nginx、portal、db、exporter 等在 prepare 阶段生成配置后由 Docker 驱动运行OVA 形态下这些服务会随 VM 开机自动启动恢复对外服务。4. Registry 协议兼容保证 Docker CLI 无障碍。镜像推拉走的是 Docker Registry HTTP API V2 协议由 src/server/v2.0 目录下的处理器实现同时通过 src/registryctl 管理底层存储。这让docker login、docker push、docker pull在重启前后行为完全一致。六、与其他测试用例的组合实践本用例属于 Harbor 测试套件中 OVA 安装配置系列tests/testcases/Group5-OVA-install-config在实际回归中建议与本系列其他用例组合执行5-01-OVA-networking.md验证 DHCP 与静态 IP 两种网络配置覆盖本用例 Step 3 留空网络设置的 DHCP 场景5-03-OVA-garbage-collection.md验证垃圾回收功能可配合镜像推拉后的存储清理验证5-04-OVA-HTTPS.md验证 HTTPS 访问配置5-06-OVA-Configuration.md验证重启后配置可再修改除网络、root 密码、Harbor 密码、MySQL 密码外。此外仓库中的自动化冒烟测试 package-online-installer.robot 覆盖了 Harbor 在线安装包的基础功能验证可作为理解docker login/docker push等验证动作在 Harbor 整体功能体系中定位的参考。七、执行建议与注意事项密码三分离务必让 Linux root、Harbor admin、MySQL root 使用不同的密码否则无法精确定位是哪一条认证链路在重启后失效。邮件服务器可为空Step 4 允许配置不存在的邮件服务器因为本用例只关心配置持久化不必追求邮件真实可达。DHCP 依赖网络设置留空意味着 VM 必须处于支持 DHCP 的网络中否则 Step 6 无法获取 IP后续全部步骤无法进行。两次重启都要完整复测软重启和硬重启覆盖不同的故障模式Step 14 与 Step 16 的复测Step 7-12缺一不可且必须以 Step 11 的镜像推拉作为最终判定——只有 UI 登录成功而镜像推拉失败同样视为不通过。ovfenv 是最终裁决功能验证通过后务必执行 Step 17 的ovfenv检查从虚拟机配置源头确认环境变量未被改动形成闭环验证。八、结论OVA 版 Harbor 的重启持久性验证本质上是对配置写入 → 持久化落盘 → 服务重启恢复整条链路的回归测试。通过软重启与硬重启两种模式的完整复测加上ovfenv环境变量比对可以系统性地确认 Harbor 虚拟机在运维重启场景下的可靠性。本文给出的 17 步流程与判定标准可直接在 vSphere 环境中落地执行作为 Harbor OVA 交付验收与日常运维回归的标准化检查清单。【免费下载链接】harborAn open source trusted cloud native registry project that stores, signs, and scans content.项目地址: https://gitcode.com/GitHub_Trending/ha/harbor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考