作者:good bai
说明:本文下面操作的默认系统为fedora,在fedora11测试通过。
什么是PXE
PXE(Pre-boot Execution
Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE
client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE
client将放置在远端的操作系统通过网络下载到本地运行。
要求
使用pxe安装需要下列条件:
客户端:
支持pxe安装的网卡
服务器端:
dhcp服务器
tftp文件传输服务器
ftp/nfs服务器
red hat安装目录树
详细过程
Dhcp服务器
安装配置dhcp
yum install dhcp
修改dhcp服务配置文件/etc/dhcp/dhcpd.conf为下:
ddns-update-style interim ;
ignore client-updates ;
allow booting ;
allow bootp ;
subnet 10.3.0.0 netmask 255.255.255.0
#设置当前网络的子网和子网掩码
{
default-lease-time 216000 ;
max-lease-time 432000 ;
option routers 10.3.0.114 ; #网关,一般设置为本机ip即可
#option domain-name "gdlc.org";
#可选配置
option subnet-mask 255.255.255.0 ;
option domain-name-servers 202.96.128.68 ;
#域名服务器,可选
range dynamic-bootp 10.3.0.238 10.3.0.240 ;
#自动分配的ip地址的范围
filename "pxelinux.0" ;
#pxe引导文件
}
上面dhcpd.conf的配置文件,可以参照普通的dhcp服务配置,适用pxe安装的dhcp服务器仅仅是加了一点专用于pxe的个别配置。注意最后
一项filename
指定的是pxe在成功获得ip后从服务器下载的第一个引导文件,此文件要在tftp服务指定的根路径下。负责会报无法找到文件的错误。
Tftp服务安装配置
安装配置tftp服务器:
yum install tftp-server
fedora使用xinetd来管理tftp服务,默认情况下/etc/xinetd.d/tftp配置中,tftp是禁用的,我们修改此文件为下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /media/repo2/tftpboot
#指定tftp默认根的位置
disable = no
#此项默认为yes,需要修改为no
per_source = 11
cps = 100 2
flags = IPv4
}
tftp的配置比较简单,注意两点,一是server_args参数需要指定正确的安装程序root路径,二是确保disable选项为no.
nfs/ftp服务安装配置
本次测试采用的是ftp提供安装资源的方式,即在进行到安装资源提供方式选择时,选择url项之后添入对应的url地址(如ftp://xxx形式).
安装配置ftp
ftp服务器使用vsftpd。
vsftpd服务器的安装配置见我的另一篇博文ftp服务器假设。
Redhat安装目录树配置
安装目录树的根即是上面/etc/xinetd.d/tftp文件中server_args参数指定的目录,我们在此目录下部署我们需要的目录树。
进入tftp根目录,首先建立的是目录pxelinux.cfg
cd $TFTP_ROOT
mkdir pxelinux.cfg
此目录下主要存放pxelinux.0引导的配置文件,类似grub.conf文件,配置文件可以同时存在很多份,pxe安装的客户机在查找配置文件时,首先会找此目录下与本机mac地址相同或者相似的目录,如果没有最后找default文件。
这里我们仅建立default文件,内容可以直接拷贝安装光盘中isolinux下的isolinux.cfg.另外拷贝isolinux目录中的所有文件到tftp根目录下,如下:
cp $ISO_ROOT/isolinux/* . -ravf
cp isolinux.cfg pxelinux.cfg/default
到此服务器端的配置完成,上面介绍的是完成一个简单的可用的PXE安装例子,你也可以去定制一些高级安装特性。
启动服务器端PXE安装支持服务
启动tftp服务
/etc/init.d/xinetd start
启动dhcpd服务
/etc/init.d/dhcpd start
启动ftp服务
首先挂载Fedore-xx-i386.iso 到ftp服务目录根的iso目录下,再启动ftp服务器守护进程。
Mount Fedore-xx-i386.iso $FTP_ROOT/iso -o loop
/etc/init.d/vsftpd start
到此一个可用的pxe服务器配置完成。如需要更加简单方便,可以加入kickstart自动安装脚本支持。
使用PXE安装fedora
1 选择PXE方式启动电脑
2
正常的话启动程序将从tftp服务器载入启动文件(内核启动文件)启动安装进程,在选择安装介质选项中根据自己的情况选择,比如硬盘安装就选hard
disk,我这里是通过ftp提供安装资源,选择url方式,再下来的对话框中填入ftp服务器中安装资源的完整链接地址,例如下:
ftp://10.3.0.114/feodora-iso/
3 下来如果顺利,一且同本地光盘安装无异。
附: 自动安装支持
kickstart文件
cfg 文件位置。很明显安装程序需要读取到 ks 配置文件才能进行自动安装,ks 配置文件可以有以下几种方式读入:启动软盘、启动光盘、硬盘、网络。
软盘读取 ks 配置文件相对较简单,将 ks.cfg 置于软盘根目录下即可,启动后输入 linux ks=floppy 即可开始 ks 安装;
光盘读取 ks 配置文件需要在制作启动光盘时加入 ks.cfg 配置文件至根目录下,启动后输入 linux ks=cdrom:/ks.cfg 即可开始 ks 安装 ;
硬盘读取 ks 配置文件一般是从光驱引导后,再读硬盘中的 ks 配置文件(此时可能没有软驱和网络支持),启动后输入 linux ks=hd:fd0:/ks.cfg,限制条件是该硬盘分区必须是 VFAT 或者 EXT2;
网络读取 ks 配置文件则用得非常多了,通常用到的是 NFS 方式和 HTTP 方式,格式分别是 ks=nfs:server:/path 和
ks= server> /< path> 。需要注意的是网络方式读取 ks.cfg
文件时,局域网能自动分配 IP,因为在内核未取得 ks.cfg 配置文件之前,系统是不知道如何配置 IP 地址的,这时就要先通过 DHCP
获得一个 IP 地址,通过网络读取 ks.cfg 配置文件。
加入kickstart支持
修改pxelinux.cfg/default文件内容为下:
kernel vmlinuz
append ks=ftp://192.168.1.xxx/ks.cfg initrd=initrd.img
阅读(1839) | 评论(0) | 转发(0) |