计算节点没有本地系统盘,或希望统一维护操作系统时,可以让设备从网络启动,再读取集中保存的系统镜像。计算节点网络启动与无盘部署配置的关键,不只是让机器“找到镜像”,还要明确镜像如何共享、节点写入落在哪里,以及服务中断时如何排查。
先分清启动文件和系统镜像
网络启动通常分为两个阶段:固件先从网络取得启动程序,启动程序再加载内核、initramfs(初始内存文件系统)和根文件系统。前几项启动文件可以放在启动服务端;较大的系统镜像则由独立存储服务提供。分开存放便于更新启动参数,也能避免每台节点保存一份完整系统。
例如,iPXE 可用于继续获取启动配置与内核文件;系统根盘则可通过 iSCSI 暴露为网络块设备。两者职责不同:iPXE 负责引导流程,iSCSI 负责提供块存储。部署前应确认节点网卡支持网络引导,并核对固件模式、网卡驱动和服务器端协议是否匹配。
共享镜像的读写策略要先定
基础镜像只读,节点分别写入
多台计算节点同时挂载同一个可写系统盘,可能导致文件系统元数据互相覆盖。较稳妥的设计是把公共基础镜像设为只读,再为每台节点提供独立写入层。可由 initramfs 在启动时组合只读根文件系统和临时或持久化写层;支持该方案的系统可使用 overlayfs。这样公共部分只维护一份,节点差异数据则按机器隔离。
临时写层适合计算任务结束后可清除的环境,重启后个性化改动可能消失;独立持久卷适合需要保存配置或本地缓存的节点,但会增加存储空间、备份和回收工作。若业务要求节点系统完全一致,临时写层更易管理;若节点需要保留状态,应为每台机器分配独立写入空间。
从准备到首台节点验证
- 整理镜像。在维护环境安装所需系统与驱动,清理不应复制的主机标识、临时文件和密钥。记录镜像版本,并保留可回退的上一版。
- 配置启动服务。让地址分配服务为节点提供网络参数,并按网卡标识或节点分组返回启动文件。启动文件、内核和 initramfs 应放在节点可访问的位置;配置中写明根文件系统的存储地址和镜像标识。
- 发布存储目标。在存储端创建 iSCSI 目标,将基础镜像按只读方式共享;配置访问控制,限制允许连接的节点。不要将同一可写卷直接分配给多台机器。
- 接入独立写层。按节点标识挂载各自的写入卷,或使用仅在运行期间存在的内存写层。确认启动脚本在切换到根文件系统前完成组合,并为写层容量不足设置监测或清理办法。
- 逐台验收。先接入一台计算节点,检查启动文件是否取得、根卷是否连接、系统能否进入正常运行状态。再验证重启后的写入行为,确认节点间文件互不可见,最后逐步扩大接入范围。
容量与故障排查
镜像大小取决于系统和预装软件,可能从数百 MB 到数 GB;节点启动时会集中读取文件,实际耗时受镜像体积、网卡速率、存储负载和并发数量影响。千兆网络适用于规模较小或启动错峰的环境;节点较多、镜像较大时,可评估更高速的网络链路,并安排分批启动,避免启动流量与计算业务争用带宽。
计算节点网络启动与无盘部署配置失败时,可按阶段定位:看不到启动菜单,检查地址分配与启动文件映射;内核已加载却找不到根盘,检查 iSCSI 地址、访问规则和网络连通性;系统能启动但节点间数据串扰,立即停止相关节点并检查是否误用了共享可写卷。还应监测启动服务、存储空间和网络端口状态,并准备维护节点或本地恢复介质。

常见问题
共享镜像更新后,所有节点会立刻改变吗?
只有节点下次读取新镜像时才会使用更新内容。应先在测试节点验证,再安排批次重启,并保留旧版本以便回退。
每台节点都需要保存完整系统吗?
不需要。公共只读镜像可以集中保存;节点是否需要额外存储,取决于写层采用临时内存还是独立持久卷。
无盘节点断开存储网络还能继续运行吗?
取决于系统是否已将所需文件读入内存,以及写层设计。依赖远端根盘的节点通常无法稳定继续工作,应把网络和存储可用性纳入运行保障。
做好启动链路、只读基础镜像与节点独立写入层的边界,才能让计算节点网络启动与无盘部署配置既便于集中维护,也避免共享存储带来的数据冲突。


