PXE自动安装Ubuntu20.04


PXE自动服务器安装原理

PXE(Pre-boot execution environment)是intel公司开发的一个技术,支持工作站从远程服务器上下载镜像,并由此启动操作系统。在启动过程中,终端请求分配IP地址,在使用TFTP协议下载一个启动软件包到本地内存中执行,最后由这个启动软件包完成终端基本软件的设置,从而完成操作系统的安装,其工作流程如下:

PXE自动安装需要部署的服务

在通过PXE安装ubuntu操作系统时,PXE服务器需要提供如下4个服务

DHCP: dhcp服务用于在OS安装过程中进行IP地址的分配。

TFTP:TFTP服务用于OS安装过程中请求下载系统引导文件。

HTTP:HTTP服务用于Ubuntu安装过程中请求软件包

DHCP服务安装和配置

DHCP服务用于向客户端动态分配IP地址,可以使用isc-dhcp-server提供DHCP服务,在ubuntu系统下,可以通过apt安装该服务。

apt-get install isc-dhcp-server

isc-dhcp-server的配置涉及到两个配置文件。

1:/etc/default/isc-dhcp-server配置文件,该配置文件主要用于指定在哪个网口上提供DHCP服务。

如下是配置样例(比较简单):

2:/etc/dhcp/dhcpd.conf配置文件,该配置文件用于描述dhcp服务如何分配ip地址

如下是一个样例:

TFTP服务安装和配置

TFTP服务用于在启动阶段向客户段提供引导文件,在ubuntu系统下,可以通过tftpd-hpa提供tftp服务,可以通过apt进行安装。

apt-get install tftpd-hpa

tftpd-hpa的配置文件位于/etc/default/tftpd-hpa位置,如下是一个配置样例:

注意:关键配置项TFTP_DIRECTORY用于描述tftp服务所使用的根目录,需要根据部署情况进行调整,其他配置参数可以不做变化。

TFTP_DIRECTORY参数指定的目录下保存PXE安装时所使用到的initrd,ldlinux.c32,pxelinux.0,vmlinuz文件,以及pxelinux.cfg目录。

HTTP服务的安装和配置

通过PXE自动安装Ubuntu 20.04版本时,通过http服务提供了ISO镜像文件及自动配置文件。在Ubuntu系统下可以通过apach2提供http服务,可以通过如下命令进行安装。

apt-get install apache2

apache2的配置文件位于/etc/apache2/sites-available/000-default.conf路径,如下是一个配置样例:

注意配置参数DocumentRoot和Directory,这两个参数取值保持相同,指定了http服务所使用的根目录,在该目录下放置Ubuntu20.04的ISO镜像文件以及自动配置文件。

PXE安装文件准备

通过PXE自动安装Ubuntu20.04时,还需要准备如下的一些文件

1:ubuntu-20.04.1-live-server-amd64.iso镜像文件(用于提取内核及安装包,可以从Ubuntu官网下载)

2:pxelinux.0(pxe引导文件,需要从ubuntu官网下载)

3:ldlinux.c32(该文件可以从ubuntu-20.04.1-live-server-amd64.iso镜像文件中找到)

4:vmlinuz Linux内核文件(该文件可以从ubuntu-20.04.1-live-server-amd64.iso镜像文件中找到)

5:initrd 临时根文件镜像(该文件可以从ubuntu-20.04.1-live-server-amd64.iso镜像文件中找到)

6:default 配置文件(该文件需要手工编写,用于描述内核如何引导启动)

7:user-data 配置文件(该文件需要手工编写,用于指示ubuntu在安装过程中选择合适的语言,键盘等信息,Ubuntu20版本新引入,可以用于替换以前preseed方式)

8:meta-data 配置文件(一个空文件,与user-data配合使用)。

以上几个文件中,pxelinux.0,ldlinux.c32,vmlinuz ,initrd 需要放置在tftp服务根目录下:default 文件需要放置在tftp服务根目录下的pxelinux.cfg子目录;ubuntu-20.04.1-live-server-amd64.iso,user-data ,meta-data需要放置在http服务根目录下。

此外default 配置文件需要手工编写,在Ubuntu20.04场景下,其内容可以如下所示:


LABEL install

    KERNEL vmlinuz

    INITRD initrd

    APPEND root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=http://192.168.1.1/ubuntu-20.04.1-live-server-amd64.iso autoinstall ds=nocloud-net;s=http://192.168.1.1/


user-data文件是Ubuntu20版本用于描述自动安装的一个配置文件(yaml格式),一个最简单的user-data配置文件内容如下(更复杂灵活的配置,可以参考Ubuntu官网进行编写):


#cloud-config

autoinstall:

  version: 1

  identity:

    hostname: ubuntu-server

    password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"

    username: ubuntu


这个user-data配置文件只简单的指定了系统安装时需要的“username”和“password”,通过该文件也可以进行更灵活的安装配置,例如设置网络,分区等信息。(默认用户名和密码都是ubuntu)。

以上工作内容,本人写了一个简单的shell脚本进行自动完成,可以在github如下位置找到。

https://github.com/georgeliwei/ToolCode/tree/master/autoPxe

附:如果该文章对你有所帮助,请尽情打赏!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353