首页 > 代码库 > PXE
PXE
PXE无人值守安装
一、概念与原理
什么是PXE
严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment,直译为启动前的执行环境)协议使计算机可以通过网络启动。协议分为client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
什么是KickStart
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
二、环境说明
执行pxe+kickstart来批量安装系统,需要的环境为
1.DHCP服务器
2.TFTP服务器
3.httpd服务器或者ftp服务器或nfs服务器等能提供文件访问的服务器
4.ks.cfg文件
5.syslinux服务提供的pxelinux.0文件
6.一台带有支持pxe协议的网卡的主机
三、安装步骤
(1)安装DHCP服务
配置dhcp服务器,使其能够提供192.168.1.200-192.168.1.230的ip地址,子网掩码为255.255.255.0。
在/etc/dhcpd/dhcpd.conf中添加如下内容,请注意,每行后面一定要加分号,要不不会成功
(2)安装tftp服务
Linux(这里以CentOS举例)的TFTP服务器时使用xinetd来管理的,安装TFTP的时候不要忘了要不xinetd也装上。
Linux(这里以CentOS举例)的TFTP服务器时使用xinetd来管理的,安装TFTP的时候不要忘了要不xinetd也装上。
[root@localhost ~]# yum install tftp-server xinetd -y
其中xinetd是为tftp提供守护进程的,将xieted和tftp都设置为开机自启动,并将服务启动
[root@localhost ~]# chkconfig tftp on
[root@localhost ~]# chkconfig xinetd on
(3)安装http服务
基于局域网yum源
1[root@localhost ~]#yum install –y thhp
2[root@localhost ~]#mkdir /var/www/html/repolist
3[root@localhost ~]#mount –bind /mnt /var/www/html/repolist
拷贝kickstart文件到/var/www/html/目录下
(4)复制pxe启动所需要的文件到tftp目录下
安装syslinux,此服务为pxe提供pxelinux.0文件
[root@localhost ~]# yum install syslinux -y
复制pxe启动所需要的文件到tftp目录下
[root@localhost~]# yum -y install syslinux
[root@localhost~]# cp /mnt/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/
[root@localhost~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
(5)创建修改ks文件
system-config-kickstart
在这个里面编辑ks文件,这里就不一一演示了
修改/var/lib/tftpboot/pxelinux.cfg的default文件
为/var/www/html下的ks.cfg文件加可读权限
四、测试安装