首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于网络的 Red Hat 无人值守安装(2)该方案的实现步骤-1

基于网络的 Red Hat 无人值守安装(2)该方案的实现步骤-1

该方案的实现步骤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。
3.        步骤1:配置启动服务器启动服务器的目的是帮助在待安装机器上启动Red Hat Linux 安装程序。启动服务器上需要搭建一个DHCP 服务器和一个TFTP 服务器。前者是为了给待安装机器分配IP地址,后者则是提供了一个让待安装机器下载启动镜像的途径。
配置DHCP 服务器1)        安装DHCP服务器包(RPM包名:dhcpd)。
2)        编辑DHCP服务器配置文件 /etc/dhcp.conf。这里是一个示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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服务。
1
[root@bsvr] #service dhcpd restart




配置TFTP服务器1)        安装TFTP服务器包(RPM包名:tftpd)。
2)        编辑TFTP 服务器的配置文件 /etc/xinetd.d/tftp。配置文件如下:
1
2
3
4
5
6
7
8
9
10
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服务器的根目录下,并按照版本重新命名。
1
2
3
4
5
6
[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服务器根目录。
1
[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会按如下次序搜索配置文件:
1
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):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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




这样用户可以通过输入某种版本的LABEL(例如,rhel4u2-i386)来选择具体的安装版本。为了能在安装时知道有哪些备选,可以让pxelinux.0提示要户选择之前显示一个列表。这通过在default里指定DISPLAY选项来实现。在上面的样例中,我们将所有备选Red Hat Linux版本列在文件pxelinux.cfg/list中,它的内容会被pxelinux.0显示出来。
在我们的例子中,/tftpboot/pxelinux.cfg/list文件内容如下:
1
2
3
4
5
6
Choose one of the following Linux distributions for your installation:
Name           Distribution   Arch.   Installation media
-------------------------------------------------------------------------
rhel3u6-i386   RHEL 3 AS U6   i386 192.168.138.1:/instsvr/i386/rhel3u6
rhel3u6-x86_64 RHEL 3 AS U6 x86_64  192.168.138.1:/instsvr/x86_64/rhel3u6
rhel4u2-i386   RHEL 4 AS U2   i386    192.168.138.1:/instsvr/i386/rhel4u2




6)        启动TFTP服务。
1
[root@bsvr]#service xinetd  restart

返回列表