转载请注明本文来源: http://blog.haohtml.com/archives/11341
我们知道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、一台server担任启动服务器和安装服务器,并安装kickstart服务,ip地址为192.168.0.1
2、两台机器在同一局域网
3、一台client,需要能从网卡启动.将自动从dhcp里随机获取ip.
注意:如果在vmware下测试的话,硬盘要选择IDE接口的硬盘,如果选择SCSI硬盘的话会出错.
二、安装Kickstart所需的包
[root@localhost ~]# yum -y install vsftpd*
[root@localhost ~]# yum -y install dhcp*
[root@localhost ~]# yum -y install tftp*
[root@localhost ~]# yum -y install create* 创建yum仓库所用的包
[root@localhost ~]# yum -y install system-config-kickstart
三、DHCP的配置
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.1;
option time-offset -18000;
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.254;
filename "pxelinux.0";
next-server 192.168.0.1;
}
[root@localhost ~]#service dhcpd start
[root@localhost ~]#chkconfig dhcpd on
四、tftp的配置