一、kickstart、pxe 是什么?

        kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成的kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置;ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及安装后配置服务时所需要获取的一些必要配置信息(如键盘设置,语言设置,分区设置等);Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动化;但是配置中如果忽略任何必需的项目,安装程序会提示用户输入相关的项目的选择,就象用户在典型的安装过程中所遇到的一样。一旦用户进行了选择,安装会以非交互的方式(unattended)继续。

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

 

 

 

二、pxe自动安装linux 案例

案例拓扑:

利用kickstart实现pxe的自动化安装

案例要求:

要求使用kickstart 和 pxe并利用dhcp 、ftp、tftp、yum 服务器 自动化安装linux,安装过后更改主机名为station+ip地址最后一字节数字+a.com;   并将第一次获得的ip 地址作为其静态ip地址。

 

配置步骤:

    本案例需要安装的服务器有:

           FTP  服务器:用来存放系统安装源文件;

          DHCP服务器:用来为客户机分配地址;

          TFTP服务器:用来存放pxe的驱动和配置;

          YUM 服务器:kickstart的配置时的数据包选择以及软件的安装;

 

配置本地yum 服务器:

复制/etc/yum.repos.d/rhel-debuginfo.repo  文件为 server.repo

 利用kickstart实现pxe的自动化安装 

编辑server.repo,并新建Server,Cluster,ClusterStorage,VT仓库

 利用kickstart实现pxe的自动化安装

新建挂载点,挂载光驱

 利用kickstart实现pxe的自动化安装

测试yum安装是否正确

利用kickstart实现pxe的自动化安装  利用kickstart实现pxe的自动化安装

 

安装vsftpd 服务 

 利用kickstart实现pxe的自动化安装

 利用kickstart实现pxe的自动化安装

安装DHCP服务

利用kickstart实现pxe的自动化安装

 利用kickstart实现pxe的自动化安装

修改dhcp的配置文件

 利用kickstart实现pxe的自动化安装

该文件默认为空,需将模本文件内容拷贝到该文件

 利用kickstart实现pxe的自动化安装

 利用kickstart实现pxe的自动化安装

新建作用域,10.106.108.0

 利用kickstart实现pxe的自动化安装

安装TFTP服务

查看TFTP是否已经安装

 利用kickstart实现pxe的自动化安装

查看tftp-server安装位置

 利用kickstart实现pxe的自动化安装

修改tftp配置文件

 利用kickstart实现pxe的自动化安装

 利用kickstart实现pxe的自动化安装

重新启动tftp服务,由于tftp为依赖超级守护进程的进程,所以要启动xinetd

利用kickstart实现pxe的自动化安装

四个服务安装完毕,将其设置为开机自启动,其中tftp依赖超级守护进程,自动启动

 利用kickstart实现pxe的自动化安装

拷贝光盘的系统文件到ftp目录/var/ftp/pub下

利用kickstart实现pxe的自动化安装      

客户机要从tftp服务器上下载配置和驱动,位置在  /tftpboot 下,但默认为空,需从其他位置拷贝驱动和文件

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

 利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

为pxe新建目录 pxelinux.cfg

 利用kickstart实现pxe的自动化安装

拷贝安装时的提示文件isolinuxcfg到pxelinux.cfg目录下,并改名为default

利用kickstart实现pxe的自动化安装   利用kickstart实现pxe的自动化安装

下面安装 system-config-kickstart,用来产生ks.cfg文件

利用kickstart实现pxe的自动化安装

启动kickstart

利用kickstart实现pxe的自动化安装

配置kickstart(只有在yum配置正确的情况下才能显示) :

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

 

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

更改主机名为pc+ip地址最后一字节数字; 并将第一次获得的ip 地址作为其静态ip地址例如:pc-101。

 

利用kickstart实现pxe的自动化安装

将kickstart生成的ks.cfg文件复制到ftp目录下,以便于网络安装。

 

利用kickstart实现pxe的自动化安装

修改ks.cfg文件,使其安装时省去输入串号

 

利用kickstart实现pxe的自动化安装

安装时会提示输入串号,在ks.cfg文件中插入key  --skip 可省略输入串号。

 

利用kickstart实现pxe的自动化安装

编辑/etc/dhcpd.conf,next-server:指明tftp服务器的ip地址;filename:pxe的驱动文件

利用kickstart实现pxe的自动化安装

 

利用kickstart实现pxe的自动化安装

编辑default文件(原名为pxelinux.cfg),指出ks.cfg文件的位置和出口网卡。

利用kickstart实现pxe的自动化安装 

利用kickstart实现pxe的自动化安装

修改超时时间,默认为600秒

利用kickstart实现pxe的自动化安装

 

配置完毕,下面测试无人值守安装linux,不用光驱,不用本地引导。

 

 

 

 

三、测试

 

利用kickstart实现pxe的自动化安装

 

 

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

利用kickstart实现pxe的自动化安装

 

登录后,机器名为pc-100,ip地址最后一字节也为100

利用kickstart实现pxe的自动化安装

查看主机名:

利用kickstart实现pxe的自动化安装

查看/etc/sysconf/network-scripts/ifcfg-eth0文件,已将动态获得IP更改为静态ip

利用kickstart实现pxe的自动化安装

 

 

 

 

附:本案例中用到的后安装shell

#!/bin/bash
var=`ifconfig eth0 |grep -i bcast |awk '{print $2}'`
NUM=`echo ${var##*.}`
sed -i "s/HOSTNAME.*$/HOSTNAME=pc-$NUM/" /etc/sysconfig/network
STATICIP=`echo $var|awk -F ":" '{print $2}'`
sed -i "s/BOOTPROTO.*$/BOOTPROTO=static/" /etc/sysconfig/network-scripts/ifcfg-eth0
echo "IPADDR=$STATICIP" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo "NETMASK=255.255.255.0" >> /etc/sysconfig/network-scripts/ifcfg-eth0