pxe自动安装linux

假装没事ソ 提交于 2019-12-04 18:00:45

PXE(预启动执行环境)工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP或MTFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。

 pxe网络安装的流程:bios启动——>pxeclient中的程序进入内存,显示命令菜单——>此程序开始寻找网络引导程序(bootstrap文件,这个文件的名字随着发行版的不同而不同,在 centos中,它是pxelinux.0)——>引导程序读取配置文件pxelinux.cfg,获得系统初始化的相关文件信息——>系统启动,开始进行安装。

操作步骤

服务器端:

1.安装dhcp服务

2.编辑配置文件,由于PXE客户机通常是尚未装系统的裸机,因此为了和服务器取得联系并正确下载相关引导文件,需要预先配置好DHCP服务来自动分配地址并告知引导文件的位置。

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf

vim /etc/dhcp/dhcpd.conf

   next-servere    提供pxe服务的主机ip

   filename “pxelinux.0";   指定pxe引导程序的文件名

systemctl restart dhcpd



3.安装pxe服务

yum install syslinux-4.05-12.el7.x86_64

less /usr/share/syslinux/pxelinux.0   查看文档,帮助使用pxe

 



4.安装tftp服务,使服务端的系统配置文件能够通过网络传输给客户端

vim /etc/xinetd.d/tftp   将disable=yes 改为disable=no

systemctl restart xinetd.service  重启服务

netstat -antlupe |grep xinetd     查看端口信息,69端口已打开 


5.编辑引导配置文件

1)将光盘镜像中有关系统预安装的文件(isolinux) 拷到服务端的/var/lib/tftpboot下

2)在/tftpboot创建pxelinux.cfg目录,用于放isolinux的配制文件。光盘下有一个isolinux.cfg文件,把它拷贝到/tftpboot/pxelinux.cfg/目录下并改名为default.

客户端测试:

新建一个虚拟机,设置为通过pxe引导,通过获取动态ip及预安装文件,成功进入预安装界面

改变预安装界面的风格

cd /var/lib/tftpboot

1)vim pxelinux.cfg/default   
 

将timeout=600 改为timeout=50,发现进入安装的时间由60s变为了5s

2)vim pxelinux.cfg/default   

将menu default 从lable check移到lable linux,发现预安装界面的默认选项由第二条变为第一条

3)vim pxelinux.cfg/default   

改变预安装界面的大标题

虽然能进入系统的预安装环境,但是不能安装操作系统,必须在服务端指明安装源,且应与内核的版本一致

vim /var/lib/tftpboot/pxelinux.cfg/default

可通过kickstart完成后续的自动安装

yum install system-config-kickstart

system-config-kickstart   

vim /var/www/html/ks.cfg

ksvalidator ks.cfg  检查配置文件是否有错

在浏览器中测试,看是否能看到ks.cfg文件,以防在系统安装过程中出现问题

vim /var/lib/tftpboot/pxelinux.cfg/default 

 



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!