内容预知
第三步:配置DHCP服务器,分配IP地址,指明tftp服务器的地址。
第四步:修改TFTP服务配置文件/etc/xinetd.d/tftp将服务打开
第四步:再次修改ftfp文件配置,让ks.cfg文件配置生效
1.PXE网络批量装机的简介和相关知识
u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装
光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机
网络下载安装:在网上下载相关镜像系统,进行安装
PXE(预启动执行环境)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
若想进行PXE批量装机,首先要搭建 PXE 远程安装服务器。而PXE 远程安装服务器集成了 CentOS 7 安装源、TFTP 服务、DHCP 服务,能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
1.规模化:同时装配多台服务器;
2.自动化:安装系统、配置各种服务;
3.远程实现:不需要光盘、U 盘等安装介质。
2.PXE 安装进行前的配置了解
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,同时也能配合DNS解析使用,让指定范围内的客户机能够自动获取解析域名的后缀。
DHCP作为用应用层协议,它依靠并且使用着传输层中udp协议。对于DHCP中分为客户端,和服务端。客户端用的端口为68 ,服务端的端口为67.
具体操作可以了解我之前的博客:
vsftpd服务是Linux中使用最多的运用ftp的服务,它是用于Internet上的控制文件的双向传输的一种有效手段,其中有两个端口号均是TCP传输方式,分别为
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
具体操作可以了解我之前的博客:
TFTP(简单文件传输协议),是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。
TFTP服务默认由xinetd服务进行管理,使用UDP69端口。TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。它的位置存在:/var/lib/tftpboot
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间, 并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后, sysLinux启动盘就可以引导各种基于DOS的工具, 以及MS-DOS/Windows或者 任何其它操作系统。
3.PXE批量安装的具体操作过程
- yum install -y dhcp vsftpd tftpd syslinux //同时安装四个软件服务
- 也可以一个一个的进行安装


添加新网卡:
改变网卡的自动分配网络功能:

设置第二块网卡:
- cd /etc/sysconfig/network-scripts/ //进入到网卡配置所在目录。
-
-
- cp -p ifcfg-ens33 ./ifcfg-ens36 //初始没有新加网卡ens36的配置,复制一份,认定为ens36的配置
-
-
- vim ifcfg-ens36 //进入ens36网卡配置中进行修改,修改如图

保存退出并重启网卡服务:
systemctl restart network
- [root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/
-
- [root@localhost dhcp-4.2.5]# ls
-
- [root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
-
-
- [root@localhost ~]# vim /etc/dhcp/dhcpd.conf
另外还可以在里面添加: ddns-update-style none; #禁用 DNS 动态更新
完成后进行保存退出
vim /etc/xinetd.d/tftp

注意:该配置保存退出后即生效
- [root@localhost ~]# cd /var/ftp
- [root@localhost ftp]# mkdir centos7
- [root@localhost ftp]# mount /dev/sr0 centos7 //将光盘挂载到/var/ftp/centos7/目录下
- [root@localhost centos7]# cd isolinux
- [root@localhost isolinux]# cp vmlinuz initrd.img /var/lib/tftpboot
- //将光盘内的2个文件拷入tftpboot目录
-
-
-
-
-
- [root@localhost tftpboot]# rpm -ql syslinux |grep pxelinux.0 //查找pxelinux.0文件位置
-
-
- [root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
- //将pxelinux.0文件拷入tftpboot目录

- #默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
- mkdir /var/lib/tftpboot/pxelinux.cfg
-
- vim /var/lib/tftpboot/pxelinux.cfg/default

关闭防火墙和selinux。启动 dhcpd、tftp、vsftpd 三个服务。
- [root@localhost ~]# systemctl stop firewalld.service
- [root@localhost ~]# setenforce 0
- [root@localhost ~]# systemctl start dhcpd
- [root@localhost ~]# systemctl start tftp
- [root@localhost ~]# systemctl start vsftpd
-
1.
2.
3.
4.
5.

6.

7.

8.

9.

4.Kickstart全自动化安装
上面的安装,是通过多种服务单配,省略了导入镜像,并且只要是同一网段的机器,开机就能自动获取镜像,安装镜像,配置基础网路配置。但是后半部分依旧需要手动安装。要知道,现实生产环境中,不会给公司的每一台服务器配上显示器和输入设备。所以要想实现真正的全自动化,就要引入Kickstart程序服务,实现真正完全全自动化安装。
yum install -y system-config-kickstart
1.

2.

3.

4.

5.

6.

7.
8.

9.

10.

11.就现实环境来说Linux系统自带的防火墙作用可以是忽略不计,而且会影响网络服务的正常允许。

12 .

13.

14.

15.

16.
17.
vim ~/ks.cfg //查看kickstart 形成的脚本

18.
19.

20.
注意:下图第二个软件包,和桌面有关,但是我们在kickstart中设置了无桌面,所以它不生效。

保持后并退出
- [root@localhost ~]# cp -p ks.cfg /var/ftp
- [root@localhost ~]# cd /var/ftp
- [root@localhost ftp]# ls

- [root@localhost tftpboot]# cd /var/lib/tftpboot/pxelinux.cfg
- [root@localhost pxelinux.cfg]# ls
-
- [root@localhost pxelinux.cfg]# vim default
保持后并退出,设置算完成了


结果:

总结
pxe批量装机:
自动装机-kickstart:
1.安装kickstart服务
2.进行kickstart设置
3.如果写简易脚本,就保存在家目录
4.将原本的预设值加装软件添加到kickstart生成的文件
5.把该文件移动到ftp下
6.修改ftfp配置