一、kickstart无人值守安装服务

基于pxe(preboot execute environment)技术,是intel公司的技术,工作server/client的网络模式,支持客户端从服务端下载软件,再使用tftp(trival file tranfer protocol) 协议下载一个启动软件包到客户端内存中执行。

二、涉及到的技术和服务

(1)nfs服务器、http服务器、ftp服务器三种中的任何一种

(2)tftp服务器

(3)dhcp服务器

(4)DNS服务器 (可以省略这一步)

(5)kickstart服务,此服务是生成ks.cfg配置文件

如果满足来上面(1)到(4)点就可以做到手动安装系统的服务器,如果再加上(5)就可以实现无人值守自动安装系统。


一般安装完一台linux机器之后,在/root/目录下都会存在一个anaconda-ks.cfg的文件,此文件就是记录来这台linux机器在安装的过程中具体安装的服务、软件等信息。

[root@mysql ~]# ls
abc.xpm  anaconda-ks.cfg  install.log
install.log.syslog

三、服务器的配置

----------以下各项服务nfs、tftp、dhcp、dns等服务都是在同一台计算机上实现,如果想要在不同的计算机上实现,可以根据配置进行修改即可-------------

1、安装各项服务nfs、tftp、dhcp、dns等

[root@root ~]# yum install nfs* tftp* dhcp* bind* -y

2、搭建安装源,即共享ISO镜像

[root@root ~]# mount -o loop /share/iso/rhel-server-6.3-x86_64-dvd.iso /mnt/iso
[root@root ~]# cp -rf /mnt/iso/* /yum/    <--这里我把光盘文件拷贝到/yum目录。
[root@root ~]# vim /etc/exports
        /yum *(ro)        <--加上这句把光盘文件以只读方式共享,“*”星号表示允许任何IP访问。

3、启动服务使之生效

[root@root ~]# /etc/init.d/nfs restart
或者
[root@root ~]# exportfs -arv

4、配置tftp服务器

[root@root ~]# vim /etc/xinetd.d/tftp
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -t -s -v /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

5、启动超级守护进程并且查看是否文件是否生效

[root@root ~]# /etc/init.d/xinetd restart
[root@root ~]# lsof  -i:69
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               3792/xinetd

6、配置pxe启动文件

[root@root ~]# yum install sysrootnux -y
[root@root ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@root ~]# cp /yum/isorootnux/* /var/lib/tftpboot/
[root@root ~]# mkdir /var/lib/tftpboot/pxerootnux.cfg
[root@root ~]# cp /yum/isorootnux/isorootnux.cfg /var/lib/tftpboot/pxerootnux.cfg/default
[root@root ~]# vim /var/lib/tftpboot/pxerootnux.cfg/default            <--修改这个配置文件,加上下面的三行
label rootnuxroot    <--label后面是无人值守安装的一个安装名称,自定义。
  kernel vmrootnuz
  append initrd=initrd.img ks=nfs:172.16.151:/yum/ks/ks.cfg  --我们这里是用的nfs服务,所以定义ks文件的路径后面要写nfs:,这里的IP地址是服务器的IP地址,最后写的是ks文件的路径
[root@root ~]# mkdir /yum/ks   <----此目录是存放ks.cfg文件

7、搭建DHCP服务器

[root@root ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf    <--拷贝DHCP模版配置文件
[root@root ~]# vim /etc/dhcpd.conf   <--vim修改配置文件
ddns-update-style interim;
ignore crootent-updates;
<--下面是手动加的------->
next-server 172.16.2.151;    --指定tftp服务IP
filename "/tftpboot/pxerootnux.0"; --指定pxe文件
allow bootp;
allow booting;
subnet 172.16.2.0 netmask 255.255.255.0 {    <--DHCP服务器要分配IP的网段
        option routers                  172.16.2.151;  <--客户端通过dhcp获取的网关IP
        option subnet-mask              255.255.255.0;
        option domain-name-servers      172.16.2.151;  <--客户端的dns服务器IP
       option time-offset              -18000;
        range dynamic-bootp 172.16.2.128 172.16.2.254;  <--DHCP给客户端分配的IP段范围
        option broadcast-address 172.16.2.255;
        default-lease-time 21600;
        max-lease-time 43200;
}
-----上面的IP地址、IP范围等信息可以根据自己所在实际情况进行修改即可-----
[root@root ~]# /etc/init.d/dhcpd restart
--做到这里,就实现了安装服务器了(非自动安装服务器)

8、搭建DNS服务器(此步骤可以省略)

[root@root ~]# vim /var/named/chroot/etc/named.conf
options {
        directory "/var/named";
};
zone "kickstart.com" IN {
        type master;
        file "data/master.kickstart.com.zone";
};
[root@root ~]# vim /var/named/chroot/var/named/data/master.kickstart.com.zone
$TTL 3600
@       IN      SOA     kickstart.      root.   (
                        2013111601
                        30
                        60
                        90
                        3600   )
@        IN      NS      www.kickstart.com.
www        IN      A       172.16.2.151
[root@root ~]# /etc/init.d/named restart

9、安装kickstart

[root@root ~]# yum install system-config-kickstart     <--安装kickstart的图形配置工具

10、配置kickstart,然后保存到/yum/ks/目录中。直接上图说明

RHEL6服务器kickstart无人值守安装服务_kickstart

RHEL6服务器kickstart无人值守安装服务_RHEL6配置kickstart_02

RHEL6服务器kickstart无人值守安装服务_网络安装系统_03

RHEL6服务器kickstart无人值守安装服务_kickstart_04

RHEL6服务器kickstart无人值守安装服务_kickstart_05

RHEL6服务器kickstart无人值守安装服务_网络安装系统_06

RHEL6服务器kickstart无人值守安装服务_网络安装系统_07

RHEL6服务器kickstart无人值守安装服务_网络安装系统_08

RHEL6服务器kickstart无人值守安装服务_kickstart_09

RHEL6服务器kickstart无人值守安装服务_kickstart_10

RHEL6服务器kickstart无人值守安装服务_kickstart_11

RHEL6服务器kickstart无人值守安装服务_kickstart_12


11、编辑ks.cfg,添加跳过序列号的代码

# vim /yum/ks/ks.cfg
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  --useshadow  --enablemd5
key --skip    <--加上这一句,表示跳过安装码
# System bootloader configuration
bootloader --append="rhgb quiet" --location=mbr
................(省略其他代码)


12、启动所有的服务nfs、tftp、dhcp、dns等服务,然后让局域网中的其他计算机在BIOS 中设置通过网络启动即可进行网络安装系统。