Kickstart实现自动化部署系统
- 配置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
(3)先把网卡的本地的的DHCP关闭,进入编辑à虚拟网络编辑器à点击这台虚拟机需要的网卡à取消使用本地DHCP服务将IP地址分配给虚拟机,配置如下:
(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
[dhcp]# service dhcpd start
正在启动 dhcpd: [确定]
[ dhcp]# service dhcpd restart
关闭 dhcpd: [确定]
正在启动 dhcpd: [确定]
[ dhcp]# chkconfig dhcpd on
[ dhcp]#
- 配置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
[ dhcp]# chkconfig xinetd on
[ dhcp]# service xinetd restart
停止 xinetd: [确定]
正在启动 xinetd: [确定]
[ dhcp]#mount /dev/sr0 /cdrom
[ ~]# cp /cdrom/isolinux/* /var/lib/tftpboot/
- 配置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
- 配置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/
- 创建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)基本配置,可以填写默认的语言、键盘的方式和时区等,这里根口令必须要填写,如下:
(2)填写安装的方法,我们这里选择ftp来安装,然后填写其IP和目录,如下:
(3)引导安装程序选项,默认即可:
(4)分区信息,主引导记录选择清楚引导记录,磁盘标签选择初始磁盘标签,不然安装时回报内存不足的错误,操作如下:
(5)网络配置,à添加网络设备à网络设备(eth0)à确定,如下:
(6)验证,默认即可,如下:
(7)防火墙配置,默认,如下:
(8)显示配置默认,如下:
(9)软件包的安装,这里桌面那里都要安装,基本型那里需要安装几个基本的,其余的看需求,有需要就安装,剩下两个脚本的可以不需要填写,如下:
(10)点击左上角的文件à保存à名称(和上面的对应ks.cfg)à选择对应的位置à保存,如下:
实验结果
技术交流欢迎加入Q群:177428068