目录
一、PXE基础知识PXE使用条件:客户机与PXE服务器必须在同一交换机上,服务器可以分配ip地址给客户机,客户机内存必须大于2G
做pxe需要4大文件:
vmlinuxz内核映像,initrd.img,精简的linux系统的文件系统驱动, isolinux.cfg启动菜单的配置文件,pxelinux.0 小型的grub程序
二、PXE使用服务dhcp:必须有dhcp服务分配ip,裸机无ip地址。网卡功能,自动获取ip地址,配置dhcp时告诉tftp服务器地址给裸机客户端。
TFTP:UDP协议,通过此协议将需要的文件下载到网卡,网卡自带功能。网卡不支持ftp。
FTP:装软件包时数据过大,tftp不能保证传输。
SYSLINUX-EXTLINUX.X86_64:小型的grub引导程序。
SYSTEM-CONFIG-KICKSTART:KICKSTART无人值守安装
三、高效批量网络装机实操
1、环境准备
①准备一台有完整rpm光驱的服务器PC1做服务端,一台无操作系统的虚拟机PC2,且关闭PC1的防火墙和selinux。
②PC1安装需要PXE装机需要的服务。
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
yum instll -y vsftpd dhcpd tftp-server.x86_64 syslinux-extlinux.x86_64 system-config-kickstart
#安装vsftpd服务,dhcpd服务,tftp-server.x86_64服务,syslinux-extlinux.x86_64服务,system-config-kickstart 服务
2、配置dhcpd服务
dhcp服务配置文件位置:/etc/dhcp/dhcpd.conf
cat /etc/dhcp/dhcpd.conf #查看dhcp服务真实配置文件位置
dhcpd.conf显示配置文件在/usr/share/doc/dhcp*/dhcpd.conf.example
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#将真实配置文件拷贝到/etc/dhcp/目录下并命名dhcpd.conf,询问是否覆盖输入yes覆盖
vim /etc/dhcp/dhcpd.conf #编辑拷贝过来的dhcp配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/3ffd55980f81acf606e3ed5d9d25e0d9.png)
3、配置FTP服务
在ftp服务的家目录下创建一个名为centos7的文件夹,将光驱挂载到此文件夹
ftp家目录文件位置:/var/ftp
cd /var/ftp #进入ftp服务家目录
mkdir centos7 #创建centos7文件夹
mount /dev/sr0 /var/ftp/centos7 #将光驱挂载到centos7目录下
4、配置TFTP服务
①TFTP服务默认是关闭的首先修改配置文件将TFTP开启,开启服务配置文件位置: /etc/xinetd.d/tftp
② 将通过TFTP传输的4大文件编辑完毕
第1大文件grub引导程序:
#文件位置:/usr/share/syslinux/pxelinux.0
#若不在此目录下,使用rpm -ql syslinux |grep pxelinux.0 查询pxelinux.0文件在什么路径下
cp /user/share/syslinux/pxelinux.0 /var/lib/tftpboot
#将第1大文件grub引导程序文件复制到tftp服务家目录下
第2、3大文件精简的linux系统的文件系统驱动和内核映像:
#文件位置:光驱挂载点中的/images/pxeboot目录下,现在光驱挂载点为/var/ftp/centos7
所以文件位置为:/var/ftp/centos7/images/pxeboot
cd /var/ftp/centos7/images/pxeboot 进入此文件夹
ls 查看文件夹内容
文件夹内容有:
initrd.img TRANS.TBL vmlinuz
#initrd.img为精简的linux系统的文件系统驱动,vmlinuz为内核映像
cp initrd.img vmlinuz /var/lib/tftpboot
#将2、3大文件复制到tftp服务家目录
第4大文件启动菜单配置文件:
cd /var/lib/tftp #进入TFTP服务的家目录
mkdir pxelinux.cfg #创建第4大文件的文件夹,注意文件夹名称必须为pxelinux.cfg
cd pxelinux.cfg #进入第四大文件的文件夹中
vim default #创建第四大文件,默认启动菜单文件,注意文件名必须为default
default文件内容:
default auto #默认启用auto模块
prompt 1 #等待选择时间为1秒
label auto #auto模块内容
kernel vmlinuz #首先加载内核
append initrd=initrd.img method=ftp://192.168.30.13/centos7 ks=ftp://192.168.30.13/ks.cfg
#注意此条配置必须在一行
#然后启动精简的linux系统的文件系统驱动,启动并从ftp服务器的光驱挂载文件夹下载操作系统。注意ftp服务器写安装了ftp服务器的本机ip
#无人值守文件FTP服务下载路径,注此文件提前为kickstart无人程序配置,稍后配置无人值守程序时要将文件保存到ftp家目录下,若不需要无人值守则不需要填写此段直接重启服务即可。
5、配置kickstart无人值守①进入图形化界面配置无人值守程序kickstart如图1。若虚拟机为最小化安装则使用MobaXterm远程连接工具输入export DISPLY=本机ip:0.0然后system-config-kickstart拉起图形化kickstart程序,如图2
②首先配置安装系统的基础配置,包括系统的语言、键盘、时区、root密码以及安装完毕后系统是否重启。如图
![](https://i-blog.csdnimg.cn/blog_migrate/5a67a6d1663fc27330270eca8b638b17.png)
③配置系统安装方式通过FTP服务器安装,配置ftp地址和ftp服务器系统所在目录即ftp服务器光驱挂载位置。
![](https://i-blog.csdnimg.cn/blog_migrate/89ecfcffad484a3e0828a7b6418dbac4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/720ab1866ce55a75fec928989a667670.png)
④配置系统分区信息,清除主引导记录并删除所有现存分区,初始化磁盘标签并添加分区。
⑤添加系统分区,首先添加boot分区文件系统为xfs选择磁盘大小,然后添加swap分区在文件系统类型,最后划分/根分区将所有剩余容量给与根分区。
![](https://i-blog.csdnimg.cn/blog_migrate/c930f22412aa7ec478b232bff1b7ace4.png)
⑥添加网络配置。
![](https://i-blog.csdnimg.cn/blog_migrate/18daaee7bf46644e3c069297d6cfd2eb.png)
⑦配置装机后 直接关闭selinux和防火墙及其他设置说明。
![](https://i-blog.csdnimg.cn/blog_migrate/5d8e4119f06959c0770c56c00fd4718c.png)
⑧配置最小化安装系统。
![](https://i-blog.csdnimg.cn/blog_migrate/a1f5175cc4aaa580df7b54299b0b7594.png)
⑨将配置好的文件保存到ftp服务家目录下。
![](https://i-blog.csdnimg.cn/blog_migrate/ed57121e532638147dfdfa59d28d603c.png)
6、启动服务验证
systemctl start dhcpd vsftpd tftp #启动dhcp、ftp、tftp服务
安装一台新的虚拟机进行验证
![](https://i-blog.csdnimg.cn/blog_migrate/13a50bcbfe07c82e326ffcda0e54f6af.png)