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
#mkdir /media/cdrom
#mount /dev/cdrom /media/cdrom
#yum clean all
三. 安装所需软件(tftp系统是默认已经安装了)
已经安装完成
三、
DHCP
的配置
#cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
#vim /etc/dhcpd.conf
#service dhcpd start //启动DHCP。如果有错就查看日志/var/log/messages
四、tftp配置
#vim /etc/xinetd.d/tftp
将
disable 设置为 no
#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/images/pxeboot/initrd.img /tftpboot/
# cp /media/cdrom/images/pxeboot/vmlinuz /tftpboot/
修改
/tftpboot/pxelinux.cfg/default
文件
#chmod u+w /tftpboot/pxelinux.cfg/default //修改写入权限
# vim /tftpboot/pxelinux.cfg/default
Timeout 改为
10
kernel vmlinuz
append initrd=initrd.img 增加ks=ftp://192.168.10.10/ks.cfg
五、
kickstart
配置文件的生成
在终端的图形化界面输入
:system-config-kickstart
如下图:
然后再配置:
基本设置
安装方法
分区信息
网络设置
防火墙配置
软件包设置
然后单击“文件——保存文件”单击“保存”
修改新生成的
ks.cfg
文件:我们没有配置安装的软件包,因为安装时没有安装序列号。
#vim ks.cfg
# 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地址
八、测试kickstart
如果用的是vmware的话,需要创建一个私有的网络的,网卡设置为VMnet1
1) 自动从dhcp服务器里获取ip地址
2) 开始根据ks.cfg文件的配置内容安装一些软件
安装完成后自动重启
到此为止整个实验已经完成。