随着计算机网络技术的不断发展和应用,许多公司和个人都选择使用网络安装系统来完成系统的部署和升级。与传统的光盘或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作为服务器,服务器配置如下:
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/目录下。
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元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
本文标题:如何使用LinuxPXE搭建网络安装系统?(linuxpxe搭建)
路径分享:http://www.mswzjz.cn/qtweb/news25/534225.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能