项目地址:https://github.com/FOGProject/fogproject

关键词:FOG Project、物理机批量部署、Windows 部署、Linux 部署、PXE、WDS、系统镜像、开源运维

一、为什么物理机批量部署更需要 FOG

在 VMware、Hyper-V、KVM 或 Proxmox 环境中,虚拟机通常可以通过模板、快照、克隆和脚本快速创建。虚拟机的硬件抽象程度较高,批量复制系统往往已经是虚拟化平台的原生能力。

物理机则完全不同。

企业、学校、工厂或机房中的电脑,可能来自不同厂商和不同型号,硬盘容量、启动模式、网卡、显卡和其他硬件都可能存在差异。设备出现故障或需要批量重装时,运维人员往往还要面对:

  • 每台电脑重复安装 Windows 或 Linux
  • 通过 U 盘或移动硬盘逐台启动安装程序
  • 重复进行磁盘分区、系统配置和软件安装
  • 不同型号设备需要分别处理驱动问题
  • 大量电脑需要在同一时间完成系统重装
  • 分支机构设备无法由总部人员逐台现场处理
  • 旧设备回收或维修后需要重新初始化

这类场景中,虚拟机模板无法直接发挥作用,而 PXE 网络启动、系统镜像和集中式任务管理就具有明显价值。

FOG Project 是一个免费、开源的网络镜像部署和计算机管理项目。它以 Linux 为服务端基础,通过 PXE/iPXE、PartClone 和 Web 管理界面,对 Windows、Linux 以及其他支持的操作系统进行镜像捕获、分发和管理。

本文重点讨论 FOG 更有差异化的应用方向:

面向物理机批量部署 Windows 和 Linux,并将 FOG 与传统 WDS 放在同一个部署场景中进行比较。

二、FOG Project 是什么

FOG 官方将其定位为网络计算机克隆和管理解决方案。

它的基本工作方式是:目标设备通过 PXE 网络启动,从 FOG 服务端获取 iPXE 和 Linux 启动环境,然后根据管理员创建的任务执行镜像捕获、镜像部署、硬件信息采集或其他管理操作。

FOG 的主要组成可以概括为:

  • PXE/iPXE 启动环境:让物理机通过网络启动并进入 FOG 菜单
  • 镜像存储:保存 Windows、Linux 等系统镜像
  • PartClone 等镜像工具:负责分区或磁盘数据的捕获与写入
  • Web 管理界面:管理主机、镜像、任务、设备组和存储节点
  • FOG Client:在系统运行后执行软件安装、脚本、域加入等任务
  • 组播和任务调度:支持向多台设备安排部署任务

FOG 官方文档列出的能力还包括库存管理、磁盘检测、磁盘擦除、软件包远程安装和多种系统镜像操作。

因此,FOG 不只是一个“把镜像复制到硬盘”的工具,也不是单纯的 TFTP 或 PXE 服务器,而是将以下环节集中起来:

物理设备网络启动
        +
系统镜像捕获与分发
        +
主机信息和设备分组
        +
批量任务与后续软件配置

三、FOG 在物理机部署中的工作链路

一套典型的物理机部署流程,大致可以分为以下几个阶段。

1. 制作基础镜像

管理员先准备一台参考设备,安装目标操作系统、基础软件和通用配置,然后将其作为基础镜像捕获到 FOG 服务端。

参考设备可以是实体机,也可以是用于制作镜像的参考虚拟机,但如果最终部署对象是多种型号的物理机,就必须重点验证驱动、启动模式和磁盘布局的兼容性。

2. 目标物理机通过 PXE 启动

目标设备接入网络后,从网卡启动。DHCP 为设备分配地址并提供网络启动信息,设备随后通过 TFTP 获取初始启动文件,再进入 iPXE 和 FOG 启动菜单。

FOG 官方部署文档中的典型流程包括:

物理机网卡 PXE 启动
        |
        v
DHCP 提供地址和启动信息
        |
        v
TFTP 获取初始 iPXE 文件
        |
        v
进入 FOG 启动菜单
        |
        v
注册主机并选择镜像
        |
        v
将镜像写入本地硬盘

3. 注册、分组并创建任务

物理机注册到 FOG 后,可以记录 MAC 地址、序列号、厂商、型号等硬件信息,也可以为设备设置主机名、镜像、设备组和任务。

管理员可以根据实际组织方式建立:

  • 办公终端组
  • 生产车间组
  • 研发部门组
  • 教室电脑组
  • 分支机构组
  • Windows 终端组
  • Linux 工作站组

之后,可以针对单台物理机或整个设备组创建部署任务。

4. 写入镜像并完成后处理

FOG 将镜像写入目标硬盘后,设备重新启动进入操作系统。

Windows 设备可以继续处理主机名、域加入和软件安装;Linux 设备则通常需要结合 Shell 脚本、Ansible 或其他配置管理工具完成主机身份和应用配置。

这个流程的重点是:

运维人员不需要携带安装介质逐台操作,而是通过网络启动和集中式任务管理批量初始化物理设备。

四、Windows 物理机批量部署

1. Windows 黄金镜像的准备

Windows 批量部署一般从一台参考设备开始,安装企业需要的基础环境,例如:

  • 目标版本的 Windows
  • 通用驱动和基础软件
  • 办公软件或运行环境
  • 企业安全工具
  • 浏览器和常用客户端
  • 基础系统策略

在捕获镜像之前,需要根据 Windows 部署规范进行系统泛化。通常需要使用 Sysprep,使每台部署后的设备能够重新生成自己的系统标识和初始化信息。

如果直接复制一台已经加入域、已经生成用户配置或包含大量机器唯一信息的 Windows 系统,批量部署后可能出现计算机标识、域关系、激活和用户配置冲突。

FOG 可以减少系统写入和重复安装工作,但不能替代 Windows 镜像制作规范。

2. 应对不同型号物理机

FOG 官方将硬件无关镜像列为项目能力方向之一,但“硬件无关”不代表所有型号、所有启动方式和所有驱动环境都可以完全不加验证地通用。

在实际部署中,需要重点考虑:

  • UEFI 或传统 BIOS 启动模式
  • GPT 或 MBR 分区布局
  • 存储控制器驱动
  • 有线网卡驱动
  • 显卡和芯片组驱动
  • Secure Boot 配置
  • 硬盘容量和分区大小
  • 不同厂商设备的硬件差异

比较稳妥的做法是将设备按型号或硬件平台进行分类,并为常见型号建立兼容性测试清单。

3. Windows 部署后的统一配置

镜像部署完成后,还需要使设备真正进入企业环境。常见后处理包括:

  • 设置主机名
  • 加入 Active Directory 域
  • 下发 GPO 策略
  • 安装或更新业务软件
  • 配置资产编号
  • 设置本地安全策略
  • 安装监控和安全代理

FOG Client 可以配合 FOG 主机管理和 Snapin 能力,在 Windows 启动后执行软件安装、脚本或其他任务。域策略和持续的软件管理,则可以继续交给 GPO、PowerShell、Ansible、Configuration Manager 或其他平台。

五、Linux 物理机批量部署

1. Linux 基础镜像

FOG 同样支持 Linux 系统镜像,这使它可以覆盖 Linux 工作站、实验室电脑、工控终端和部分裸机服务器初始化场景。

管理员可以准备一台 Linux 参考设备,完成:

  • 安装目标发行版
  • 配置基础软件源
  • 安装通用软件包
  • 设置时区、语言和基础系统参数
  • 安装监控、日志或安全代理
  • 配置初始化脚本

然后将其作为基础镜像捕获到 FOG 服务端。

2. 清理 Linux 设备唯一信息

Linux 镜像部署时,最容易被忽略的是设备唯一信息。

部署前后需要重点关注:

  • 主机名
  • /etc/machine-id
  • SSH 主机密钥
  • 网络接口配置
  • 网络管理器连接信息
  • 应用程序生成的节点标识
  • 监控和日志系统中的机器身份

如果这些信息被原样复制到多台物理机,可能导致多台设备使用相同的主机身份,进而影响 SSH 连接、日志采集、监控识别和配置管理。

3. Linux 物理机的兼容性

Linux 也需要处理物理硬件差异,尤其是以下问题:

  • 网卡名称和网络配置规则变化
  • 存储控制器或磁盘设备名称变化
  • 启动加载器安装位置变化
  • 显卡、无线网卡和专用设备驱动差异
  • BIOS、UEFI 和 Secure Boot 的差异

因此,FOG 更适合提供统一的 Linux 基础系统,设备差异化配置则建议通过 Ansible、Shell、Kickstart 后处理或其他配置管理工具完成。

可以将职责分工理解为:

FOG 负责快速写入基础系统,配置管理工具负责让每台 Linux 物理机拥有自己的身份和配置。

六、FOG 如何支持大批量物理机部署

1. 单播部署

单播部署是服务端分别向每台目标设备发送镜像。

它的优点是任务相互独立、控制简单,适合:

  • 部署数量较少
  • 设备型号或镜像不同
  • 目标物理机分批上线
  • 需要单独观察某台设备的部署过程

缺点是每个客户端都会占用一条传输连接。部署数量增加后,FOG 服务端、镜像存储和网络带宽都会承受更大压力。

2. 组播部署

组播适合同一网络区域内的大批量装机,例如:

  • 学校机房一次性重装整间教室的电脑
  • 企业批量初始化同型号办公终端
  • 工厂或营业网点批量恢复标准终端
  • 机房一次性部署多台相同配置的裸机

组播的特点是服务端发送一份镜像数据流,多台客户端同时接收。相比为每台设备分别发送完整镜像,组播可以减少重复传输。

但组播并不是无条件适用,需要网络设备正确支持组播和 IGMP,并且要考虑 VLAN、路由、防火墙和交换机配置。

它更适合集中式局域网,不应简单理解为跨广域网的批量部署方案。跨站点部署通常需要本地存储节点、镜像同步和独立的网络规划。

3. 主机组和任务调度

FOG 可以围绕主机组创建部署任务,将批量装机从“逐台操作”转换为“按组安排任务”。

例如,可以为不同设备建立以下分组:

  • Office-Windows
  • Lab-Linux
  • Factory-Terminal
  • Branch-01
  • Branch-02
  • Repair-Reimage

设备组可以关联对应镜像、软件包或任务,方便进行批量部署、定时重装和统一维护。

4. 存储节点和多站点扩展

当物理机分布在多个机房或分支机构时,所有设备都从中心服务器获取镜像,可能造成跨站点带宽压力。

FOG 支持存储组和存储节点,可以将镜像复制到更靠近目标设备的网络位置,再由本地节点提供部署服务。

这类架构可以改善:

  • 多机房批量装机速度
  • 分支机构的镜像访问效率
  • 中心服务器的并发压力
  • 镜像存储的冗余能力

但它仍然需要管理员规划镜像同步、节点角色、站点网络和故障切换,不能只通过增加一台服务器自动完成高可用设计。

七、FOG 对物理设备的统一管理作用

FOG 的价值不只在于“把系统装上去”,还在于能够围绕物理设备建立一套集中管理目录。

1. 硬件信息和资产识别

主机注册后,可以采集或记录设备的:

  • MAC 地址
  • 序列号
  • 厂商和型号
  • 操作系统信息
  • 磁盘和硬件信息
  • 所属设备组
  • 主机名和资产标签

对于物理机来说,这些信息比虚拟机环境中的模板名称更有实际价值,因为运维人员需要知道设备具体在哪个位置、属于哪种型号、由谁负责维护。

2. 统一执行重装和维护任务

通过 Web 管理界面,管理员可以对单台设备或一组设备执行:

  • 部署系统镜像
  • 捕获新的系统镜像
  • 更新硬件库存
  • 执行软件安装
  • 推送脚本或命令
  • 唤醒设备
  • 进行磁盘检测或擦除
  • 安排定时任务

这使 FOG 从一次性装机工具扩展为物理设备生命周期中的辅助管理平台。

3. 与现有身份和配置体系配合

FOG 不需要替代企业现有的 AD、GPO、Ansible 或资产管理系统。

比较合理的组合方式是:

AD / LDAP:账号和身份
GPO:Windows 域策略
FOG:物理设备接入、镜像和批量任务
Ansible:Linux 配置和持续管理
资产系统:资产台账和生命周期记录
监控系统:运行状态和告警

FOG 负责把物理设备快速恢复到一个可管理的基础状态,其他系统继续负责长期配置和运行管理。

八、适合落地的物理机应用方向

1. 企业办公终端批量重装

企业更换操作系统版本、统一办公软件或处理大批量终端故障时,可以使用 FOG 对办公电脑进行批量重装。

适合的特点包括:

  • 设备数量较多
  • 终端需要使用统一系统环境
  • 设备位于同一办公网络
  • 现场操作成本较高
  • 需要保留多套部门镜像

2. 学校机房和培训机房

机房电脑经常需要恢复到标准环境。学生使用后可能产生大量软件、配置和数据变化,管理员可以在课程结束后批量恢复系统,而不必逐台使用 U 盘安装。

这类场景通常设备型号相对统一,非常适合使用组播和设备组任务。

3. 工厂、门店和营业网点终端

工厂终端、收银机、营业网点电脑或自助设备,往往需要运行固定的系统和业务软件。

当设备出现系统损坏或需要统一升级时,可以通过 FOG 快速恢复标准镜像,并将不同地点的设备按站点分组管理。

4. 维修、翻新和设备回收

电脑维修和设备翻新过程中,经常需要清空旧系统、重新分区和恢复基础环境。

FOG 可以将这些重复工作集中到网络部署流程中,适合:

  • 维修中心批量处理设备
  • 二手设备重新初始化
  • 员工离职设备回收
  • 设备更换前的数据清理和系统恢复

5. Linux 工作站和裸机服务器初始化

对于需要批量安装 Linux 的研发工作站、实验设备、边缘节点或部分裸机服务器,FOG 可以提供比手动 ISO 安装更统一的基础系统部署方式。

但服务器上线后的磁盘、网络、服务、密钥和业务配置,仍然需要结合 Ansible、脚本或配置管理系统完成。

6. 多分支机构的终端支持

对于总部统一管理多个分支机构的组织,可以按地点建立设备组,并结合本地存储节点或合理的镜像分发策略,降低现场维护频率。

九、FOG 与传统 WDS 的对比

1. 两者的基本定位

WDS 是微软 Windows Server 中用于网络部署 Windows 操作系统的服务组件,核心围绕 PXE 启动、Windows PE 和 Windows 镜像安装展开。

FOG 则是以 Linux 为服务端基础的开源镜像和计算机管理系统,目标范围更宽,可以处理 Windows、Linux 等系统,并通过 Web 界面管理物理主机、镜像和部署任务。

从定位上看:

WDS 更像是 Windows 生态中的网络部署基础组件;FOG 更像是跨操作系统的网络镜像与物理设备管理平台。

2. 主要差异对比

对比维度 FOG Project 传统 WDS
服务端基础 Linux 服务端和开源组件 Windows Server 角色
主要目标 Windows、Linux 以及其他支持的系统镜像部署 以 Windows 操作系统网络部署为核心
物理机支持 面向物理机镜像、硬件库存和批量任务 支持物理机 PXE 网络安装
管理方式 Web 管理界面,围绕主机、镜像、任务和设备组管理 WDS 管理控制台,围绕启动镜像和安装镜像管理
网络启动 PXE/iPXE,初始启动后可通过 HTTP 等方式获取较大文件 PXE、TFTP、Windows PE 和 WIM 工作流
镜像能力 支持分区、整盘、可调整大小和原始镜像等模式 以 Windows PE、WIM 和 Windows Setup 工作流为核心
Linux 部署 可以直接作为 Linux 镜像部署方案的一部分 不适合作为 Linux 系统的主要部署平台
批量任务 支持单播、组播、主机组和任务调度 支持网络安装和组播,复杂流程通常需要结合 MDT 或 Configuration Manager
物理设备管理 包含硬件库存、主机分组、Snapin 和任务管理 原生重点是网络部署,不是完整物理设备管理平台
多站点扩展 可以使用存储组和存储节点分担镜像分发 通常需要结合 Windows 部署生态和额外的分发设计
成本和授权 GPL 开源,可免费使用,但需要自行维护 依赖 Windows Server 授权和微软部署生态
生态整合 适合与 Linux、Ansible、脚本和现有网络服务组合 适合与 Windows Server、AD、MDT、Configuration Manager 组合

3. FOG 在物理机混合环境中的优势

如果企业只需要部署 Windows 物理机,并且已经建设了 Windows Server、AD、MDT 或 Configuration Manager 体系,WDS 仍然可以是合理的基础组件。

但如果环境中同时存在 Windows 和 Linux 物理设备,FOG 的优势会更加明显:

  • 服务端不依赖 Windows Server 角色
  • 可以在同一个 Web 界面中管理多种系统镜像
  • 可以用统一的主机组和任务方式管理不同系统
  • 适合批量重装、设备恢复和硬件库存管理
  • 更容易与 Linux 脚本、Ansible 和开源基础设施组合

4. WDS 当前需要重新评估的地方

WDS 并没有完全失去 PXE 启动能力,但其具体的 Windows 部署工作流正在发生变化。

微软当前文档明确说明:依赖安装介质 boot.wim、并以 WDS 模式启动 Windows Setup 的工作流,在 Windows 11 及更新版本中已经不再支持;WDS 使用自定义启动镜像的 PXE 工作流仍然可以存在,但不能再把“只安装 WDS 就能覆盖未来 Windows 部署需求”作为长期前提。

因此,企业在评估 WDS 时,需要同时考虑:

  • 目标 Windows 版本
  • 是否使用原始安装介质中的 boot.wim
  • 是否已经使用 MDT 或 Configuration Manager
  • 是否还需要部署 Linux
  • 是否需要硬件库存和物理设备分组管理
  • 是否需要跨站点的镜像分发能力

十、FOG 不适合替代哪些系统

FOG 的强项是网络启动、系统镜像、批量部署和基础主机管理,但它不应该被当成所有运维系统的替代品。

它不能直接替代:

  • VMware、Hyper-V、KVM 或 Proxmox 等虚拟化平台
  • Active Directory 和组策略管理
  • 专业的补丁和漏洞管理平台
  • 完整的 CMDB 资产管理系统
  • 持续配置管理平台
  • ITSM 工单系统
  • 企业级终端安全平台
  • 复杂的应用编排和服务器生命周期平台

尤其需要说明的是:

虚拟机批量创建和克隆应优先使用虚拟化平台的模板、快照、API 或自动化工具;FOG 的主要价值不在于替代这些能力,而在于解决物理机没有统一模板、需要通过网络批量重装和恢复的问题。

十一、使用 FOG 时需要关注的问题

1. 镜像兼容性不能只看系统版本

即使多个物理设备都运行 Windows 11 或同一个 Linux 发行版,不同型号的存储控制器、网卡、启动模式和磁盘布局也可能造成部署差异。

正式批量部署之前,应该先按主要硬件型号进行测试,并明确哪些设备共用镜像、哪些设备需要单独处理。

2. PXE 网络设计是关键依赖

需要提前确认:

  • DHCP 是否能够提供正确的启动信息
  • TFTP 或 iPXE 文件是否可以正常获取
  • 不同 VLAN 之间是否配置 DHCP Relay 或 IP Helper
  • 交换机是否允许所需的组播流量
  • 物理机 BIOS/UEFI 是否启用网络启动
  • 镜像存储和网络带宽是否足够

很多“FOG 部署失败”问题,最终并不是镜像本身的问题,而是 DHCP、PXE、交换机、路由或防火墙路径没有打通。

3. 物理机数据保护必须优先考虑

部署镜像通常会覆盖目标磁盘上的原有系统和数据。

在批量重装前,必须确认:

  • 用户数据已经备份
  • 目标主机清单没有选错
  • 部署任务范围明确
  • 是否需要保留恢复分区
  • 是否需要记录资产和序列号
  • 是否需要对旧磁盘进行安全擦除

4. FOG 服务端本身也需要规划

FOG 服务端的磁盘空间、网络接口、镜像备份和并发能力会直接影响批量部署效果。

对于大规模或多站点环境,需要考虑:

  • 镜像存储容量
  • RAID 或其他冗余方式
  • 千兆或更高速网络
  • 存储节点布局
  • 镜像版本管理
  • 任务并发数量
  • 服务端和镜像备份

十二、如何选择 FOG 或 WDS

更适合选择 FOG 的情况

  • 重点是物理机批量装机和重装
  • 同时需要部署 Windows 和 Linux
  • 希望使用开源、免费和自托管方案
  • 需要 Web 管理界面管理镜像和主机
  • 需要主机组、批量任务和组播部署
  • 需要记录物理设备的序列号、型号和资产信息
  • 已经具备 Linux 运维能力
  • 希望将镜像部署与 Ansible、脚本等工具组合
  • 需要管理学校机房、维修中心、工厂终端或多分支物理设备

更适合保留 WDS 的情况

  • 主要只部署 Windows 物理机
  • 已经有成熟的 Windows Server、AD、MDT 或 Configuration Manager 体系
  • 现有流程运行稳定,短期内没有跨平台需求
  • 运维团队更熟悉微软部署工具链
  • 只需要 Windows 网络安装,不需要额外的跨平台物理设备管理能力

需要重新评估现有方案的情况

  • 计划大规模部署 Windows 11
  • 仍然只依赖原始安装介质中的 boot.wim 和 WDS 模式
  • 希望用 WDS 管理 Linux 物理设备
  • 希望让 WDS 同时承担硬件库存、设备分组和软件任务管理
  • 需要将镜像、批量装机和多站点物理设备管理统一起来

十三、总结

FOG Project 的核心价值,可以概括为三点:

  1. 通过 PXE/iPXE 让物理设备从网络启动。
  2. 通过系统镜像快速部署 Windows、Linux 等操作系统。
  3. 通过 Web 界面、硬件库存、主机组和任务调度完成批量管理。

虚拟机已经拥有模板、快照和克隆等原生能力,因此 FOG 最值得关注的方向不是“替代虚拟化平台创建虚拟机”,而是解决物理设备批量初始化、统一重装、跨型号部署和多站点维护问题。

与传统 WDS 相比,FOG 更适合跨操作系统、开源自托管和物理设备集中管理场景;WDS 则更适合已经深度使用微软部署生态、且以 Windows 为主的组织。

比较合理的判断不是“FOG 一定比 WDS 好”,而是:

如果目标是 Windows 物理机的网络安装,并且已有成熟的微软部署体系,WDS 仍有使用价值;如果目标是 Windows 与 Linux 物理机的批量镜像部署和统一管理,FOG 的适用范围更宽。

参考资料

本文用于项目认知和方案方向分析。具体部署时,需要结合物理设备型号、DHCP/PXE 网络、镜像制作规范、Windows 授权、Linux 初始化方式、数据保护要求和企业安全策略进行验证。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐