搭建基于Ubuntu-Server的PXE自动安装环境的实用指南

教程大全 2026-01-08 16:55:58 浏览

Ubuntu 在不断进化,从 20.04 开始,Ubuntu 决定更新实时服务器安装程序,只用 Subiquity 就能完全完成操作系统及附加程序的自动安装。以前用的 kickstart、debian-Installer 都不是 Ubuntu 自家技术,用起来也不是很方便。

同时,PXE 技术虽然出来很久了,但是整个安装过程还不是特别顺畅,随着 Ubuntu 升级到 20.04,使用 cloud-init 安装配置实现 Subiquity 参数的自动填写,整个过程变得些微优雅起来,让我有较大兴趣尝试使用 PXE 安装 Ubuntu 20.04 Server。

本文,我想讲的是在 Ubuntu 20.04 Server 上搭建一套自动安装 Ubuntu 20.04 Server 的部署环境,其主要内容有两部分:

第一部分所有操作系统应该都是一样的,第二部分和 Ubuntu 20.04 版本紧密相关,其他的操作系统需要考虑其他方法。

PXE 安装流程

PXE( 预启动执行环境 Pre-boot execution Environment )的实现依赖于网卡,只有支持 PXE 客户端的网卡才能实现网络自动安装。这种网卡实现了 DHCP 客户端和 TFTP 客户端,在 BIOS 的引导下通过 DHCP 协议自动分配 IP 地址,通过 TFTP 获取最小内核,然后在最小内核环境下通过 HTTP 协议或 NFS 协议获取 Ubuntu 安装版本。之后最小内核引导进行 Ubuntu 20.04 的安装。

下图是详细的安装流程。

上图有几个前提:

安装必须的服务端软件

准备启动文件

创建 TFTP 文件夹

TFTP 文件夹是 TFTP 服务的根目录,PXE 启动过程中下载的文件都存在在该目录中:

说明:

创建目录

/home/mine (可根据实际情况修改)目录下创建目录:

获取引导文件

获取内核镜像文件

系统会提示只读,不影响使用。

配置 dnsmasq

关键配置有以下几个:

修改配置后,重启服务才能生效。

搭建基于Ubuntu

创建 HTTP 文件夹

Apache2 的默认服务根目录是 /var/www/html ,在其下创建目录:

说明:

创建目录

拷贝 ISO 文件

到下载目录拷贝 ISO 文件:

创建参数自动配置文件

先创建空文件,无需修改,后续会详细描述配置。

配置 grub.cfg

之前是配置样式,也可以删除,重点关注 menuentry "Ubuntu server 20.04 autoinstall" 内的配置:

网上很多文章配置是这么写的 ds=nocloud-net;s=,我试了很多次,都没有自动安装。

在网上查到,由于 UEFI 启动使用了 grub,它将识别为了特殊字符,所以要在前加转义。

配置 user-data

说明:

网络拓扑

配置静态 IP

在服务机开始服务前,需要在提供服务的网卡上配置静态 IP,Ubuntu 20.04 配置 netplan 即可,参考以下配置修改文件 /etc/netplan/00-installer-config.yaml ,修改完成后执行 netplan apply 配置即可生效。

鸣谢

原文链接:

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐