Chinaunix首页 | 论坛 | 博客
  • 博客访问: 228604
  • 博文数量: 40
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 531
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-25 17:47
文章分类

全部博文(40)

文章存档

2010年(8)

2009年(32)

我的朋友

分类: LINUX

2009-09-25 19:14:00

作者: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

阅读(1781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~