位置:海鸟网 > IT > linux/Unix >

Redhat或Fedora下实现网络无人值守安装

Redhat或Fedora下实现网络无人值守安装(Kickstart)

    需求分析:公司业务扩展,需要新建立一个办公局域网,新机已经购置且配置不一(网卡支持网络启动功能)。为了追求稳定性,领导决定全部采用Redhat操作系统。如果采用常规的安装方法即耗时又繁琐,稍有不慎,还容易系统配置出现差异。也不利于以后的管理。

    引用概念:为了满足这种需求,Red Hat 发展出kickstart 的安装方式。配合服务器的lftp、DHCP服务它可以实现客户机的无人值守的自动网络安装。这部分我们实战Kickstart 的实现。

    网络结构
    局域网的IP网段为192.168.1.0

    共享服务器A,IP为192.168.1.254
    简单配置情况:
    配置一个yum源,并可以通过ftp://192.168.1.254/pub/redhat访问;
    安装并配置Kickstart程序。

    安装服务器B,IP为192.168.1.253
    简单配置情况:
    配置DHCP服务,为局域网中的裸机提供IP地址,并说明启动所需的文件;
    配置tftp服务,允许客户机下载启动映象文件。

    操作步骤:

    一、在A机配置FTP服务和yum源
    安装FTP服务
    [root@localhost Server]# rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm
    启动服务
    [root@localhost Server]# service vsftpd start
    为 vsftpd 启动 vsftpd: [确定]
    配置yum源
    通过光盘或其它途径安装yum和createpreo软件
    [root@localhost Server]# rpm -ivh yum-utils-1.0.4-3.el5.noarch.rpm rpm
    [root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm

    将安装光盘中的内容完整复制到ftp公共目录下,并修改yum的配置文件,方便起见我们用脚本实现yum数据库的更新
    #!/bin/bash
    cd /var/ftp/pub/redhat
    rm -rf Server/.olddata/
    rm -rf VT/.olddata/
    rm -rf Cluster/.olddata/
    rm -rf ClusterStorage/.olddata/
    for i in `find | grep “xml$” | grep “comps”`;do createrepo -g ${i#./*/} ${i%/*/*.xml}; done
    exit 0

    二、在B机上配置tftp服务
    [root@localhost Server]# rpm -ivh tftp-server-0.42-3.1.i386.rpm

    确保服务是启用状态
    [root@localhost Server]# chkconfig –list |grep tftp
    tftp: 关闭
    [root@localhost Server]# chkconfig tftp on
    [root@localhost Server]# chkconfig –list |grep tftp
    tftp: 启用

    重新加载管理tftp服务的xinetd守护进程
    [root@localhost Server]# service xinetd restart
    停止 xinetd: [确定]
    启动 xinetd: [确定]

    三、在B机上配置PEXlinux
    拷贝支持PEX启动方式的bootloader到/tftpboot目录下
    [root@localhost tftpboot]# cp -p /usr/lib/syslinux/pxelinux.0 /tftpboot

    拷贝微型内核到/tftpboot下
    [root@localhost redhat]# cp /var/ftp/pub/redhat/isolinux/* /tftpboot/

    在tftpboot目录下建立一个目录单独存启动syslinux配置文件
    [root@localhost tftpboot]# mkdir pxelinux.cfg

    修改模板isolinux.cfg的配置文件,并使它生效
    [root@localhost tftpboot]# cp isolinux.cfg default.cfg

    如果需要自定义启动微型内核时输入的文本和响应的操作请编辑default.cfg。
    default linux
    prompt 1
    timeout 600
    display boot.msg
    F1 boot.msg
    F2 options.msg
    F3 general.msg
    F4 param.msg
    F5 rescue.msg
    label linux
    kernel vmlinuz
    append initrd=initrd.img
    label text
    kernel vmlinuz
    append initrd=initrd.img text
    label ks
    kernel vmlinuz
    append ks initrd=initrd.img
    label local
    localboot 1
    label memtest86
    kernel memtest
    append -

 四、在B机上配置DHCP服务

    重点是在常规配置好的DHCP配置文件中增加两行next-server 192.168.1.253; #TFTPServer的IP
    filename “pxelinux.0″;#pxelinux loader文件位置

    五、最核心的步骤:创建kickstart脚本

    由于创建Kickstart配置脚本要用到本机的Yum源,我们为了方便起见,在安装有yum源的服务机A上配置。

    安装kickstart配置程序
    [root@localhost Server]# rpm -ivh system-config-kickstart-2.6.19.1-1.el5.noarch.rpm

    安装简易操作工具
    [root@localhost Server]# rpm -ivh pykickstart-0.43-1.el5.noarch.rpm

    现在我们可以在图形下创建ks脚本了。

    最后要做的是把ks.cfg脚本放置到可以任意的可以匿名访问的服务器上,我把它放到A机上的FTP目录下,/var/ftp/pub下。

    五、测试

    现在就可以进行测试了,当然如果你愿意的话还可以在ks.cfg脚本中增加安装完成后的执行的shell命令。详情请查看下一页附录一。

    在BIOS或手动设置客户机从LAN启动,客户机会从tftp服务器上加载启动的微型内核,默认在default.cfg未做修改情况下,我们可以通过在开始的boot:提示处输入boot: linux ks=ftp://192.168.1.254/pub/ks.cfg来要求电脑执行Kickstart安装。
    我们在这里要说明一点对于ks.cfg配置文件的位置,可以有多种形式获取,FTP,HTTP,NFS,都是有效的。如下:
    boot: linux ks=http:server:/path

    如果你愿意的话,我们也可以修改default.cfg文件,直接把ks.cfg的地址添加到其中,例如:
    label ks
    kernel vmlinuz
    append ks initrd=initrd.img
    这几行我们可以改写成
    label ks
    kernel vmlinuz
    append ks initrd=initrd.img ks=tfp://192.168.254/ks.cfg
    这样我们输入linux ks就自动从tfp://192.168.254/ks.cfg下载配置文件;

    甚至于我们可以设备默认不输入内容时操作:

    接下来就休息一下吧。