Kickstart实现自动化部署系统

通过kickstart+vsftp+TFTP+dhcp实现客户机的自动安装;
  1. 配置DHCP服务

(1)DHCP服务用于客户端主机分配IP地址的,而且这是服务器与客户端主机进行文件传输的基础,因此我们先配置DHCP服务,具体参数见下表:

主机名名称

操作系统

IP地址

HJM1

RHEL6.5

172.25.0.21

客户端主机

未安装操作系统


(2)关闭防火墙和Selinux,并且设置为开始自动关闭,然后重启机器,具体操作如下:

[ ~]# /etc/init.d/iptables stop

[~]# chkconfig iptables off

[ ~]# vim /etc/selinux/config
Kickstart实现自动化部署系统

(3)先把网卡的本地的的DHCP关闭,进入编辑à虚拟网络编辑器à点击这台虚拟机需要的网卡à取消使用本地DHCP服务将IP地址分配给虚拟机,配置如下:
Kickstart实现自动化部署系统

(4)挂载好光盘镜像并把Yum仓库文件配置好之后,安装DHCP服务,然后编辑配置文件,添加运行bootp引导,这个作用是让局域网内暂时没有操作系统的主机也能获取到静态IP地址;支持pxe启动,然后在配置文件的下面加载引导驱动文件pxelinx.0,这个的目的是为了让客户端自动获取IP地址之后主动去引导驱动文件,自行进入下一步的安装。具体操作如下:

[ 桌面]# yum install -y dhcp

[ dhcp]# rpm -qa | grep dhcp

dhcp-common-4.1.1-38.P1.el6.x86_64

dhcp-4.1.1-38.P1.el6.x86_64

[ dhcp]#

[ dhcp]# vim /etc/dhcp/dhcpd.conf
Kickstart实现自动化部署系统

[dhcp]# service dhcpd start

正在启动 dhcpd: [确定]

[ dhcp]# service dhcpd restart

关闭 dhcpd: [确定]

正在启动 dhcpd: [确定]

[ dhcp]# chkconfig dhcpd on

[ dhcp]#

  1. 配置TFTP服务

(1)首先,安装tftp服务器,然后编辑/etc/xinetd/tftp配置文件,将disable=yes改为no,然后把启动文件/cdrom/isolinux/* ,复制到tftp的默认路径下(/var/lib/tftpboot),在将启动配置也复制到tftp的默认路径,然后在创建一个启动界面的条目配置目录

然后保存退出。操作如下:

[ dhcp]# yum install -y tftp-server

[ dhcp]# vim /etc/xinetd.d/tftp
Kickstart实现自动化部署系统

[ dhcp]# chkconfig xinetd on

[ dhcp]# service xinetd restart

停止 xinetd: [确定]

正在启动 xinetd: [确定]

[ dhcp]#mount /dev/sr0 /cdrom

[ ~]# cp /cdrom/isolinux/* /var/lib/tftpboot/

  1. 配置sysLinux服务

(1)Syslinux是一个用于提供引导加载的服务程序,在安装好的syslinux服务中,在/usr/share/syslinux目录下会出现好多引导文件,我们要把syslinux提供的引导文件复制到TFTP服务程序的默认目录中/var/lib/tftpboot,也就是pxelinux.0,这样客户端就能够顺利的获取引导文件,然后把光盘镜像中自带的一些引导文件也复制到TFTP服务的目录中,具体操作如下:

[ dhcp]# yum install -y syslinux #安装selinux

[ dhcp]# rpm -qa | grep syslinux #查询软件包

syslinux-4.02-8.el6.x86_64

[ ~]# rpm -ql syslinux | grep pxelinux.0

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

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

[~]#mkdir /var/lib/tftpboot/pxelinux.cfg

[~]#cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/

[ ~]# cd /var/lib/tftpboot/pxelinux.cfg/

[ pxelinux.cfg]# mv isolinux.cfg default

[ pxelinux.cfg]# vim default

Kickstart实现自动化部署系统

  1. 配置vsftp服务

(1)我们是通过FTP协议来传输的,因此要用到vsftpd服务程序,当然也可以使用httpd服务来提供web网站访问的方式,只要能确保光盘镜像顺利传输给客户主机即可,如果使用的是web网站来提供光盘镜像的,一定要将上面的配置文件中的光盘镜像获取的网站和kickstart应答文件获取网站修改以下,我们这里是使用vsftpd服务来传输的,安装好之后,设置重新启动,然后设置为开机自动启动就行,具体如下:

[ ~]# yum install -y vsftpd

[ ~]# service vsftpd start

为 vsftpd 启动 vsftpd: [确定]

[ ~]# service vsftpd restart

关闭 vsftpd: [确定]

为 vsftpd 启动 vsftpd: [确定]

[ ~]#chkconfig vsftpd on

[ ~]#mkdir /var/ftp/pub/rhel6

[ vsftpd]# mount /dev/sr0 /var/ftp/pub/rhel6/

  1. 创建Kickstart应答文件

我们是使用EXE+kickstart无人安装系统服务,所以我们在传输好光盘镜像之后,还能让客户机自动安装,既就是在安装的过程中,帮我们自动点击安装过程中出现的选项和参数。这个文件就是kickstart文件,就是位于根目录下的anaconda-ks.cfg文件,因此我们要需要做的一件事就是,就服务器(HJM1)中的的应答文件通过ftp服务传输给客户机,及把anaconda-ks.cfg文件复制到FTP的默认目录下(/var/ftp/pub),然后在修改以下文件的的权限,确保所有人都具有可读的权限,最后在修改一下配置文件的参数即可,修改文件这里有两种方法,一是直接编辑文件,在修改其参数,二是通过yum安装system-config-kickstart软件,这个是一款图形化的kickstart应答文件生成工具,可以根据自己的需要生成自定义的应答文件,然后把生成的文件命令文ks.cfg,并放置在/var/ftp/pub/ks目录下,我们这里选择自定义生成一个应答文件,具体操作如下:

[ ~]# yum install -y system-config-kickstart

[ pxelinux.cfg]#mkdir /var/ftp/pub/

[ ~]# system-config-kickstart

(1)基本配置,可以填写默认的语言、键盘的方式和时区等,这里根口令必须要填写,如下:
Kickstart实现自动化部署系统

(2)填写安装的方法,我们这里选择ftp来安装,然后填写其IP和目录,如下:
Kickstart实现自动化部署系统

(3)引导安装程序选项,默认即可:
Kickstart实现自动化部署系统

(4)分区信息,主引导记录选择清楚引导记录,磁盘标签选择初始磁盘标签,不然安装时回报内存不足的错误,操作如下:
Kickstart实现自动化部署系统

(5)网络配置,à添加网络设备à网络设备(eth0)à确定,如下:
Kickstart实现自动化部署系统

(6)验证,默认即可,如下:
Kickstart实现自动化部署系统

(7)防火墙配置,默认,如下:
Kickstart实现自动化部署系统

(8)显示配置默认,如下:
Kickstart实现自动化部署系统

(9)软件包的安装,这里桌面那里都要安装,基本型那里需要安装几个基本的,其余的看需求,有需要就安装,剩下两个脚本的可以不需要填写,如下:
Kickstart实现自动化部署系统

(10)点击左上角的文件à保存à名称(和上面的对应ks.cfg)à选择对应的位置à保存,如下:
Kickstart实现自动化部署系统

实验结果
Kickstart实现自动化部署系统

技术交流欢迎加入Q群:177428068