总结之:CentOS 6.5基于DHCP的PXE自动化安装系统详解

前言 如果要给很多台客户端主机安装操作系统,要是每一台都拿张安装光盘一台一台主机的去装系统、那就台不现实了、在生产环境中也不会被允许的、要实现为多台主机自动安装操作系统、那我们怎么实现自动化安装呢、这就要来讲讲PXE了,PXE就是为这种给多台主机自动化安装操作系统而生的,那接下来我们就来基于DHCP完成自动化为多台主机安装操作系统。正文 要实现自动安装之前先确保几个包已经安装好了: 1、DHCP:动态主机配置协议、他是使用UDP协议工作的 2、tfpt-server:这个是服务器端提供需要的安装的包 3、xinetd:这个是唤醒tftp这个服务的服务 4、syslinux:这个程序包是提供pxelinux.0 5、准备安装树、就是要安装的各种rpm包、安装光盘应该提供 这几个包需要安装好基本原理及工作流程: 首先,在客户端主机的网卡要支持网络引导,当开机时网卡就会激活当中的程序,自行通过网络向DHCP请求IP地址,并配置在自己的网卡上。 其次,DHCP服务器回应给我们的主机,分配了IP地址,掩码什么的,再让DHCP服务器告诉我们的客户端主机tftp服务器在什么位置。 接着,客户端主机就去请求tftp服务器,当然,这里的DHCP服务器和tftp服务器可以是同一台,也可以不是同一台,看情况而定。 而后,tftp服务器就会给客户端主机提供一个pxe的文件、这个文件就是pxelinux.0,他相当于我们的bootloader、而这个文件是由syslinux这个程序包提供的。 再则,客户端主机利用tftp服务器提供的pxelinux.0这个文件,再次尝试到tftp服务器上获取内核,因为要启动安装就要启用引导内核。 之后,当引导内核启动后,客户端主机通过改名后的default(由pxelinux.0改名而来)文件成功的引导Linux安装内核后,通过httpd服务获取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。 最后,将ks.cfg文件下载回来后,通过该文件找到ks.cfg文件的配置请求下载安装过程所需要的软件包,这样就可以实现生动化安装了。自动化安装过程实现: 安装DHCP和httpd服务、没安装有就得安装、安装有了就不用再装了、这步就不多说了: # yum -y install dhcp 安装好dhcp之后、就去配置dhcp服务里的一些参数了、能让dhcp服务告诉客户端主机tftp服务器在什么位置,用net-server IP设定、还要设定文件名为pxelinux.0、这些设定可以放在全局、也可以放在某个子网中,复制/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件替换原配置文件/etc/dhcp/dhcpd.conf、然后编辑/etc/dhcp/dhcpd.conf # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf # vim /etc/dhcp/dhcpd.conf

改好了保存退出! 怎么让启动时加载kickstartk呢、那就要在/var/lib/tftpboot/pxelinux.cfg/defaule文件的label为linux下的append后面补上 ks=http://172.16.251.127/ks.cfg 编辑/var/lib/tftpboot/pxelinux.cfg/defaule # vim /var/lib/tftpboot/pxelinux.cfg/default

改好后:w!强行写入、退出即可 好了、到这里我们算是配置好了我们的自动化安装环境了、那就创建一个虚拟机来试一下吧、看一下我们的自动化安装界面可以启动了没有呀!

到这里我们来总结一下前面的步骤吧! 1、配置DHCP服务器 # yum -y install dhcp # vim /etc/dhcp/dhcpd.conf 自定义subnet、同时配置tftp服务的信息: subnet { … next-server TFTP-SERVER-IP; filename “pxelinux.0”; } # service dhcpd restart 2、配置tftp-server # yum -y install xinetd tftp-server tftp # chkconfig xinetd on # chkconfig tftp on # service xinetd start # ss -unl | grep “:69” 3、准备安装树、也就是我们的安装包 # mkdir /var/www/html/centos6.5 # mount –bind /media/cdrom /var/www/html/centos6.5 # service httpd start 4、复制文件到tftpboot下的文件 # yum -y install syslinux # cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ # cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/ # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # mkdir /var/lib/tftpboot/pxelinux.cfg # cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 5、提供kickstart文件 直接从/root/anaconda-ks.cfg复制到/var/www/html目录下,注意:url及repo后的路径要修改为可用安装树的路径; 6、配置引导程序能自动加载此kickstart文件 编辑/var/lib/tftpboot/pxelinux.cfg/default 在label为linux项的append一行后附加: ks=http://HTTP_SERVER_IP/ks.cfg 7、第一次测试、祝你成功!

结束

最后啰嗦一下、做得有什么不妥或欠佳的地方还望大神多多提点,在这里先谢谢你的关注了,坚持梦想、以不懈的精神扎根linux行业。

本文出自 “我拿青春换酒钱” 博客,请务必保留此出处

一个人,一条路,人在途中,心随景动,从起点,

总结之:CentOS 6.5基于DHCP的PXE自动化安装系统详解

相关文章:

你感兴趣的文章:

标签云: