- 论坛徽章:
- 0
|
Summary
- 客户端通过网卡的
PXE 功能,从 DHCP
服务器获取 IP 地址;
- DHCP
服务器将 '''filename
"pxelinux.0";''' 参数中指定的文件(pxelinux.0)推送给客户端;
- 客户端执行
pxelinux.0;
- pxelinux.0
程序读取 tftp
服务器上的配置文件(通常是
'''/tftpboot/pxelinux.cfg/default''',但是也可以根据客户端机器的
MAC 地址单独指定);
客户端执行配置文件中指定的动作。
tftp
安装以下两个包:
一个服务器端,一个客户端程序。
tftp 服务由
xinetd 服务管理。编辑
'''/etc/xinetd.d/tftp''' 文件,将
'''disable = yes''' 改为:
disable = no
重启 xinetd:
# /etc/init.d/xinetd restart
# chkconfig --level 35 xinetd on
DHCP
使用 ISC
的 dhcpd 软件:
# rpm -ivh --aid dhcp-3.0.1.rpm
# cp -f /usr/share/doc/dhcp-3.0.1/dhcpd.conf.example /etc/dhcpd.conf
修改 /etc/dhcpd.conf
文件,指定 IP 地址等信息。
在 '''/etc/dhcpd.conf'''
中增加 tftp-server
需要推送给客户端的启动文件:
filename "pxelinux.0";
因为 tftp
的默认目录是 /tftpboot,所以文件的绝对路径就是:
/tftpboot/pxelinux.0"
也可以指定为别的路径。
另外需要指定 next-server
参数,告诉客户端在获取到 pxelinux.0
文件之后去哪里获取其余的启动文件:
next-server 192.168.1.1;
allow bootp或deny bootp 是否响应激活查询;
allow booting或deny booting 是否响应使用者查询;
PXE
安装 syslinux
使用 syslinux
提供 PXE 安装(RedHat
Enterprise Linux默认已安装)。
可以直接下载 RPM 包。
配置
/tftpboot/pxelinux.0
安装好 syslinux
以后,将 pxelinux.0
这个文件复制到 '''/tftpboot'''
目录:
# rpm -ql syslinux | grep 'pxelinux.0'
/usr/share/syslinux/pxelinux.0
# cp /usr/share/syslinux/pxelinux.0 /tftpboot
用于网络安装的内核文件
将 RedHat
安装光盘目录中的
'''images/pxeboot/{vmlinuz,initrd.img}'''
文件复制到某个安装目录,比如:'''/tftpboot/install/rhel4.4-inst/''':
# mkdir -p /tftpboot/install/rhel4.4-inst/
# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /tftpboot/install/rhel4.4-inst/
/tftpboot/pxelinux.cfg/
该目录用于存放客户端的配置文件。
创建目录:
# mkdir /tftpboot/pxelinux.cfg/
将光盘中的
'''isolinux/isolinux.cfg'''
文件复制为
'''/tftpboot/pxelinux.cfg/default''',以下内容根据原文件略加修改并做了注释(注:该文件中的空行和以
'''#''' 开头的行都将被忽略):
# 默认启动的是 'label linux' 中标记的内核
default linux
# 显示 'boot: ' 提示符。
# 为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。
prompt 1
# 在用户输入之前的超时时间,单位为 1/10 秒。
timeout 600
# 显示某个文件的内容,注意文件的路径。默认是在 /tftpboot 目录下。
# 也可以指定位类似 'install/rhel4.4-inst/boot.msg' 这样的,路径+文件名。
display boot.msg
# 按下 'F1' 这样的键后显示的文件。注意路径。默认是 /tftpboot。
# 注:syslinux 官方网站上说目前只能使用 F1-F10。
F1 install/rhel4.4-inst/boot.msg
F2 install/rhel4.4-inst/options.msg
#...
F10 install/rhel4.4-inst/snake.msg
# 'label' 指定你在 'boot:' 提示符下输入的关键字。
# 比如:
# boot: linux[ENTER]
# 这个会启动 'label linux' 下标记的 kernel 和 initrd.img 文件。
# 这里还定义了其它几个关键字:
# boot: text
# boot: ks
#
# kernel 参数指定要启动的内核。同样要注意路径,默认是 /tftpboot 目录。
# append 指定追加给内核的参数,能够在 gurb 里使用的追加给内核的参数,在这里也
# 都可以使用。
label linux
kernel install/rhel4.4-inst/vmlinuz
append initrd=install/rhel4.4-inst/initrd.img ramdisk_size=8192
label text
kernel vmlinuz
append initrd=install/rhel4.4-inst/initrd.img text ramdisk_size=8192
label expert
kernel vmlinuz
append expert initrd=install/rhel4.4-inst/initrd.img ramdisk_size=8192
# 使用 kickstart 安装。
# 可以在 ks 参数后直接指定 kickstart 文件的位置。
# 关于 kickstart 的更多参数和设置,请参考各版本的 RHEL 的 Installation Guide:
# * http://www.redhat.com/docs/manuals/enterprise/
# Installation Guide --> Advanced Installation and Deployment
label ks basic
kernel install/rhel4.4-inst/vmlinuz
append ks=ftp://192.168.10.251/install/rhel4.4_basic.cfg initrd=install/rhel4.4-inst/initrd.img ramdisk_size=8192
label lowres
kernel vmlinuz
append initrd=install/rhel4.4-inst/initrd.img lowres ramdisk_size=8192
label local
localboot 1
label memtest86
kernel memtest
append -
如果需要给内核传递一些参数,比如,需要进入
secure mode,或者
single mode,可以直接将参数加在后面:
boot: linux secure
如果不希望所有的系统都使用默认的
'''/tftpboot/pxelinux.cfg/default'''
文件,可以以客户端机器的网卡地址命名配置文件。
比如:网卡 MAC
地址是 '''88:99:AA:BB:CC:DD''',针对这台主机的配置文件就是:
01-88-99-aa-bb-cc-dd
以 '''01'''
开头,用 '''-'''(dash)
分隔,用小写字母表示 MAC
地址。
还可以用16进制数来表示
IP 地址,比如,IP
地址为 192.0.2.91,转换为十六进制数就是:
C000025B
针对 IP
为 192.0.2.91 这个
IP 的主机的配置文件,文件名就是
'''C000025B'''。
注意:pxelinux
搜索的文件的顺序是:
/tftpboot/pxelinux.cfg/01-88-99-aa-bb-cc-dd
/tftpboot/pxelinux.cfg/C000025B
/tftpboot/pxelinux.cfg/C000025
/tftpboot/pxelinux.cfg/C00002
/tftpboot/pxelinux.cfg/C0000
/tftpboot/pxelinux.cfg/C000
/tftpboot/pxelinux.cfg/C00
/tftpboot/pxelinux.cfg/C0
/tftpboot/pxelinux.cfg/C
/tftpboot/pxelinux.cfg/default
注:可以使用 windows
上附件里的计算机来计算十六进制与10进制之间的转换。
/tftpboot/pxelinux.cfg/boot.msg
这是在
'''/tftpboot/pxelinux.cfg/default'''
文件中指定要显示的文件(DISPLAY)。
这是一个普通的文本文件。但是还可以有一些高级的定义,比如显示一个背景,清屏,字体颜色等。
具体信息请参考:
http://syslinux.zytor.com/faq.php#format
http/ftp/nfs
配置NFS
1\安装NFS包nfs-utils和nfs-utils-lib,可以在CentOS安装光盘的CentOS目录下找到
命令:
rpm
-ivh nfs-utils-1.0.9-24.el5.i386.rpm
rpm -ivh
nfs-utils-lib-1.0.8-7.2.z2.i386.rpm
编辑NFS的配置文件
命令:
vim
/etc/exports
编辑内容为(我的硬盘不够,只好省去复制的步骤,直接将光盘的挂载目录设为NFS的目录):
/media/dvd/
*(ro,async)
重启NFS服务
命令:
service
nfs restart
配置 HTTP
2\这里可以任选一种服务用于提供安装系统所需要的介质。这里以
http 服务为例。
- 安装
httpd;
启动 httpd:
# /etc/init.d/httpd restart
挂载 DVD
ISO(假设 httpd 的
DocumentRoot
目录是:/var/www/html/):
# mkdir -p /var/www/html/rhel/5/5.1/server/i386/
# mount -o loop rhel-5.1-server-i386-dvd.iso /var/www/html/rhel/5/5.1/server/i386/
这样客户端就可以选择 http
方式来安装系统了。
服务器的信息填写:
- Server
Name: 服务器的 IP
地址。
Directory:
/rhel/5/5.1/server/i386/
NFS
使用 NFS
服务来提供安装介质,不需要将 ISO
挂载,只需要直接放到共享目录下即可。RHEL
安装程序会自动将 ISO
挂载到本地进行安装。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/98626/showart_1961246.html |
|