0

0

如何使用FOG Project搭建开源的系统克隆和部署服务器【批量装机】

月夜之吻

月夜之吻

发布时间:2026-01-22 10:20:01

|

172人浏览过

|

来源于php中文网

原创

FOG Project 是基于 PXE/TFTP/NFS/Samba 的开源批量系统部署工具,支持多系统镜像捕获分发;需在 Ubuntu 22.04/CentOS 8 等兼容系统上安装,配置静态 IP 后运行一键脚本,再设置 DHCP/PXE 协同、注册主机并创建或导入映像。

如何使用fog project搭建开源的系统克隆和部署服务器【批量装机】

如果您希望利用开源工具实现企业或实验室环境中的批量系统部署与克隆,FOG Project 是一个专为此类任务设计的网络引导式解决方案。它基于 PXE、TFTP、NFS 和 Samba 等标准协议,支持 Windows、Linux 和 macOS 映像的捕获与分发。以下是搭建 FOG Project 服务器的具体操作路径:

一、准备兼容的 Linux 服务器环境

FOG Project 官方仅支持特定版本的 CentOS/RHEL 和 Ubuntu 发行版,当前稳定部署需使用 Ubuntu 20.04 LTS 或 22.04 LTS,或 CentOS 7/8(注意 CentOS 8 已停止维护,推荐使用 Rocky Linux 8 或 AlmaLinux 8 作为替代)。系统需具备至少 4GB 内存、双核 CPU 及不少于 100GB 的可用磁盘空间(用于存储镜像),并确保网络接口配置为静态 IP 地址。

1、下载 Ubuntu 22.04 LTS Server ISO 镜像并制作启动 U 盘。

2、安装系统时选择“OpenSSH server”和“standard utilities”,不安装图形界面。

3、安装完成后执行 sudo apt update && sudo apt upgrade -y 更新全部软件包。

4、使用 sudo nano /etc/netplan/00-installer-config.yaml 配置静态 IP,例如设置 address: 192.168.1.100/24、gateway4 和 nameservers。

5、运行 sudo netplan apply 应用网络配置,并通过 ip a 验证 IP 是否生效。

二、安装 FOG Project 主程序

FOG 提供官方一键安装脚本,该脚本将自动检测依赖、配置服务(DHCP、TFTP、NFS、Samba、Apache、MySQL)、生成证书并初始化数据库。安装过程不可中断,且必须以 root 权限运行。

1、执行 sudo -i 切换至 root 用户。

2、运行 wget -O fogproject.tar.gz https://github.com/FOGProject/fogproject/releases/download/2.2.0/fogproject-2.2.0.tar.gz 下载最新稳定版压缩包(以 2.2.0 为例)。

3、解压: tar -xzf fogproject.tar.gz

4、进入安装目录:cd fogproject-2.2.0/bin/

5、启动安装:./installfog.sh,在交互界面中选择“Install”选项,并按提示选择操作系统类型、是否启用 DHCP 服务(若已有 DHCP 服务器则选 N)、输入 Web 管理端口(默认 80)及 SSL 设置(建议启用)。

三、配置 PXE 引导与 DHCP 协同

若局域网中已存在 DHCP 服务器(如路由器或 Windows Server DHCP),则需在其上添加 PXE 启动选项(Option 66 与 Option 67),指向 FOG 服务器的 IP 和启动文件路径;若由 FOG 自托管 DHCP,则安装脚本已配置完成,仅需确认服务状态。

1、检查 DHCP 服务状态:sudo systemctl status isc-dhcp-server(Ubuntu)或 sudo systemctl status dhcpd(RHEL 系)。

2、若使用外部 DHCP,在其管理界面中设置 Option 66 为 192.168.1.100(FOG 服务器 IP),Option 67 为 undionly.kpxe

EasySite
EasySite

零代码AI网站开发工具

下载

3、若启用 FOG 自带 DHCP,编辑 /etc/dhcp/dhcpd.conf,确认 subnet 声明包含 next-server 192.168.1.100;filename "undionly.kpxe";

4、重启服务:sudo systemctl restart isc-dhcp-server

四、上传并注册目标主机

FOG 通过 MAC 地址识别设备,首次启动 PXE 后会自动注册主机条目。管理员需为其分配主机名、映像及部署策略,后续即可触发单播或组播部署。

1、在待部署计算机开机时按 F12(或其他主板指定键)调出网络启动菜单。

2、选择 “FOG Boot Menu”,等待加载后进入主界面,选择 “Register Host”。

3、在 FOG Web 界面(http://192.168.1.100/fog/)登录,默认账号为 fog,密码为 password

4、进入 “Host Management” → “All Hosts”,找到新注册主机,点击编辑图标,填写 Host Name(如 PC001)、Image(下拉选择已上传映像)及其他字段。

5、保存后返回主机列表,勾选该主机,点击上方 “Basic Tasks” → “Deploy” 启动单机部署。

五、创建与导入系统映像

FOG 支持两种主流映像类型:高度压缩的“Snapin-based”映像(适用于标准化模板)和完整磁盘级的“Partclone”映像(保留分区结构与引导信息)。Windows 映像需提前注入 FOG Client 并关闭快速启动与休眠功能,以确保捕获完整性。

1、在目标 Windows 计算机上运行 fog-client-installer.exe(从 FOG Web 界面 “Downloads” 页面获取),安装后重启。

2、开机进入 FOG Boot Menu,选择 “Capture Image”,输入映像名称(如 Win10-22H2-Standard)及描述,选择存储组(默认 Primary)。

3、在 FOG Web 界面 “Image Management” 中确认映像状态为 “Ready”,并点击其名称进入详情页。

4、点击 “Edit” 修改映像类型为 Windows 10 (UEFI/GPT)Windows 10 (BIOS/MBR),根据实际硬件设定 Partitions to include(通常为 All)。

5、若需导入已有 WIM 或 ESD 文件,需先将其复制至 /images/dev/ 目录,再通过 Web 界面 “Upload Image” 功能关联元数据。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

664

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

246

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

281

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

515

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

255

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

386

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

530

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

600

2023.08.14

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

16

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.9万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 805人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号