赛迪网 > IT技术 Linux > 企业应用
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

基于网络的Red Hat Linux无人值守安装方法 (1)

发布时间:2008.04.30 05:10     来源:51cto.com    作者:sdccf

1. 方案介绍

这种方案需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。

涉及到的技术

该方案主要应用了三种技术:

1) 在PC上从网络启动Red Hat Linux安装程序的PXE协议

2) Red Hat Linux安装程序提供的网络安装功能(即指通过网络访问安装介质)

3) Red Hat Linux 安装程序提供的无人值守安装功能(Red Hat称为kickstart)

技术1)和2)在参考资料1和2里已有部分介绍。本文将重点描述参考资料中未涉及部分和无人值守安装功能。

软硬件需求

要按本文介绍的方法完成自动化安装,你需要如下软硬件资源:

一台PC机器作为启动和安装服务器(其它架构机器也可以)

一台待安装的PC机器,它的网卡必须带有PXE支持

一个建好的局域网,上述两台机器已经连接入同一子网

待安装的Red Hat Linux安装介质

该方案的实现步骤

1) 配置启动服务器

2) 配置安装服务器

3) 从网络启动机器以完成安装

步骤1)和2)只需做一次即可。对每一台需安装Red Hat Linux的机器,都需要在启动服务器和安装服务器中部署相应的数据,并执行一次步骤3)。

下面将带领您逐一执行这些步骤。为了简单,我将用示例来说明如何在一台安装了 Red Hat Enterprise Linux AS 3 Update 5 的 PC 机上设置启动服务器和安装服务器,并在一台PC上安装 Red Hat Enterprise Linux AS 4 Update 2。

2. 步骤1:配置启动服务器

启动服务器的目的是帮助在待安装机器上启动Red Hat Linux 安装程序。启动服务器上需要搭建一个DHCP 服务器和一个TFTP 服务器。前者是为了给待安装机器分配IP地址,后者则是提供了一个让待安装机器下载启动镜像的途径。

配置DHCP 服务器

1) 安装DHCP服务器包(RPM包名:dhcpd)。

2) 编辑DHCP服务器配置文件 /etc/dhcp.conf。这里是一个示例:

option domain-name "mydomain";
ddns-update-style none;
 
max-lease-time 7200;
server-name "bootserver";
default-lease-time 600;
 
allow booting;
allow bootp;
 
subnet 192.168.138.0 netmask 255.255.255.0 {
    range 192.168.138.1 192.168.138.254;
    deny unknown-clients;
}
 
group pxe {
    filename "pxelinux.0";
    host testserver { hardware ethernet 00:0C:29:70:24:5B; fixed-address
         192.168.138.30; }
}

在这个例子中,定义的子网是 192.168.138.0/255.255.255.0。主机定义项testserver指出 IP 地址 192.168.138.30 将分配给以太网卡00:0C:29:70:24:5B(待安装机器),文件 pxelinux.0(在 TFTP 服务器的根目录中)将作为启动映像被网卡ROM里的PXE客户端载入内存并运行。

每增加一台需安装的机器,我们需在dhcpd.conf中增加一条host条目。

3) 给启动服务器配置一个IP,这个IP必须在DHCP服务器定义的子网内。

这里我们使用192.168.138.1。关于如何为Red Hat Linux系统配置IP地址,请查阅参考资料3。

4) 启动DHCP服务。

[root@bsvr] #service dhcpd restart

配置TFTP服务器

1) 安装TFTP服务器包(RPM包名:tftpd)。

2) 编辑TFTP 服务器的配置文件 /etc/xinetd.d/tftp。配置文件如下:

service tftp
{
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /tftpboot
    disable         = no
}

这里选定了/tftpboot为TFTP 服务器的根目录位置。

3) 将Linux安装程序的内核/根文件系统文件复制到 TFTP 服务器的根目录。对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。

Red Hat Linux第一张安装光盘/isolinux目录下会包含Linux安装程序的内核/根文件系统文件。下面一段命令将这些文件复制到TFTP服务器的根目录下,并按照版本重新命名。

[root@bsvr]#mkdir /mnt/iso

[root@bsvr]#mount -o loop,ro RHEL4-U2-i386-AS-disc1.iso /mnt/iso

[root@bsvr]#cp /mnt/iso/isolinux/initrd.img /tftpboot

[root@bsvr]#cp /mnt/iso/isolinux/vmlinuz /tftpboot

[root@bsvr]#mv /tftpboot/initrd.img /tftpboot/initrd-rhel4u2-i386.img

[root@bsvr]#mv /tftpboot/vmlinuz /tftpboot/vmlinuz-rhel4u2-i386

4) 将启动镜像文件pxelinux.0复制到TFTP服务器根目录。

启动镜像pxelinux.0可以在syslinux安装包里获得。安装好syslinux安装包后,将pxelinux.0复制到TFTP服务器根目录。

[root@bsvr]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

5) 编辑pxelinux.0的配置文件,以使pxelinux可以正确载入Red Hat Linux安装程序。对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。

启动镜像pxelinux.0文件在执行过程中,会读取配置文件以确定它应该载入什么Linux内核文件来运行。所有的配置文件都放在启动服务器的/tftpboot/pxelinux.cfg/目录下。pxelinux.0根据一定的规则来搜索合适的配置文件名。举例来说,对于前面为待安装机器分配的IP地址192.168.138.30(十六进制表示为C0A88A1E),pxelinux.0会按如下次序搜索配置文件:

C0A88A1E > C0A88A1 > … > C0 > C > default

就是说,如果C0A88A1E文件存在,它就是pxelinux.0将载入的配置文件。否则,继续往下找。如果C0A88A1文件存在,它就是pxelinux.0将载入的配置文件。如果前面的以C开头的文件都不存在,那么pxelinux.0将试图从文件default中读取配置。对于一台需要支持很多安装机器的安装服务器来说,将配置写在与IP地址对应的文件里很不灵活。把所有配置都集中在default文件中是个不错的主意,可以减轻配置文件维护负担。

可以将能想到的Red Hat Linux版本的配置都写在default文件里,以便同时支持多种Red Hat Linux版本,如下所示(对于具体某个 Red Hat Linux版本,对应的行该如何写,可以参考它安装盘里的配置文件 /isolinux/isolinux.cfg):

DEFAULT rhel4u2-i386
DISPLAY pxelinux.cfg/list
PROMPT 1
 
LABEL rhel3u6-i386
KERNEL vmlinuz-rhel3u6-i386
APPEND initrd=initrd-rhel3u6-i386.img
 
LABEL rhel3u6-x86_64
KERNEL vmlinuz-rhel3u6-x86_64
APPEND initrd=initrd-rhel3u6-x86_64.img devfs=nomount ramdisk_size=9216
 
LABEL rhel4u2-i386
KERNEL vmlinuz-rhel4u2-i386
APPEND initrd=initrd-rhel4u2-i386.img ramdisk_size=8192

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux系统下文件的压缩、打包与解开介绍 (04-29) · Linux操作系统集群LVS-ipvsadm命令参考 (04-29)
· 新手学堂:Linux limits.conf解释与应用 (04-28) · Linux系统中静态库和动态库的生成和使用 (04-28)
· 使用Busybox做一个小巧的Linux操作系统 (04-28) · SUN公司即将完成JAVA语言的全部开源工作 (04-28)
· 巴西5200万中小学学生将使用Linux和KDE (04-28) · 如何在Vista系统下使用虚拟机安装Linux (04-28)
· Linux系统下SoftEther服务器的使用方法 (04-28) · Linux系统与win2003系统下修改MAC地址方法 (04-28)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 工信部“三定”公布 总编制731名设24司局
· 北京发电子商务监管意见 营利性网店须办照
· 直播 08中国城市信息化高峰论坛 案例点评
· 烽火网络校园解决方案 移民安置信息管理系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统