跳到本文

计算与网络

Infra

物理机网络引导与应用交接

Infra 为受信局域网中的物理机提供网络引导。控制端维护地址与镜像声明,Bootstrap 核验镜像并准备运行环境,应用从自己的 /init 接管执行与业务工作。镜像发布、启动交接和应用就绪分别核对,便于判断机器实际走到了哪一步。

保留业务地址,更换运行机器 发现新机器后,先核对租约与硬件,再为其声明业务地址和应用镜像。旧租约结束后,新机器可以接续该地址;应用自行读取持久数据并证明服务恢复。

让机器取得明确的运行环境

Infra 面向受信、隔离的 IPv4 局域网与 x86-64 UEFI 机器。控制端提供网络引导、镜像发布和当前机器观察;Bootstrap 是机器先进入的小型引导系统,应用镜像则包含自己的入口与执行依赖。

操作者维护两项独立声明:启动网卡对应哪个静态业务地址,以及启动时选择哪个镜像名称。机器可以先通过自动分配地址的 DHCP 服务出现在租约中,再等待地址或镜像分配;尚无硬件报告,不妨碍发现它。

网络发现、完整镜像准备与一次执行交接依次连接;应用运行和就绪另行观察。
核验完整镜像,再交接应用执行沿启动顺序阅读:网络声明帮助机器取得镜像,Bootstrap 完成内容核验和运行准备,再授予一次执行许可。应用是否就绪由应用自己的输出确认。

接入前,准备网络事实与完整应用

一次部署需要三类输入:可独占使用的启动网络配置、机器网卡与地址的对应关系,以及能够独立运行的应用镜像。网络配置应说明地址池、网关和路由;镜像应包含 /init 及其实际执行依赖,不能把引导系统中碰巧存在的文件当作应用依赖。

业务地址与启动内容分别维护。可以先声明机器应使用的镜像名称,再发布该名称的内容;在绑定或镜像尚未齐备时,机器等待,而不是改用另一份应用。维护 SSH 的权限另行配置,不能从镜像选择权推导出远程管理权。

  1. 确认网络与机器

    从实际 DHCP 租约识别启动网卡,核对隔离网络、地址范围与已有占用。硬件报告用于补充判断,不是发现机器的前提。

  2. 提交两项独立声明

    分别设置静态业务地址和镜像名称。若目标地址仍有冲突租约,先处理原租约的实际生命周期。

  3. 发布应用并观察交接

    完整上传镜像后,观察实际地址、所选内容和应用自身输出。每项观察回答不同问题。

从当前声明走到完整镜像

静态地址声明提交后,客户端通过 DHCP 续租与重新发现取得实际地址。目标地址仍被另一台机器的有效租约占用时,变更会拒绝并保留原声明。设置成功表达的是地址策略已生效,实际取得地址仍需单独观察。

每个镜像名称对应一份完整的当前镜像,采用 EROFS 只读文件系统格式。上传核对字节长度与内容摘要,再原子替换名称对应的文件。正在读取的机器继续使用已打开的内容;等待下一次选择的机器读取当时的当前内容。

  1. 发现

    从 DHCP 租约取得启动网卡与临时地址。

  2. 声明

    指定业务地址,独立指定镜像名称。

  3. 发布

    上传完整镜像,让等待中的机器具备可选内容。

  4. 交接

    Bootstrap 核验与准备完成后,授予执行入口的权限。

一次启动中的执行权限

Bootstrap 将镜像挂载为只读根目录,为应用提供独立的进程与挂载视图,并准备设备、内核接口和可写运行目录。应用入口 /init 在自己的进程命名空间中作为首个进程(PID 1)启动,镜像需要携带完整的用户态执行依赖。

授予执行权限之前,传输或准备失败必须完成相关读写、挂载和子进程清理,才允许重新选择。权限一旦可能发出,本次启动就不再启动第二个应用。应用退出或没有报告就绪,都不会让 Bootstrap 重新授予权限。

执行环境准备、一次许可与应用接管顺序连接,许可前失败可在完整收尾后重试,许可后不再启动第二个载荷。
一次执行许可改变重试边界许可发出前,失败尝试必须完整收尾后才能重新准备。一旦许可可能已经跨过闸门,本次启动就不再启动第二个载荷;应用执行与就绪由应用独立给出证据。
交接后由谁继续负责
内容负责方具体含义
只读根与运行目录Bootstrap 准备,应用使用运行目录可写;镜像根保持只读。
地址与解析器原 DHCP 客户端续租与解析器更新继续作用于应用环境。
持久磁盘与业务就绪应用自行选择设备、处理恢复并提供服务观察。

把声明、观察和业务结果分开

硬件报告独立采集 CPU、可见内存、硬件网络接口和整块设备。每个来源可以单独不可用;成功取得的空集合与未能取得数据不同。控制端只在内存中保留最新样本,重启或淘汰后没有样本,不代表机器消失。

镜像上传完成仅说明内容完整且已发布。引导环境可用、维护 SSH 可连接、应用入口实际执行以及业务服务就绪,也各自需要对应观察。修改镜像名称或删除绑定,不会终止已交接的应用。

常见观察的准确含义
观察可以确认仍需独立确认
静态声明已保存地址策略已提交并激活客户端是否已取得匹配租约
镜像已发布完整字节与名称绑定镜像能否挂载、应用是否可运行
最新硬件样本该次捕获的设备事实当前应用与存储业务是否正常

更换机器时,沿事实逐项核对

保留业务地址更换机器时,先确认旧地址的租约是否仍有效,再核对新机器的网卡声明和实际租约。删除配置不会收回已经发出的租约,也不会终止已经运行的应用;两台机器之间的业务排他性仍需由应用或运维条件建立。

若新机器停在等待阶段,检查当前绑定和完整镜像是否存在;若已经交接,则改看应用的启动身份、业务响应与已知持久数据。重新发布同名镜像可以改变后续选择,但不能作为修复当前应用的隐式重启操作。

  • 可以确认:应用读回自己的已知数据

    这能支持该应用在当前环境中恢复了所观察的业务结果;需要同时保留机器、地址和数据的对应关系。

  • 不能推断:维护 SSH 可达即服务已恢复

    SSH 证明的是维护路径。镜像已发布、地址已声明或引导环境可用,同样不足以证明应用已经完成任务。

  • 继续核对:硬件样本暂时缺失

    先区分来源不可用、成功的空集合和控制端缓存已清空,再决定是否需要重新观察机器。

用应用自己的输出完成验证

设计中的验证链从未知网卡的 DHCP 发现开始,覆盖固件引导、实际启动网卡、运行镜像核验、原 DHCP 客户端续租和应用的独立输出。另一组场景在更换机器后核对相同业务地址和持久卷中的已知数据。

这些是验证要求,不能代替一次具体环境的执行记录。维护重启通过独立授权的 SSH 发出;连接断开只说明结果可能未知。要确认重启与服务恢复,需要另行观察新的启动身份和应用响应。