今天我们使用PXE+Kickstart+TFTP+DHCP+FTP实现无人值守安装服务器。

一、搭建无人值守系统所需服务介绍:

1)PXE

  1. PXE,远程引导技术

  2. 功能:使计算机通过网络启动

  3. 硬件要求:客户端的网卡必须支持PXE

 

2)Kickstart

  1. Kickstart,一种无人值守自动部署安装操作系统的方式

  2. 核心技术:自动应答文件

  3. 功能:通过执行应答文件中的内容进行自动部署系统

3)TFTP

  1. TFTP,用于服务器之间进行简单文件传输的协议

  2. 端口号:69

  3. 默认共享路径:/var/lib/tftpboot/

  4. 本次实验作用:共享PXE相关文件,比如:系统引导文件(客户端通过TFTP取这些文件)

4)DHCP

给客户机分配IP地址

5)FTP

  1. FTP,文件传输协议

  2. 默认共享路径:/var/ftp/

  3. 本次实验作用:共享ISO镜像文件及Kickstart自动应答文件

6)交互流程图

(初学者可能目前不太理解这个交互过程,没关系咱继续往下看。随着后续的学习您会理解下方的交互流程)

 

无人值守批量安装服务器_无人值守批量安装服务器

 

 

 

二、实验介绍

 

本次实验采用all-in-one模式,即 我们将FTP、DHCP、TFTP服务全部署在一台服务器上。

 

1)服务器介绍:

  • qll251,CentOS7系统双网卡,192.168.1.251和192.168.2.251(2.251属于LAN1 用于PXE网络)

  • qll252,CenOS7系统,网卡选择LAN1

2)实验要求

  1. 关闭服务器防火墙及禁用selinux

  2. 服务器能使用yum 安装软件,本地yum源或网络yum源均可

 

如果对yum源的部署有疑问,参考:yum学习笔记

 

三、开始部署环境

1)部署FTP服务

  •  
[root@qll251 ~]# yum -y install vsftpd    #安装ftp服务[root@qll251 ~]# systemctl start vsftpd   #启动ftp服务[root@qll251 ~]# systemctl enable vsftpd  #设置ftp服务开机自启动## 到此,ftp部署已完成。共享路径:/var/ftp

2)部署DHCP服务

1. 安装dhcp服务

  •  
[root@qll251 ~]# yum -y install dhcp

2. 修改dhcpd.conf配置文件

  •  
[root@qll251 ~]# vim  /etc/dhcp/dhcpd.conf

无人值守批量安装服务器_无人值守批量安装服务器_02

 

3. 启动dhcp服务并设置开机自启动

  •  
[root@qll251 ~]# systemctl start dhcpd[root@qll251 ~]# systemctl enable dhcpd

 

3)部署tftp-server服务

1. 安装tftp-server所需服务

 

  •  
[root@qll251 ~]# yum -y install tftp-server[root@qll251 ~]# yum -y install xinetd  #Xinetd管理tftp工作

 

2. 修改TFTP服务的配置文件

 

无人值守批量安装服务器_无人值守批量安装服务器_03

 

3. 启动tftp服务,并设置开机自启动

  •  
[root@qll251 ~]# systemctl start tftp && systemctl enable tftp[root@qll251 ~]# systemctl start xinetd && systemctl enable xinetd

 

4)制作kickstart自动应答文件

1. 安装kickstart

  •  
[root@qll251 ~]# yum -y  install system-config-kickstart

 

2. 在终端上执行system-config-kickstart

 

无人值守批量安装服务器_无人值守批量安装服务器_04

注意:如果用终端软件比如MobaXerm,执行上面命令无法弹出选择框,需要您安装gdm
yum -y install gdm
(您直接在带有图形化界面的机器上执行命令也是一样的)

3.  进入kickstart配置向导,先完成“基本配置”

  1.  

无人值守批量安装服务器_无人值守批量安装服务器_05

 

4. 选择安装方法

  1.  

无人值守批量安装服务器_无人值守批量安装服务器_06

 

5.  进行分区

 

无人值守批量安装服务器_无人值守批量安装服务器_07

 

6. 网络配置、验证、防火墙配置、显示配置。您按需选择就行。我就不在此演示了


7. 软件包选择

 

无人值守批量安装服务器_无人值守批量安装服务器_08

 

8. 设置安装后的脚本(可选项)

 

无人值守批量安装服务器_无人值守批量安装服务器_09

 

9. 保存自动应答文件

 

无人值守批量安装服务器_无人值守批量安装服务器_10

到目前为止,FTP,DHCP,TFTP服务及kickstart应答文件都已准备完毕。接下来我们配置PXE启动所需的相关文件

四、准备PXE启动所需的文件

 

先挂载我们所需的光盘镜像

  •  
[root@qll251 ~]# mount /dev/sr0 /media  #系统镜像挂载至/media

 

1)ftp需要共享出去的文件

共享目录:/var/ftp;需要共享两处
      1. /var/ftp/ks.cfg (制作应答文件时,已保存该文件)

      2. 光盘启动镜像文件
[root@qll251 ~]# cp -r  /media/* /var/ftp/pub

2)tftp需要共享出去的文件

  •  

    2. initrd.img    //其实就是ramdisk的映像文件(内存模拟磁盘)。举个例子:主机系统坏掉了,我们使用win pe启动,你会发现主机就算没有硬盘也能正常运行
    3. vmlinuz    //包含一个最小功能的内核,通常先执行vmlinuz,之后加载initrd.img文件,最后加载根分区。
    4. isolinux.cfg重命名为default

3)修改default配置文件

  •  
[root@qll251 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 1  default linux #将第一行的 default改成 default linux61 label linux62   menu label ^Install CentOS 763   kernel vmlinuz64   append initrd=initrd.img inst.repo=ftp://192.168.2.251/pub inst.ks=ftp://192.168.2.251/ks.cfg#指定安装程序通过FTP服务访问系统镜像及ks.cfg应答文件

以上,我们便完成了pxe环境的部署,接下来我们找一台客户机进行部署

五、执行批量安装服务器

 

1)客户机的BIOS启动顺序调整为网络优先。或者开机Log界面按F12选择从网络启动

无人值守批量安装服务器_无人值守批量安装服务器_11

 

2)开始无人值守安装

以下步骤全部是系统自动执行,无需人为干预,只需等待安装完成即可

我们看下它都自动执行了哪些操作

无人值守批量安装服务器_无人值守批量安装服务器_12

 

无人值守批量安装服务器_无人值守批量安装服务器_13

 

无人值守批量安装服务器_无人值守批量安装服务器_14

 

无人值守批量安装服务器_无人值守批量安装服务器_15

 

无人值守批量安装服务器_无人值守批量安装服务器_16

 

无人值守批量安装服务器_无人值守批量安装服务器_17

 

无人值守批量安装服务器_无人值守批量安装服务器_18

 

最后我们通过预定义的root密码进行登录,可以看到事先写的测试脚本“hello world”已生效。系统分配的IP是192.168.2.3

 

 

无人值守批量安装服务器_无人值守批量安装服务器_19