免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1554 | 回复: 0
打印 上一主题 下一主题

PXE安装Linux系统解析 [第十四期] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-07 22:27 |只看该作者 |倒序浏览
PXE安装Linux系统解析
ChinaUnix网友:jsjwolf
说明:本文下面操作的默认系统为fedora,在fedora11测试通过。
什么是PXE
  PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为clientserver两端,PXE client在网卡的ROM中,当计算机引导时,BIOSPXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
要求:
使用pxe安装需要下列条件:
客户端:
支持pxe安装的网卡
服务器端:
dhcp
服务器
tftp
文件传输服务器
ftp/nfs
服务器
red hat
安装目录树
详细过程
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服务安装配置
安装:
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服务器使用vsftpd
red hat安装目录树配置
  安装目录树的根即是上面/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安装服务
启动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=http://< 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
参考资料
http://tianyongjun.itpub.net/post/28274/264186 Linux PXE网络安装笔记
http://www.ibm.com/developerworks/cn/linux/l-tip-prompt/l-pex/
如何远程安装Linux
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP