Linux基础kiickstart无人值守安装

犀渠玉剑良家子,白马金羁侠少年。这篇文章主要讲述Linux基础kiickstart无人值守安装相关的知识,希望能为你提供帮助。
导言作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。
常规的办法有哪些呢?

  • 光盘安装系统===> 一个服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数。用USB外置光驱,插来插去也醉了。
  • U盘安装系统===> 还是同样的问题,要一台一台服务器插U盘。
  • 网络安装系统(ftp,http,nfs) ===> 这个方法不错,只要服务器能联网就可以装系统了,但还是需要一台台服务器去敲键盘点鼠标。时刻想偷懒的我们,有没有更好的方法!

高逼格的方法:
  • Kickstart
  • Cobbler
在进入主题前,首先会向大家介绍一下什么是pxe,pxe能干什么,Kickstart是什么,Cobbler又有什么特别。 1. 简介 1.1 什么是PXE
  • PXE,全名Pre-boot Execution Environment,预启动执行环境;
  • 通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统;
  • 由Intel和Systemsoft公司于1999年9月20日公布的技术;
  • Client/Server的工作模式;
  • PXE客户端会调用网际协议(IP)、用户数据报协议(UDP)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)等网络协议;
  • PXE客户端(client)这个术语是指机器在PXE启动过程中的角色。一个PXE客户端可以是一台服务器、笔记本电脑或者其他装有PXE启动代码的机器(我们电脑的网卡)。
1.2 PXE的工作过程
Linux基础kiickstart无人值守安装

文章图片
Linux基础kiickstart无人值守安装

文章图片
  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所在位置,根据该位置请求下载该文件。
Notice:这里有个问题,在第2步和第5步初始化2次网络了,这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。因此PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序,从而进行两次获取IP地址过程,但IP地址在DHCP的租期内是一样的。 6. 客户端安装操作系统
将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。 OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。 1.3 批量装机软件介绍
【Linux基础kiickstart无人值守安装】Redhat系主要有两种Kickstart和Cobbler。
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在自动安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便会弹出对话框让安装者手工填写。所以,如果ks.cfg文件涵盖了安装过程中所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处下载ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启/关闭系统,并结束安装。
Cobbler集中和简化了通过网络安装操作系统需要使用到的DHCP、TFTP和DNS服务的配置。Cobbler不仅有一个命令行界面,还提供了一个Web界面,大大降低了使用者的入门水平。Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
** 简单的说,Cobbler是对kickstart的封装,简化安装步骤、使用流程,降低使用者的门槛。**

1.4 系统环境准备
  1. [root@linux-node1 ~]# cat /etc/redhat-release
  2. CentOS release 6.7 (Final)
  3. [root@linux-node1 ~]# uname -r
  4. 2.6.32-573.el6.x86_64
  5. [root@linux-node1 ~]# getenforce
  6. Disabled
  7. [root@linux-node1 ~]# /etc/init.d/iptables status
  8. iptables: Firewall is not running.
  9. [root@linux-node1 ~]# ifconfig eth0|awk -F "[ :]+" \'NR==2 {print $4}\'
  10. 10.0.0.7
  11. [root@linux-node1 ~]# hostname
  12. linux-node1.example.com

    推荐阅读