首先介绍下kickstart的工作原理和环境需要:

kickstart是借助pxe协议实现的

Pxe是由intel设计的协议,他可以是计算机通过网络启动,在网络发展越来越迅速的今天,这项协议和技术更显珍贵,此项协议通过网络爸网络上的计算机系统下载安装到本地计算机,要通过网络传送就需要ip地址,因此在过程中就需要服务器端有dhcp服务器,还有就是ftp服务器,还需配置tftp服务器,用于提供客户端pxe引导所必须的文件

以下是无人值守安装的过程详解:

   第一步:PXE Client向DHCP发送请求

     首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息。

   第二步:DHCP服务器提供信息

         DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。

   第三步:PXE客户端请求下载启动文件

     客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。

   第四步:Boot Server响应客户端请求并传送文件

     当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM 由 TFTP 通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

   第五步:请求下载自动应答文件

     客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。

     接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

   第六步:客户端安装操作系统

     将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。

         OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。

在上面介绍中PXE client是需要安装Linux的计算机,TFTP Server、DHCP Server和NFS Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。而Linux根文件系统存放于NFS Server的共享目录中。

PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

以下是案例截图

安装kicktart

linux kickstart 无人值守安装

linux kickstart 无人值守安装

安装ftp

linux kickstart 无人值守安装

Tftp默认安装过

linux kickstart 无人值守安装

由于tftp服务区是依赖于超级守护进程 我们要编辑文件 /etc/xinetd.d/tftp,所该的值表示由用户请求的时候唤醒 disable 的参数值默认yes改为no

linux kickstart 无人值守安装

修改后启动tftp服务 由于依赖于超级守护进程 我们启动的方法用下面方法:

linux kickstart 无人值守安装

由于刚开始一个机器没有任何东西 他需要到tftp上下载一些驱动和引导内核我们要把一些驱动和内核文件拷过去

linux kickstart 无人值守安装

linux kickstart 无人值守安装

由于机器从tftp服务器上下载的时候也需要一些系统给的提示文件之类的东西 我们还需要给拷贝一些东西到指定建立的目录内

linux kickstart 无人值守安装

配置tftp服务器:

linux kickstart 无人值守安装

linux kickstart 无人值守安装

安装dhcp

linux kickstart 无人值守安装

配置dhcp服务器

linux kickstart 无人值守安装

启动dhcp服务

linux kickstart 无人值守安装

启动ftp服务

linux kickstart 无人值守安装

切换到光盘 把光盘文件拷到ftp的pub目录

linux kickstart 无人值守安装

配置pxe 切换到 根目录下的cd /tftpboot/pxelinux.cfg/  vim 打开 default (自己建立的目录)

linux kickstart 无人值守安装

配置kickstart

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

下面截图中的脚本是为了让机器安装后不与其他机器重名

linux kickstart 无人值守安装

linux kickstart 无人值守安装

将ks.cfg 拷贝到ftp目录下 可以让机器安装系统时能找到文件

linux kickstart 无人值守安装

linux kickstart 无人值守安装

以下截图为安装的过程 完全做到无人操作 可以用于批量网络安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

linux kickstart 无人值守安装

 

安装后重启

linux kickstart 无人值守安装

 

linux kickstart 无人值守安装

重启后自动获得地址

linux kickstart 无人值守安装

 

脚本的作用 在重启后的到的地址的同时给主机一个名字

linux kickstart 无人值守安装

 

 

 

linux kickstart 无人值守安装

 

linux kickstart 无人值守安装

转载于:https://blog.51cto.com/zhaoweinana/952370

相关文章: