KickStart无人值守部署

KickStart无人值守部署

kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置。
•PXE,全名Pre-boot Execution Environment,预启动执行环境;PXE不是一种安装方式,是一种引导的方式。通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统;Client/Server的工作模式;PXE客户端会调用网际协议(IP)、用户数据报协议(UDP)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)等网络协议;

这里写图片描述

这里写图片描述

1 PXE Client向DHCP发送请求
PXE Client从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。
2 DHCP服务器提供信息
DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个”提供”响应,这个”提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
3 PXE客户端请求下载启动文件
客户端收到服务器的”回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
4 Boot Server响应客户端请求并传送文件
当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
5 请求下载自动应答文件
客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
6 客户端安装操作系统
将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。
OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。

安装方法 PXE + TFTP + FTP + DHCP + Kickstart
总的安装包
yum install dhcp xinetd tftp-server vsftpd syslinux system-config-kickstart

一、配置DHCP服务
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# yum install dhcp -y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
ddns-update-style interim;
ignore client-updates;
filename “pxelinux.0”; #指定引导文件
next-server 192.168.223.129; #指定引导文件
subnet 192.168.223.0 netmask 255.255.255.0 {
option routers 192.168.223.1;
option domain-name-servers 114.114.114.114;
range dynamic-bootp 192.168.223.200 192.168.223.230;
default-lease-time 60;
max-lease-time 60;
}
[root@localhost ~]# systemctl restart dhcpd
二、配置TFTP服务器

简单文件传输协议TFTP(Trivial File Transfer Protocol)是一种基于UDP协议的传输协议,其与前面学习的vsftpd服务程序的FTP协议有很大不同,TFTP协议不具备FTP的许多功能(例如列出目录,密码认证等等),但TFTP协议配置非常简单,而且资源消耗更低,非常适合传输不敏感的文件。

vsftpd是一款功能丰富的文件传输服务程序,允许用户以匿名开放模式、本地用户模式、虚拟用户模式来进行访问认证。但是,当前的客户端主机还没有安装操作系统,该如何进行登录认证呢?而TFTP作为一种基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。因此接下来配置TFTP服务程序,为客户端主机提供引导及驱动文件。当客户端主机TFTP是一种非常精简的文件传输服务程序,它的运行和关闭是由xinetd网络守护进程服务来管理的。xinetd服务程序会同时监听系统的多个端口,然后根据用户请求的端口号调取相应的服务程序来响应用户的请求。需要开启TFTP服务程序,只需在xinetd服务程序的配置文件中把disable参数改成no就可以了。保存配置文件并退出,然后重启xinetd服务程序,并将其加入到开机启动项中(在RHEL 7系统中,已经默认启用了xinetd服务程序,因此在将其添加到开机启动项中的时候没有输出信息属于正常情况)。有了基本的驱动程序之后,再通过vsftpd服务程序将完整的光盘镜像文件传输过去

[root@localhost ~]# yum install -y tftp
[root@localhost ~]# yum install xinetd.x86_64
编辑xinetd配置文件,启动TFTP服务程序:
[root@localhost ~]# vi /etc/xinetd.d/tftp

# default: off
*# description: The tftp server serves files using the trivial file transfer *
*# protocol. The tftp protocol is often used to boot diskless *
*# workstations, download configuration files to network-aware printers, *
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@mail ~]# systemctl start tftp.socket
[root@localhost ~]# systemctl restart xinetd
[root@localhost ~]# systemctl restart tftp.socket

三、 PXE引导配置(bootstrap)
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。
SYSLinux是一个用于提供引导加载的服务程序。与其说SYSLinux是一个服务程序,不如说更需要里面的引导文件,在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现很多引导文件。
[root@localhost ~]# yum install syslinux
[root@localhost ~]# mkdir -p /tftpboot/pxelinux.cfg
把SYSLinux提供的引导文件复制到TFTP服务程序的默认目录中,也就是前文提到的文件pxelinux.0,这样客户端主机就能够顺利地获取到引导文件了。另外在RHEL 7系统光盘镜像中也有一些我们需要调取的引导文件。确认光盘镜像已经被挂载到/media/cdrom目录后,使用复制命令将光盘镜像中自带的一些引导文件也复制到TFTP服务程序的默认目录中。然后在TFTP服务程序的目录中新建pxelinux.cfg目录,虽然该目录的名字带有后缀,但依然也是目录,而非文件!将系统光盘中的开机选项菜单复制到该目录中,并命名为default。这个default文件就是开机时的选项菜单
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
[root@localhost ~]# cp /mnt/images/pxeboot/initrd.img /tftpboot/
[root@localhost ~]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/
[root@localhost ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@localhost ~]# chmod 644 /tftpboot/pxelinux.cfg/default
#修改配置文件
[root@localhost ~]# vim /tftpboot/pxelinux.cfg/default
1 default linux #修改默认启动模式
64 append initrd=initrd.img ks=ftp://172.16.50.171/ks.cfg #修改加载的KS应答文件

四、准备安装镜像
[root@localhost ~]# systemctl restart vsftpd
挂载系统镜像到共享目录
光盘镜像是通过FTP协议传输的
[root@localhost ~]# mount /dev/sr0 /var/ftp/pub/
mount: /dev/sr0 写保护,将以只读方式挂载

五、创建KS应答文件
在虚拟机中执行以下命令来使用图形界面创建一个KS应答文件
[root@localhost ~]# yum install -y system-config-kickstart.noarch
[root@localhost ~]# system-config-kickstart
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
其余的都可默认

猜你喜欢

转载自blog.csdn.net/weixin_42859372/article/details/81748111