pxe+kickstart

本文介绍了PXE+kickstart无人值守安装系统的优势和工作原理,详细讲解了PXE的工作流程,包括PXE Client向DHCP发送请求、DHCP服务器的响应以及客户端下载启动文件的过程。同时,文章还阐述了kickstart的工作原理,以及如何搭建PXE+kickstart环境,包括安装DHCP、TFTP-Server和HTTP。最后,文章提供了ks配置文件的组成部分和生成方法,以及自动化配置安装ESXi6.0的简要说明。
摘要由CSDN通过智能技术生成

无人值守安装系统

前言

为啥要用无人值守安装系统?很简单的答案!就是方便日常工作!

  • 常规装系统的办法有哪些?
    • 光盘安装系统===>一个服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数。
    • U盘安装系统===>还是同样的问题,要一台一台服务器插U盘。
    • 网络安装系统(ftp,http,nfs) ===>只要服务器能联网就可以装系统了,但还是需要一台台服务器去敲键盘点鼠标。
  • 无人值守安装系统好处都有啥?
    • 对于个人:装系统大部分时间都浪费于下一步下一步等操作,浪费了宝贵的时间。
    • 对于行业:自打若干年前 Red Hat 推出了 Kickstart,此后我们搞服务器的运维顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE、DHCP、 TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,瞬间安装上百台服务器。

pxe

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。

严格来说,PXE 并不是一种安装方式,而是一种引导方式。 进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

pxe工作流程

pxe工作原理图
PXE工作过程:

  • PXE Client向DHCP发送请求

    • 当计算机开机时第一次登录网络的时候,发现本机上没有任何IP地址设定。PXE Client会从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,源IP地址是0.0.0.0,发送DHCP discover发现信息来寻找DHCP服务器,即向目标IP地址是255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这个广播信息,但只有DHCP服务器才会做出响应。
  • DHCP服务器提供信息

    • DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址和其他设置的DHCP offer信息。DHCP offer提供信息包括pxelinux启动程序(TFTP)位置,以及PXE配置文件所在位置(该文件一般是放在一台TFTP服务器上)。
  • DHCP客户机接收IP和服务器的互动

    • DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的 服务器外,其他的DHCP服务器将收回曾经提供的IP地址。这是第一次初始化网络。
  • PXE客户端请求下载启动文件

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

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

      pxeliunx.0:网络引导程序pxe文件
      pxelinux.cfg/default:指定镜像的位置或ks文件位置
      vmlinuz:引导内核
      initrd.img:小型的linux操作系统,类似于windows的PE

  • 请求下载自动应答文件

    • 客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通 过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络(这是第二次初始化网络),并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载 该文件。PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序,从而进行两次获取IP地址过程,但IP地址在DHCP的租期内是一样的。
  • 客户端安装操作系统

    • 将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。
      OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。

kickstart

kickstart工作原理

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在自动安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便会弹出对话框让安装者手工填写。所以,如果ks.cfg文件涵盖了安装过程中所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处下载ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启/关闭系统,并结束安装。
kickstart工作原理


搭建PXE+kickstart环境

安装DHCP、TFTP-Server、HTTP

安装dhcp、tftp-server、httpd
[root@localhost ~]# yum install dhcp xinetd tftp-server httpd -y

tftp-server被xinted所管理,所以需要安装xinetd来管理启动tftp-server

DHCP

DHCP概念

DHCP是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP请求;而客户端则会使用从服务器分配下来的IP地址。
dhcp
在此不详细阐述DHCP工作原理,若想了解可参考:https://www.cnblogs.com/wajika/p/6537085.html

DHCP服务器IP分配方式

DHCP服务器提供三种IP分配方式:

  • 自动分配(Automatic Allocation)
    自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址。
  • 动态分配(Dynamic Allocation)
    动态分配是当DHCP客户端第一次从DHCP服务器分配到IP地址后,并非永久地使用该地址,每次使用完后,DHCP客户端就得释放这个IP地址,以给其他客户端使用。
  • 手动分配
    手动分配是由DHCP服务器管理员专门为客户端指定IP地址。
配置DHCP
配置dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {     	#dhcp分配的网段
range 192.168.1.100 192.168.1.200;		    	#dhcp分配的地址段
option subnet-mask 255.255.255.0;			#dhcp分配的掩码
DHCPDARGS=eth0;						#指定网卡启动dhcp
default-lease-time 600;						#默认租约时间
max-lease-time 5400;						#最大租约时间
next-server 192.168.1.1;					#指定tftp服务器
filename "/pxelinux.0";						#tftp目录下pxelinux.0文件
}

DHCP指定监听网卡

  • 监听所有的网卡,默认不填就会监听所有的网卡
    DHCPDARGS=
  • 监听单个网卡,后面写上你想监听的网卡的名字,如想监听eth0,eth1,就填它的名字
    DHCPDARGS=eth1
  • 监听多个网卡,填几个就会去监听那几个网卡,以空格分开
    DHCPDARGS=eth0 eth1

注意:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值