在这个例子中,定义的子网是 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
|
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




