PXE

由Intel公司开发的网络引导技术,工作模式在client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

若安装搭建pxe网络体系,必须满足以下几个前提条件:

  • 客户机的网卡支持pxe协议,并且支持主板的网络引导

  • 网络中有一台DHCP服务器为客户机分配IP地址,指定引导文件。

  • 服务器通过tftp(简单文件传输协议)提供引导镜像文件下载。

安装所需要的服务及修改相应配置文件:

1.yum来安装所需要的软件包,先来搭建yum光盘源:

[root@test1 ~]# mount /dev/cdrom /mnt

/etc/yum.repos.d目录下创建一个以.repo结尾的文件:

[root@test1 ~]# vi /etc/yum.repos.d/serverl.repo

配置内容如下:

PXE网络装机_网络装机

2.安装ftp服务以及开启服务,设置为开机自动启动。

[root@test1 ~]# yum install vsftpd –y

[root@test1 ~]# /etc/init.d/vsftpd start

[root@test1 ~]# chkconfig vsftpd on

3.安装TFTP,修改tftp配置文件及开启服务

[root@test1 ~]# yum install tftp –y

[root@test1 ~]# yum install tftp-server –y

PXE网络装机_PXE_02

修改配置文件里面的1314

接着重新启动xinetd服务,然后查看服务端口是否打开。

[root@test1 ~]# /etc/init.d/xinetd restart

PXE网络装机_网络装机_03

OKTFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。

4.安装dhcp,修改配置文件及开启服务:

[root@test1 ~]# yum install dhcp –y

910行是网络引导需要的配置,必须要有的。

PXE网络装机_网络装机_04

接着启动DHCP,设置为开机启动

[root@test1 ~]# /etc/init.d/dhcpd start

[root@test1 ~]# chkconfig dhcpd on

准备工作完成,我们开始配置Kickstart

[root@test1 ~]# mkdir /tftpboot

[root@test1 ~]# mkdir /tftpboot/pxelinux.cfg

[root@test1 ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/

----如果找不到syslinux目录,需要安装包yum installsyslinux –y

[root@test1 ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

[root@test1 ~]# cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot/

[root@test1 ~]# cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot/

[root@test1 ~]# chmod 644 /tftpboot/pxelinux.cfg/default

PXE网络装机_PXE_05

PXE网络装机_PXE_06

然后修改/tftpboot/pxelinux.cfg/default的配置文件。

文件里面需要修改两行,修改第1,后面的linux意思是寻找下面18行的label linux,然后修改下22(即在后面添加ks=ftp://192.168.10.1/ks.cfg22行的意思是使安装程序通过FTP服务器访问kickstart文件。

其中第1:default linux表示指定默认入口名称;第2行:prompt 1prompt用来设置是否等待用户选择,1表示等待用户控制;第18232731label linux表示定义的引导入口,表示系统的不同安装方式,如第18行定义的入口表示图形安装。

配置文件修改完了,要开始自动安装,安装程序必须能访问kickstart文件。有多种方法可访问kickstart文件,其中最常用的一种方法是通过网络服务器进行,例如:ftp服务器、WEB服务器或NFS服务器,这种方法非常易于部署,并且也使管理更改变得十分简单。也可以通过USB磁盘、CDROM或本地硬盘。如果USBCDROM中的kickstart文件非常便于访问,只需将kickstart文件放置在用来开始安装的引导介质中。而使用DHCP服务器和TFTPPXE配置起来更为复杂。

使安装程序指向kickstart文件的书写格式如下:

ks=ftp://server/dir/file :ks=ftp://ftp服务器IP/ks.cfg

ks=http://server/dir/file :ks=http://http服务器IP/ks.cfg

ks=nfs:server:/dir/file :ks=nfs:nfs服务器IP:/var/ftp/pub/ks.cfg

ks=hd:device:/dir/file :ks=hd:sdb1:/kickstar-files/ks.cfg

ks=cdrom:/dir/file :ks=cdrom:/kickstart-files/ks.cfg

以上有关default配置文件的修改就是通过ftp服务器方式来访问kickstart文件。接下来我们制作kickstart无人值守安装文件。要安装system-config-kickstart软件包

接下来我们打开终端输入system-config-kickstart弹出来界面。

PXE网络装机_PXE_07

我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。

PXE网络装机_PXE_08

PXE网络装机_网络装机_09

PXE网络装机_PXE_10

PXE网络装机_网络装机_11

PXE网络装机_PXE_12


PXE网络装机_网络装机_13

PXE网络装机_PXE_14


PXE网络装机_PXE_15

在这里勾选一些包,默认可能没有勾选桌面。根据自己需求勾选。后面剩余的两项不需要配置。

安装脚本:在“预安装脚本”,“安装后脚本”对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置使服务器自动化配置变得更加容易,例如可以在客户机在完成安装后自动设置YUM仓库,如下图所示,需要注意的是:应确保所编写的代码能够正确执行,以免安装失败。

PXE网络装机_PXE_16

然后点击左上角的文件选择保存,选择下保存的路径,然后复制ks.cfg文件到/var/ftp目录下:

[root@test1 ~]#cp ks.cfg /var/ftp

注:ks.cfg就是无人值守安装时要用的Kickstart文件,该文件可以手动进行编辑,如果手动编辑Kickstart文件,则使用ksvalidator来验证该文件使用正确的关键字,但却无法验证URL路径、各个数据包或组等书写错误。Ksvalidatorsystem-config-kickstart数据包的一部分,因此必须要安装该软件包

---还记的/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.10.1/ks.cfg因此必须执行上面的一步

重新挂载RHEL6安装光盘到/var/ftp/pub目录下,开始执行另一台机器的无人值守安装

[root@test1 ~]#umount /dev/cdrom //原来是挂载到/mnt下的

[root@test1 ~]#mount /dev/cdrom /var/ftp/pub

注意:

建议关闭防火墙和selinux,如果没有关闭的话,tftp服务会有问题。不信可以试试。

设置防火墙:

#iptables -F

#service iptables save

关毕selinux功能:有如下两种方法可以实现

1) 永久关闭selinux功能:修改/etc/sysconfig/selinux文件,将SELINUX=enforcing改为disable,要重启系统才生效

2) 临时关闭selinux功能:#setenforce 0 不需要重启系统

若使用vmware虚拟机,要把vmware虚拟机软件所提供的DHCP功能停掉

接下来启动你要安装的机器了(设置为网络引导安装,你就可以休息下,等待自己安装完成)

附录:

请思考:如何实现HTTP+TFTP+DHCP+Kickstart+PXE无人值守安装