如何使用Linux PXE搭建网络安装系统? (linux pxe 搭建)

随着计算机网络技术的不断发展和应用,许多公司和个人都选择使用网络安装系统来完成系统的部署和升级。与传统的光盘或U盘安装相比,网络安装无需人工逐一安装操作系统,可以实现自动化、无人值守安装,从而缩短安装时间,提高工作效率。本文介绍如何使用Linux PXE搭建网络安装系统。

一、什么是PXE?

PXE是Pre-boot Execution Environment的缩写,即预启动执行环境。它是由Intel公司根据网络上BOOTP协议和TFTP协议设计的一种网络启动方式,可以不依赖操作系统而引导客户端电脑,实现无盘计算机的网络启动和自动安装。

二、PXE的原理

PXE的工作原理可以分为三个步骤:

1.客户端电脑通过网络请求服务器分配IP地址(DHCP)

2.服务器通过TFTP服务器向客户端传输PXE启动文件(pxelinux.0)

3.客户端电脑启动并自动执行PXE启动文件

在这个过程中,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)扮演着非常重要的角色,它为客户端分配IP、子网掩码、网关等信息,让客户端能够连接到网络。而TFTP(Trivial File Transfer Protocol,简单文件传输协议)则用于传输PXE启动文件pxelinux.0,这个文件是PXE启动的核心文件,当客户端电脑启动时,会自动执行该文件,并从中获取系统的安装和配置信息。此外,还需要在TFTP服务器上放置操作系统的ISO镜像文件和相应的配置文件。

三、搭建PXE服务器

1.安装DHCP服务器

在CentOS中安装DHCP服务器的命令为:

“`

yum install dhcp

“`

2.配置DHCP服务器

编辑文件/etc/dhcp/dhcpd.conf,设置DHCP服务器的参数,添加如下内容:

“`

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.100 192.168.0.120;

option subnet-mask 255.255.255.0;

option routers 192.168.0.1;

option broadcast-address 192.168.0.255;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.0.2;

filename “pxelinux.0”;

}

“`

其中,subnet、range、option等参数请根据实际网络配置进行修改。

3.安装TFTP服务器

在CentOS中安装TFTP服务器的命令为:

“`

yum install tftp

“`

4.配置TFTP服务器

编辑文件/etc/xinetd.d/tftp,设置TFTP服务器的参数,添加如下内容:

“`

service tftp

{

socket_type = dgram

protocol = udp

wt = yes

user = root

server = /usr/in/in.tftpd

server_args = -s /tftpboot

disable = no

}

“`

其中,server_args参数指定TFTP服务器的工作目录为/tftpboot,这个目录需要手动创建,并将PXE启动文件pxelinux.0上传到该目录下。

5.准备ISO镜像文件

需要将需要安装的操作系统的ISO镜像文件上传到服务器上,并解压到合适的目录下。

6.配置PXE启动文件

在服务器的/tftboot目录中,创建一个名为pxelinux.cfg的子目录。再在该子目录中创建一个名为default的文件,用来指定PXE启动文件的参数。

例如,如果要安装CentOS 7操作系统,可以在default文件中添加如下内容:

“`

default menu.c32

prompt 0

timeout 300

label CentOS 7.4

kernel images/CentOS7/vmlinuz

append initrd=images/CentOS7/initrd.img

netmedia=eth0 ksdevice=eth0 ks=http://192.168.0.2/ks.cfg

“`

其中,menu.c32是PXE启动文件的执行程序,CentOS 7.4是菜单中显示的选项名称,images/CentOS7/vmlinuz和images/CentOS7/initrd.img是指定内核和initrd文件的文件路径,netmedia=eth0 ksdevice=eth0 ks=http://192.168.0.2/ks.cfg是传递给内核的安装参数,需要按照实际情况进行修改。

7.准备KickStart文件

KickStart文件是用来自动化安装系统的配置文件。需要在服务器中准备一个KickStart文件,存放在一个合适的目录下,并在default文件中指定KickStart的路径。

例如,在服务器中创建一个名为ks.cfg的文件,将其放置在/var/www/html目录下,在defualt文件中添加如下内容:

“`

default menu.c32

prompt 0

timeout 300

label CentOS 7.4

kernel images/CentOS7/vmlinuz

append initrd=images/CentOS7/initrd.img

netmedia=eth0 ksdevice=eth0 ks=http://192.168.0.2/ks.cfg

“`

其中,“initrd=images/CentOS7/initrd.img netmedia=eth0 ksdevice=eth0 ks=http://192.168.0.2/ks.cfg”是指定内核要使用的参数,并告诉安装程序KickStart文件的路径,注意根据实际情况修改。

四、客户端设置

在客户端电脑上,需要打开网卡的PXE启动功能。具体操作方式请参考电脑的说明书。

五、启动网络安装

现在可以启动客户端电脑,并选择PXE网络启动,如果配置正确,客户端电脑将会获取到DHCP服务器分配的IP地址,并执行TFTP服务器上的PXE启动文件pxelinux.0。然后,在PXE菜单中选择要安装的操作系统,系统将会自动使用KickStart文件进行自动化安装。

六、

使用PXE搭建网络安装系统可以大大简化系统安装的过程,提高工作效率。在实际使用中,需要注意配置文件的正确性,以及ISO镜像文件、KickStart文件等的正确存放位置。希望本文能够帮助到正在学习和使用PXE的读者。

相关问题拓展阅读:

  • 谁知道用LINUX做网吧服务器的无盘系统怎么做?
  • 通过pxe启动安装linux系统可以同时安装多个linux版本吗?

谁知道用LINUX做网吧服务器的无盘系统怎么做?

可选用网众无盘,网众的服务器是以LINUX为核心的

客户端是支持PXE方式启动的刀片,用Linux作为服务器,服务器配置如下:

1) 安装DHCP服务器dhcpd

2) 配置/etc/dhcpd.conf文件,下面是我机器上的文件

max-lease-time -1;

default-lease-time -1; #注世握:IP地址永不过期

option subnet-mask 255.0.0.0;

option routers 10.0.0.1;

option domain-name-servers 10.10.10.10;

# option netbios-name-servers 10.10.10.10;

option broadcast-address 10.255.255.255;

# option dhcp-class-identifier “XEClient”;

# option vendor-encapsulated-options 01:04:00:00:00:00:ff;

# option option-135 “start”;

subnet 10.0.0.0 netmask 255.0.0.0 {

range 10.10.12.131 10.10.12.150;

host blade01 {

hardware ethernet 00:e0:43:00:02:00;

fixed-address 10.10.12.131;

filename “/tftpboot/pxelinux.0”; #注:启动映象文件

}

host blade02 {

hardware ethernet 00:e0:43:00:02:02;

fixed-address 10.10.12.132;

filename “/帆慧tftpboot/pxelinux.0”;

}

host blade03 {

hardware ethernet 00:e0:43:00:02:04;

fixed-address 10.10.12.133;

filename “/tftpboot/pxelinux.0”;

}

host blade04 {

hardware ethernet 00:e0:43:00:02:06;

fixed-address 10.10.12.134;

filename “/tftpboot/pxelinux.0”;

}

host blade05 {

hardware ethernet 00:e0:43:00:02:08;

fixed-address 10.10.12.135;

filename “/tftpboot/pxelinux.0”;

}

}

  说明:dhcp客户得到IP地址后用TFTP协议从服务器上下载启动映象文件。我用syslinux

  工具包里边的pxelinux来作为远程启动的loder.

3) 配置tftp server

  使用pxelinux作引导工具需要支持TSIZE参数的tftp server。可从

下载。

  通过xinetd来使用tftp服务,我的/etc/xinetd.conf文件如下

……

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/in/in.tftpd

}

4) 配置PXELINUX

  先安装syslinux软件包。可从

下载。

  将pxelinux.0拷贝到/tftpboot/目录下,然后建立/tftpboot/syslinux.cfg/目录。该目录下存放配置文件。

  pxelinux使用ip地址的十六进制表示来搜轿庆作为该ip地址的配置文件的文件名。如blade01的

  ip地址为10.10.12.131,配置文件名为0A0A0C83,内容为:

default linux

label linux

kernel vmlinuz

append ip=dhcp root=/dev/nfsroot nfsroot=10.10.11.120:/remote/blade01 vga=normal

5) 配置nfs

  为每个刀片建立一个根目录,在该刀片的pxelinux配置文件里指定了从这个nfs export的目录启动。

  该根目录里应把标准的目录都建好,另外需要重新mount的usr, home, public等目录也要export。

  我的 /etc/exports文件:

# /etc/exports: the access control list for filesystems which may be exported

# to NFS clients. See exports(5).

/remote/blade01 blade01(rw,async,no_root_squash)

/remote/blade02 blade02(rw,async,no_root_squash)

/remote/blade03 blade03(rw,async,no_root_squash)

/remote/blade04 blade04(rw,async,no_root_squash)

/remote/blade05 blade05(rw,async,no_root_squash)

/remote/root *(rw,async,no_root_squash)

/remote/home *(rw,async,no_root_squash)

/usr *(ro,async,no_root_squash)

/in *(ro,async,no_root_squash)

/bin *(ro,async,no_root_squash)

/lib *(ro,async,no_root_squash)

/home *(ro,async,no_root_squash)

6)为每个刀片修改它的/etc/fstab文件,以blade01为例,它的nfs root是/remote/blade01

/remote/blade01/etc/fstab文件如下:

# /etc/fstab: static file system information.

#

#

10.10.11.120:/remote/blade01 / nfs defaults,intr 0 1

10.10.11.120:/remote/root /root nfs defaults,intr 0 1

10.10.11.120:/remote/home /home nfs defaults,intr 0 1

10.10.11.120:/bin /bin nfs defaults,intr 0 1

10.10.11.120:/usr /usr nfs defaults,intr 0 1

10.10.11.120:/in /in nfs defaults,intr 0 1

10.10.11.120:/lib /lib nfs defaults,intr 0 1

none /proc proc defaults,intr 0 1

  同时还要为每个刀片修改它的网络配置文件,配置ip地址,启动两块网卡等等。。

7) 编译内核

  刀片用的内核,应该支持Kernel Level Auto Configuration的DHCP协议,支持NFS,支持NFS ROOT,

  假设编译好的内核为vmlinuz,将它拷贝到/tftpboot/目录下。

通过pxe启动安装linux系统可以同时安装多个linux版本吗?

1. pxe启动厅册时会选择菜单的,可以在菜单里面选择安装不同的操作系统

2. pxe可以针对不同雀郑机器的mac地址创建启动脚本,机器启动时,pxe会先按mac地址查找启动脚本,如果没找到才使用默认的启动脚本。这个扮岁宏你可看下syslinux文档。

可以,孙晌你在设置/tftpboot目录时会复制的引导文件,将不同的引导文件改名文自己系统版本,例如centos的initrd.img你可以改为:initrd.centos.img。但是在pxelinux.cfg的目录文件中要带凯岩加入引导向,并将修改后的文件添加,相对应的其余的类似修改。pxelinux.0这个文件可以是蠢御一样的。我就做成功了的。

可以的 做个判断 没有shell做不了的事情

linux pxe 搭建的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux pxe 搭建,如何使用Linux PXE搭建网络安装系统?,谁知道用LINUX做网吧服务器的无盘系统怎么做?,通过pxe启动安装linux系统可以同时安装多个linux版本吗?的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/206892.html<

(0)
运维的头像运维
上一篇2025-04-08 07:12
下一篇 2025-04-08 07:14

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注