Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart无人值守批量安装

我们知道RH中的Kickstart可以实现RedHat光盘启动后的自动安装,如果把 ks.cfg及RPM安装文件考到一台HTTP或NFS服务器上,就可以实现网络自动安装,但还是需要RedHat的启动盘来启动机器,但加上DHCP、 TFTP和PXElinux及支持PXE的网卡,噢,那就可以实现远程启动了。也就是说,有了上面的条件,你只要给一台支持PXE的客户机上电,然后再打 入一个设置好的命令就可以安装好一RedHat台机器了。
实现上面安装的过程是这样的:PXE网卡启动------DHCP服务器------获得IP------从TFTP上下载pxelinux.0、vmlinuz、initrd------启动系统------通过PEXlinux去HTTP下载ks.cfg文件-----跟据ks.cfg去HTTP下载RPM包及安装系统------完成安装。

下面的教程我们主要的工作目录在/tftpboot/目录里,/tftpboot/目录里是光盘安装包,可以将光盘内容全部复制到这里,也可以直接挂载到pub目录.
基本介绍:
linux下的网络批量无人值守安装linux操作系统。
所有系统的网络安装和无人职守安装都是基于PXE的,当然linux下的无人职守安装也是基于 PXE(Preboot Execution Environment,远程引导技术)技术.同于依耐大量linux服务,最主要的服务包 括,kickstart(通过预先设置的脚本,按要求安装系统),dhcpd(很重要,负责pxe启动,还有定义tftp服务器地址kickstart文 件位置),nfs、yum、vsftp(为安装提供安装介质),tftp(pxe启动文件传输的通道),dns(如果需要给新安装的机器设置主机名就需 要)。
PXE是在没有软驱、硬盘、CD-ROM的情况下引导计算机的一种方式,也就是BIOS将使用PXE协议从网卡引导,是解决老笔记本(光驱读盘能力差)和上网本、小本安装linux的有效办法。
原理:
1、pxe启动,就去广播寻找dhcp服务器获取ip地址pxelinux.0文件
2、client通过tftp连接到服务器,下载pxelinux.0文件。
3、client下载成功pxelinux.0文件后,系统还会下载控制pxelinux.0的配置文件,叫default。然后client就会按照default的配置来执行pxelinux.0文件。
4、现在client端会在获取一次IP地址。并且根据DHCP服务器配置文件找到kickstart配置文件(ks.cfg)并下载。也是使用的tftp协议。
5、pxelinux.0文件定义的想服务器请求linux内核,根文件系统之类的参数。运行这个文件,client就会向服务器请求相关的文件并下载,都里使用的都是tftp协议。
6、文件下载成功后,client就会启动linux内核,这就进入了我们安装时候看见的第一个图形界面,这个界面和自己安装看见的第一个画面一 样,回车就是图形安装,输入text就是文本安装那里。如果使用了kickstart,这个界面消失很快,可能看不见。到这里PXE启动就完成了。
7、下面就该主角kickstart出场了。其实kickstart在第四步已经出现了,当按照default要求运行pxelinux.0文件, 系统读取内核,挂在根文件系统以后的任务就都交给了kickstart了。包括安装介质来源、语言、时区、分区、安装哪些包等,都是在 kickstart文件中定义。只要进入这一步,kickstart配置文件正确,我们的无人值守安装已经成功了。
注意安装过程上用到一的些文件的pxelinux.0,default,ks.cfg.工具为tftp
整个过程都是通过TFTP传输数据 端口号69.
说明:这里只是用了一个配置文件ks.cfg,并让系统自动选择了这个配置文件,如果手动指定这个文件的话,则可以实现安装多种不同的操作系统的.只要在客户端指定不同的ks.cfg文件即可.

一.       环境搭建
1
、一台red hat enterprise 5.4Vmare server担任启动服务器和安装服务器,并安装kickstart服务,ip地址为192.168.10.10
2
、两台机器在同一局域网
3
、一台client,需要能从网卡启动.将自动从dhcp里随机获取ip.

二.         配置本地YUM库

# vim /etc/yum.repos.d/rhel-debuginfo.repo

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装

#mkdir /media/cdrom
#mount /dev/cdrom /media/cdrom
#yum clean all

三.         安装所需软件(tftp系统是默认已经安装了) Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_02

已经安装完成

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_03

三、DHCP的配置

#cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

#vim /etc/dhcpd.conf

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_04

#service dhcpd start //启动DHCP。如果有错就查看日志/var/log/messages

四、tftp配置

#vim /etc/xinetd.d/tftp

disable 设置为 no

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_05

#service xinetd restart //重启tftp

建立/tftpboot这个目录
#mkdir /tftpboot     //默认情况下系统已经建立,如果没有手动建立
#chmod 777 /tftpboot //
挂载linux安装dvd光盘iso文件到/media/cdrom,从安装盘上复制一些必要的文件到/tftpboot/目录
#mount /dev/cdrom /media/cdrom

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

#mkdir /tftpboot/pxelinux.cfg

# cp /media/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
# cp /media/cdrom/p_w_picpaths/pxeboot/initrd.img /tftpboot/
# cp /media/cdrom/p_w_picpaths/pxeboot/vmlinuz /tftpboot/

修改/tftpboot/pxelinux.cfg/default文件

#chmod u+w /tftpboot/pxelinux.cfg/default //修改写入权限

# vim /tftpboot/pxelinux.cfg/default

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_06

Timeout 改为10

kernel vmlinuz
append initrd=initrd.img 
增加ks=ftp://192.168.10.10/ks.cfg 

五、kickstart配置文件的生成
在终端的图形化界面输入:system-config-kickstart
如下图:

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_07

然后再配置:
基本设置

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_08

安装方法

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_09

分区信息

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_10

网络设置

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_11

防火墙配置

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_12

软件包设置

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_13

然后单击“文件——保存文件”单击“保存”

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_14

修改新生成的ks.cfg文件:我们没有配置安装的软件包,因为安装时没有安装序列号。
#vim ks.cfg

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_15

cp ks.cfg /var/ftp/        // /var/ftp 目录是VSFTP服务的根目录

dvd挂的iso文件拷贝到pub目录里

#cp -rf /media/cdrom/* /var/ftp/pub/

七.重启服务
#service dhcpd restart
#service vsftpd restrt
#service xinetd restart
#service iptables stop
注意要把Vmware 的DHCP关了,否则客户机获取不到IP地址

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_16

八、测试kickstart
如果用的是vmware的话,需要创建一个私有的网络的,网卡设置为VMnet1

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_17

1)    自动从dhcp服务器里获取ip地址

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_18

2)    开始根据ks.cfg文件的配置内容安装一些软件

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_19

 

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_20

 

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_21

安装完成后自动重启

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_22

 

 Red hat enterprise 5 +vsftp+tftp+dhcp+kickstart人值守安装_linux 无人自动安装_23

到此为止整个实验已经完成。