kickstart 的使用!

简介

1.什么是kickstart

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

2.什么是PXE

PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTPtrivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

 

严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE ClientPXE 协议可以使计算机通过网络启动。此协议分为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的工作过程:

 

a)PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

 

b)DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上

 

c)PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;

 

d)PXE Client 取得pxelinux.0 文件后之执行该文件;

 

e)根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统;

 

f)进入安装画面此时可以通过选择HTTPFTPNFS 方式之一进行安装;

 

一.系统环境


操作系统:CentOS 6.7 64

所需软件:system-config-kickstarthttpd dhcptftp-server

1.配置好IPDNS 、网关,确保使用远程连接工具能够连接服务器

2. 配置防火墙,iptables –F 清理防火墙规则或者关闭iptables

3. 关闭SELINUX, setenforce 0#立即生效(实际是宽容模式)

 

二.安装配置httpd


系统的安装方式可以选择HTTPdVSFTP NFS,这里用httpd

1.安装httpd

yum -y install httpd

service httpd start

2.http的根目录中创建目录,用于挂载系统镜像文件

mkdir /var/www/html/centos

mount /dev/cdrom /var/www/html/centos/

 

三.安装配置TFTP服务器


1.安装TFTP

yum -y install tftp-server

 

2.修改/etc/xinetd.d/tftp文件

disable设置为"no"

blob.png

 

3.启动服务

service xinetd restart

 

四.配置支持PXE的启动程序


1.复制pxelinux.0 文件至/var/lib/tftpboot/ 文件夹中

cd /var/www/html/centos

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

说明:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

注意:通常/usr/share目录下的syslinux目录是存在的,万一你的系统里没有这个目录,可以先执行yum -y install syslinux安装这个软件,然后再进行复制操作。

 

2.iso镜像中复制isolinux目录中的内容到/var/lib/tftpboot目录中

cp /var/www/html/centos/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/

 

#cp /var/www/html/centos/isolinux/* /var/lib/tftpboot/

 

3.复制iso 镜像中的/image/pxeboot/initrd.img vmlinux /var/lib/tftpboot/ 文件夹中

cp /var/www/html/centos/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/

 

4./var/lib/tftpboot/ 中新建一个pxelinux.cfg目录

mkdir /var/lib/tftpboot/pxelinux.cfg

 

5.iso 镜像中的/isolinux 目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为default

cp /var/www/html/centos/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

 

6.修改default文件

default文件中用来定义安装时的引导菜单的,我们可以对此文件进行修改来定制安装界面。

vi /var/lib/tftpboot/pxelinux.cfg/default

blob.png

 

五.配置安装DHCP


1.安装DHCP服务

yum –y install dhcp

 

2.复制配置模板文件到DHCP的配置目录中

cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

 

3.修改/etc/dhcp/dhcpd.conf 配置文件

default-lease-time 600;             #默认租约时间

max-lease-time 7200;                 #最大租约时间

ddns-update-style interim;       #设置DHCP服务器模式

ignore client-updates;                #禁止客户端更新

subnet 192.168.1.0 netmask 255.255.255.0 {

        option routers 192.168.1.1;

        range 192.168.1.20 192.168.1.50;                

        filename "pxelinux.0";     #pxelinux 启动文件位置;

        next-server 192.168.1.10;       #TFTP Server IP地址;

}

4.启动DHCP服务

service dhcp start

 

六.生成kickstart配置文件


yum groupinstall "X Window System" "Desktop"

yum install system-config-kickstart

启动X Windows 环境

startx

system-config-kickstart

1.设置语言,键盘,时区,Root密码,安装完毕后重启等。

blob.png

2.设置安装方式,这篇文章介绍的是HTTP方式的安装,选择HTTP

blob.png

3.安装MBR

blob.png

4.创建分区

blob.png

5.添加网卡设备

blob.png

6.认证配置

blob.png

7.关闭SELinux和防火墙

blob.png

8.选择需要安装的软件包

blob.png

9.保存配置文件

blob.png

10.打开/var/www/html/ks.cfg 文件进行查看并做修改

vi /var/www/html/ks.cfg

blob.png

说明:

reboot 此选项必须存在,也必须文中设定位置,不然kickstart显示一条消息,并等待用户按任意键后才重新引导;

clearpart –all –initlabel 此条命令必须添加,不然系统会让用户手动选择是否清除所有数据,这就需要人为干预了,从而导致自动化过程失败;

11.测试安装

 

blob.png

 blob.png

 

原创文章,作者:liangkai,如若转载,请注明出处:http://www.178linux.com/57216

(4)
liangkailiangkai
上一篇 2016-11-03
下一篇 2016-11-03

相关推荐

  • MapReduce数据流

    Hadoop的核心组件在一起工作时如下图所示: 图4.4高层MapReduce工作流水线   MapReduce的输入一般来自HDFS中的文件,这些文件分布存储在集群内的节点上。运行一个MapReduce程序会在集群的许多节点甚至所有节点上运行mapping任务,每一个mapping任务都是平等的:mappers没有特定“标识物”与其关联。因此,任意的map…

    Linux干货 2015-05-13
  • 计算机组成、Linux命令基础

    计算机组成 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息…

    Linux干货 2016-09-19
  • yum详解

        yum(全称为 Yellow dog Updater, Modified)yum相对于rpm来说:rpm为基础包管理器,yum则是rpm的前端工具。能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。,yum无法独立存在,系统不允许有两个…

    Linux干货 2016-08-24
  • sed使用方法

      sed编辑器被称作流编辑器(stream editor)。流编辑器在处理数据之前基于预先提供的一组规则来编辑数据流。 一、命令格式   sed options '"地址""编辑命令"' file   常用选项:     -n:静默模式,不显示模式…

    Linux干货 2015-12-28
  • 关于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要对内核做升级操作;Linux支持多内核版本并存,因此 ,对直接安装新版本内核 v rpm {-q严格–query} [select-options] [query-options] v [se…

    Linux干货 2016-08-24
  • Linux终端类型

    前言     终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。而linux的终端类型有物理终端,虚拟终端,串行终端,伪终端。  1.物理终端  /dev/console     在linux系统中,计算机显示器通常被称为控制台终端(console)。系统控制台,和系统相关…

    Linux干货 2016-10-14