要建立 PXE网络安装环境他需PXE (Pre-boot Execution Environment,预启动执行环境),他是由Inter公司开发的网络引导技术,工作在Client/server 环境,我们通过它来进行网络安装系统。并结合Kickstart来实现无人值守自动安装。PXE的部署就意味着可以不再从PE 光盘 硬盘 等繁琐的方式来安装多台计算机,为管理员省心省力。

要几个前提条件

① 客户机要支持PXE协议 (就是主板上有BOOTROM芯片的支持)并且设置成网络启动。

② 网络中要有DHCP 它主要是为客户机分配ip 并为客户机定位 网络启动的文件和服务。

③ Kickstart : 它主要把安装系统时提供的参数集合在一起生成ks.cfg文件,然客户端使用。

④ FTP服务,他是为客户机提供ks.cfg文件的下载以及镜像的下载。

⑤ tftp 服务,提供引导文件,启动菜单,启动文件以及内核文件。

PXE的部署:

环境: linux6.0 x32位 ip 192.168.1.1 开启本机防火墙

1. 我想通过部署YUM环境来把所需要的安装包给装上

挂载安装盘

mount /dev/cdrom   /media

vim /etc/yum.repos.d/yum .repo

内容如下:

PXE 网络装机_管理员

安装软件包

PXE 网络装机_网络_02

2.安装完之后 配置各个服务

ftp: 只需要打开服务即可 按照ftp默认的配置

PXE 网络装机_网络_03

tftp:修改配置文件 /etc/xinetd.d/tftp 文件

修改13.14行 13行是指tftp的根目录 14 是否开启服务 修改后启动xinetd 服务 (tftp是基于xinetd服务)

PXE 网络装机_管理员_04

PXE 网络装机_server_05

因为tftp的根目录已经更改 要手工创建

PXE 网络装机_网络_06

/pxeboot/pxelinux.cfg/ 是启动菜单的存放位置。

因为tftp是提供启动文件,内核文件,引导文件 ,启动菜单的 要把这些文件复制到根目录下 

cp /usr/share/syslinux/pxelinux.0 /tftpboot/

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

cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

cp /mediaimages/pxeboot/initrd.img /tftpboot/

cp /media/images/pxeboot/vmlinuz /tftpboot/

/media/ 是我的光盘挂载目录

查看

PXE 网络装机_server_07

修改default文件 也就是启动菜单

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

文件里面需要修改两行,修改第1行,后面的linux意思是寻找下面18行的label linux,然后修改下22行(即在后面添加ks=ftp://192.168.1.1/ks.cfg)。第22行的意思是使安装程序通过FTP服务器访问kickstart文件。有多种方法可访问kickstart文件,其中最常用的一种方法是通过网络服务器进行,例如:ftp服务器、WEB服务器或NFS服务器,这种方法非常易于部署,并且也使管理更改变得十分简单。也可以通过USB磁盘、CD-ROM或本地硬盘。如果USB或CD-ROM中的kickstart文件非常便于访问,只需将kickstart文件放置在用来开始安装的引导介质中。而使用DHCP服务器和TFTP及PXE配置起来更为复杂。

使安装程序指向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文件。

因为没有修改的权限 要执行 wq! 强制保存 (或者给予权限)

PXE 网络装机_server_08

修改后

PXE 网络装机_客户机_09

Dhcp:

修改/etc/dhcp/dhcpd.conf

PXE 网络装机_计算机_10

如启动不了 侧运行 dhcpd命令查看配置文件错误信息

利用kickstart生成ks.cfg文件 并放到ftp 根目录下

执行命令 system-config-kickstart弹出来界面

PXE 网络装机_计算机_11

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

PXE 网络装机_客户机_12

PXE 网络装机_管理员_13

然后根据情况分区 /分区建议使用剩余的所有空间

PXE 网络装机_网络_14

PXE 网络装机_网络_15

网络配置的网卡必须添加为eth0  因为linux第一个网卡默认就是eth0 并且dhcp

PXE 网络装机_管理员_16

验证

PXE 网络装机_管理员_17防火墙和selinux根据自己需求选择开启或者禁用

PXE 网络装机_网络_18

PXE 网络装机_server_19

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

PXE 网络装机_计算机_20

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

然后 文件>>保存 >>退出

保证ftp的根目录中有这个文件

PXE 网络装机_客户机_21

并且 要把光盘挂载到 robin下

PXE 网络装机_server_22

最后配置相应的防火墙

PXE 网络装机_计算机_23

还要注意ftp的被动和主动 修改配置文件

PXE 网络装机_server_24

重启防火墙

PXE 网络装机_管理员_25

配置完成

下面就可以测试了  连接裸机 ,从网络启动

安装过程 (图简化)

PXE 网络装机_计算机_26

PXE 网络装机_计算机_27

end