当前位置:首页 > 系统教程 > 正文

PXE实战教程:20步搞定Ubuntu无人值守网络安装(小白必备Ubuntu自动化部署指南)

PXE实战教程:20步搞定Ubuntu无人值守网络安装(小白必备Ubuntu自动化部署指南)

SEO关键词:PXE安装Ubuntu、无人值守安装、Ubuntu自动化部署、网络安装服务器配置

PXE实战教程:20步搞定Ubuntu无人值守网络安装(小白必备Ubuntu自动化部署指南) PXE安装Ubuntu  无人值守安装 Ubuntu自动化部署 网络安装服务器配置 第1张

一、 前言

在大规模部署服务器时,逐个插U盘安装系统显然效率极低。PXE(Preboot Execution Environment)技术允许计算机通过网络启动并自动安装操作系统。配合Ubuntu的Autoinstall(Cloud-init)功能,我们可以实现真正意义上的“插电即安装”。

二、 核心实战步骤

1. 环境准备

准备一台运行Ubuntu 22.04+的服务器作为安装源,确保其IP固定(例如:192.168.1.100)。

2. 安装DHCP服务

sudo apt install isc-dhcp-server -y

3. 配置DHCP地址池

编辑/etc/dhcp/dhcpd.conf,定义子网、网关及PXE引导文件名为pxelinux.0

4. 安装TFTP服务器

PXE客户端通过TFTP协议下载引导文件:
sudo apt install tftpd-hpa -y

5. 启用TFTP服务

确保服务运行并将目录指向/var/lib/tftpboot

6. 安装Nginx处理镜像文件

由于ISO镜像较大,通过HTTP传输比TFTP更快:
sudo apt install nginx -y

7. 下载Ubuntu ISO镜像

下载Ubuntu Server版本的ISO镜像文件到服务器。

8. 挂载ISO文件

将ISO挂载到临时目录,以便提取内容:
sudo mount -o loop ubuntu.iso /mnt

9. 提取内核启动文件

vmlinuzinitrd文件复制到TFTP目录的ubuntu/下。

10. 准备网络启动引导程序

安装syslinux包,并将pxelinux.0等文件拷贝至TFTP根目录。

11. 创建PXE启动菜单目录

在TFTP目录下创建pxelinux.cfg文件夹。

12. 编写pxelinux.cfg/default文件

配置启动菜单,重点是指定autoinstall参数和ds=nocloud-net路径。

13. 准备Cloud-init配置文件

在Nginx根目录下创建www/html/install目录。

14. 编写user-data(核心关键)

这是无人值守的灵魂。在该文件中定义:用户名、密码、磁盘分区、时区及需要安装的软件包。

15. 编写meta-data文件

创建一个空的meta-data文件,这是Cloud-init协议的要求。

16. 校验YAML格式

使用在线工具确保user-data的缩进完全正确,否则安装会报错中断。

17. 链接配置文件到Web服务

确保通过浏览器能访问到http://192.168.1.100/install/user-data

18. 目标机BIOS设置

将需要安装系统的机器设置为Network Boot (PXE)优先。

19. 启动自动化安装

开启目标机,它会自动获取IP,下载内核,读取user-data并开始全自动安装。

20. 登录验证

安装完成后,机器会自动重启。使用你在user-data中设定的账号即可登录。

总结

通过以上20步,你已经成功搭建了一套专业的Ubuntu自动化部署系统。这不仅提升了运维效率,更保证了系统配置的一致性。建议在实际环境中先进行虚拟机测试,确保网络策略没有拦截DHCP和TFTP流量。