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)
上一篇 2016-11-03 12:01
下一篇 2016-11-03 15:22

相关推荐

  • 马哥教育网络班21期-第五周课程练习

    第五周作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@zz ~]# egrep "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有…

    Linux干货 2016-07-29
  • 如何将迁移home到独立分区中

        背景(centos7中):         由于在刚开始学习linux时磁盘分配追求简单,只是把一个磁盘简单的分了3个分区。现在,因用户数据增多、磁盘空间变少、当数据撑满磁盘时,会导致系统崩溃。为防止此种情况的发生我必须把把根下的/home 目录迁移出 来独立分…

    2017-08-10
  • PHP中引用的详解(引用计数、写时拷贝)

    《PHP5中文手册》内容中"引用的解释"一文的摘要: 1. PHP中引用的特性 PHP中引用意味着用不同的名字访问同一个变量内容,引用不是C的指针(C语言中的指针里面存储的是变量的内容,在内存中存放的地址),是变量的另外一个别名或者映射。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Uni…

    Linux干货 2015-04-10
  • KVM部署及简单使用

    KVM特点 KVM必须在具备Intel VT或AMD-V功能的x86平台上运行。KVM包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。使用一个经过修改的QEMU(qemu-kvm),作为虚拟机上层控制和界面。 由于KVM仅是一个简单的虚拟化模块,所以它的内存管理没有自我实现,需借助于Linux内…

    Linux干货 2016-02-14
  • awk基本用法

    一、awk介绍     awk、sed&grep都可以匹配文本,但sed和awk可以对文本进行编辑,grep则不具有此功能;sed是非交互式的流编辑器,而awk则是一门模式匹配的编程语言。awk主要用于处理匹配的文本,同时awk还支持编程语言的一些特性,如变量、函数、循环语句等。  &nbs…

    Linux干货 2016-09-21
  • ACL权限实例详解

    CentOS7当中,无论是操作系统安装时还是之后手工创建的文件系统(xfs、ext4)均会开启ACL功能。 CentOS6及之前的版本,仅操作系统安装时创建的文件系统才会默认开启ACL,手工创建的文件系统,需要手工开启ACL 功能。 Acl如何设置 创建分区 mount -o acl /dev/sda7  取消的方式,重新挂载时不指定即可 tune…

    2017-07-29