配置kickstat文件,使用网络安装方法,将不同系统的系统安装文件分别共享(不同的源)。原理图:

 

 

 

网络拓扑:

 

 

 

 

服务器的地址为192.168.0.1。

配置步骤:

 

      需要的服务:DHCP服务,tftp服务,NFS服务.

   安装软件包:

安装需要的软件包:

      nfs-utils-lib-*

nfs-utils- *

xinetd-*     tftp的依赖包

tftp-server-*

dhcp-*

dhcp-devel-*

createrepo

system-config-kickstart-*

syslinux

这些软件包都光盘上或者镜像上 

  重启服务:安装好dhcp 和tftp,nfs的软件包后,将其设置开机自启动,并重启这些服务。

 service dhcpd start

   chkconfig dhcpd on

#启动dhcpd服务并开机自动启动

    service nfs restart

chkconfig nfs on

#重启nfs服务并开机自动启动

   service xinetd start

   chkconfig xinetd on 

#启动xinetd服务并开机自动启动

 

       配置DHCP服务

a)    复制/usr/shar/doc/dhcp-3.0.5/dhcp.conf.sample到/etc/dhcpd.conf

b)    然后编辑/etc/dhcpd.conf 使其为以下格式

ddns-update-style none;

ignore client-updates;

 

subnet 192.168.0.0 netmask 255.255.255.0 {

    option routers 192.168.0.1;

        option subnet-mask 255.255.255.0;

option domain-name “example.com”;

option domain-name-servers 192.168.0.1;

    default-lease-time 21600;

    max-lease-time 43200;

    range  192.168.0.100 192.168.0.200; 网络安装的地址池

    filename “/kickstat/ks.cfg”;

    next-server 192.168.0.1;

}

option space PXE;

class “PXE” {

    match if substring(option vendor-class-identifier, 0, 9) = “PXEClient”;

    option vendor-encapsulated-options 01:04:00:00:00:00:ff;

    option boot-size 0x1;

    filename “pxelinux.0”;

    option tftp-server-name “192.168.0.1”;

    option vendor-class-identifier “PXEClient”;

    vendor-option-space PXE;

}

 

      配置tftp服务

a)    编辑/etc/xinetd.d/tftp文件,将里面的disable字段值改为no。

b)    在安装tftp后系统会自动生成一个/tftpboot的目录,用来存放的东西是最重要的。

c)    使用cp将/usr/lib/syslinux/下的pxelinux.0复制到 /tftpboot

        或者是/usr/share/syslinux/pxelinux.0  复制到 /tftpboot

在/usr/lib/syslinux/存在的肯定是5.4系统pxelinux.0 了  因为pxelinux.0是pxe方式的boot loader,这里只要和dhcpd.conf中定义的pxelinux.0是一致的亦可以了,只是网络安装罢了。

d)    然后将每个光盘中的/p_w_picpaths/pxeboot/vmlinuz和initrd.img复制到/tftpboot下对应的目录下,因为系统比较多,我为每个系统建立了一个文件夹,具体的应该是下面这种情况的:

   cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img  /tftpboot/rh4.6/

   cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img  /tftpboot/rh5.4/

   cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img  /tftpboot/rh5.4_64/

   cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img  /tftpboot/rh6.0/

 

 

  同样的方法复制每个系统光盘中的vmlinuz,到/tftpboot/下的对应目录下

e)    复制boot.msg文件:我的服务器的系统为RHEL5.4,所以我将5.4光盘下的/isolinux下的文件除了vmlinuz和initrd.img,全部复制到/tftpboot下的rh5.4目录里,目的很简单,只是想要它的引导文件罢了。

f)    在tftpboot中新建一个pxelinux.cfg目录

mkdir /tftpboot/pxelinux.cfg

cp 镜像里存放位置的isolinux/下的isolinux.cfg  到/tftpboot/pxelinux.cfg文件夹并重命名为default

然后就是编辑这个default文件了,最下面写要启动的内核文件等:

 

label 4.6

  kernel  rh4.6/vmlinuz

 append ksdevice=eth0 load_ramdisk=1 initrd=rh4.6/initrd.img ks=nfs:192.168.0.1:/kickstat/ks4.cfg noipv6

这里做个解释吧,

1. vmlinuz和initrd.img一定要和实际的目录一致

2.   ksdevice=eth0 指定使用的网卡

3.   ks=nfs:192.168.0.1:/kickstat/ks4.cfg 一定要注意和实际的kickstat文件一致,不能有半点差错。

       同理写出其他系统的

Label 5.4

  kernel  rh5.4/vmlinuz

 append ksdevice=eth0 load_ramdisk=1 initrd=rh5.4/initrd.img ks=nfs:192.168.0.1:/kickstat/ks.cfg noipv6

label 5.4_64

  kernel  rh5.4_64/vmlinuz

 append ksdevice=eth0 load_ramdisk=1 initrd=rh5.4_64/initrd.img ks=nfs:192.168.0.1:/kickstat/ks64.cfg noipv6

label 6.0

  kernel  rh6.0/vmlinuz

 append ksdevice=eth0 load_ramdisk=1 initrd=rh6.0/initrd.img ks=nfs:192.168.0.1:/kickstat/ks6.cfg noipv6

注解:(label后面的字符是要输入的字符,可以修改/tftpboot/下的boot.msg,把引导界面修改成自己喜欢的,例:vim /tftpboot/boot.msg 最下面写:

rhel -->4.6

rhel -->5.4

rhel -->5.4_64

rhel -->6.0  到时候客户机在引导界面输入要安装的系统名就开始安装了,输入6.0则开始安装6.0系统。)