L'E

言必虑其所终!

导航

kickstart自动安装部署RHEL7

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

系统环境

实验环境:VMware Workstation 12

系统平台:RHEL7.*

网络模式:LAN区段

DHCP / TFTP IP:192.168.135.150      #根据自己实际情况配置

HTTP / FTP / NFS IP:192.168.135.150

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

注意:VMware Workstation使用NTP时,要把NTP的DHCP功能去掉

 

前期准备

所需要用到的服务:DHCP、TFTP、HTTP(FTP太慢,所以我用了HTTP)

配置yum仓库,挂载光盘镜像

#vim /etc/yum.repos.d/rhel7.repo

[rhel7]

name=rhel7

basurel=file:///mnt

enabled=1

gpgcheck=0

将光盘挂载到/mnt中

#mount /dev/cdrom /mnt

 

配置DHCP

安装DHCP服务

# yum -y install dhcp

修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

subnet 192.168.135.0 netmask 255.255.255.0 {          #所属网段及掩码; 

range 192.168.135.100 192.168.135.120;                    #IP地址池范围; 

option domain-name "test.com";

option routers 192.168.135.2;                                  #路由器IP,可以写网关IP; 

option broadcast-address 192.168.135.255;

next-server 192.168.135.130;                              #TFTP Server 的IP地址;

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

default-lease-time 600;

max-lease-time 7200;

}

            ##也可以根据[root@occl ~]# rpm -ql dhcp | grep example

                          /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example    ##此模板下内容来修改

启动DHCP服务

#systemctl enable dhcpd.service

#systemctl start dhcpd.service

 

配置TFTP

yum -y install tftp-server

#需要xinetd,如果没有安装的话也要安装

修改/etc/xinetd.d/tftp配置文件,内容如下:

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no    ##把这写成no即可;
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

启动xinetd服务

#systemctl enable xinetd.service

#systemctl start xinetd.service

 

配置PXE启动所需要的文件

#yum -y install syslinux

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

拷贝启动文件到/var/lib/tftpboot里

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

cd /mnt/images/pxeboot

#cp -rf initrd.img vmlinuz  /var/lib/tftpboot/

#mkdir /var/lib/tftpboot/pxelinux.cfg

#cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

#chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

####cp /mnt/isolinux/boot.msg /var/lib/tftpboot/
####chmod u+w /var/lib/tftpboot/boot.msg

修改default文件

[root@occl pxelinux.cfg]# vim default

 default linux
timeout 600

display boot.msg

# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title Red Hat Enterprise Linux 7.2
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13

###中间省略部分,找到下面一行修改一下红色部分

label linux
  menu label ^Install Red Hat Enterprise Linux 7.2
  kernel vmlinuz
  append initrd=initrd.img inst.ks=http://192.168.135.150/ks.cfg quiet             #这个地址根据自己的实际情况;ks.cfg这个文件后面会配置

保存退出

 

检查

[root@occl tftpboot]# pwd
/var/lib/tftpboot
[root@occl tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz boot.msg

[root@occl tftpboot]# cd pxelinux.cfg/
[root@occl pxelinux.cfg]# ls
default

 

配置HTTP

yum -y install httpd

创建iso文件夹目录,用来存放光盘软件包

#mkdir /var/www/html/iso

拷贝光盘中所有文件到iso文件夹中

#cp -rf /mnt/* /var/www/html/iso/

修改/etc/httpd/conf/httpd.conf 下添加:

<Directory "/var/www/html/iso">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

systemclt start httpd.service

systemclt enable httpd.service

 

生成ks.cfg 文件

ks.cfg是kickstart安装配置文件,系统就是按照ks.cfg来安装的。我们将在后面配置

安装Kickstart

#yum -y install system-config-kickstart

在桌面环境下配置Kickstart

#system-config-kickstart

后面几项不用管,直接保存

保存在/root/下,后缀不要动

root目录下有个anaconda-ks.cfg文件,我们进去把安装软件脚本拷贝到咱们刚才创建的那个ks.cfg中

#vim /root/anaconda-ks.cfg

........

%packages

@base

@core

@desktop-debugging

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@input-methods

@internet-browser

@kde-desktop

@multimedia

@print-client

@x11

%end

把anaconda-ks.cfg文件最下方的%packages与%end之间的内容粘贴到咱们的ks.cfg中

#vim /root/ks.cfg

把上面一串@的所有内容都粘贴进去,包括两个%哪行。

把ks文件拷贝到/var/www/html/里面

#cp /root/ks.cfg /var/www/html/

[root@occl html]# ls
iso  ks.cfg

 

检查防火墙及SElinux等其他服务是否配置好

检查SELinux是否关闭

#setenforce 0    //关闭SELinux

检查防火墙,开放dhcp,ftp,tftp服务,或者关闭防火墙

检查所有服务是否正常启动

#systemctl is-active dhcpd

#systemctl is-active vsftpd

返回结果都是“active”

#netstat -tulnp | grep :69

udp        0      0 0.0.0.0:69              0.0.0.0:*          

 

确保default文件和ks.cfg文件配置正确。

 

 

这样基本就配置完成了,试验一下吧。

 

posted on 2016-01-03 16:58  L'E  阅读(1107)  评论(0编辑  收藏  举报