您的位置:首页 > 理论基础 > 计算机网络

用PXE引导调用kickstart安装CentOS 5 (转自http://www.shunqiziran.com/?p=97)

2010-04-22 11:37 609 查看
PXE引导启动优点:

客户端不需要任何外设支持,无需光驱和U盘,只要网卡支持PXE启动就行。

合适多种自动应答的安装,如有A,B,C三种配置,只需PXE引导后指定A或B或C配置就行。实现了无外设的全自动无人值守安装。

安装机器的台数无限制,可以同时进行多台机器的基于不同配置的安装。

工作流程:

客户端设置从PXE引导后,从DHCP服务器上获取到IP和下一跳TFTP服务器地址,然后从TFTP上加载initr.img 和vmlinuz引导文件引导系统,最后指定从HTTP或者FTP上获取安装文件进行安装。PXE>DHCP>TFTP> kickstart >HTTP/FTP

服务器端配置:

服务器端要配置DHCP,TFTP,HTTP/FTP三种服务

DHCP为PXE客户端分发IP地址,TFTP为客户端提供引导文件,HTTP/FTP为客户端提供安装源文件。

需要安装的包:

dhcp.i386 tftp-server.i386 syslinux.i386 httpd.i386

配置DHCP服务器:

在/etc目录下新建dhcpd.conf 文件,或者从/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample CP一份到/etc目录中。

主要参数:

range dynamic-bootp 是PXE启动后获得的IP地址。

next-server 是PXE启动获得IP后下一跳的地址,也就是TFTP服务器地址。

filename 是启动文件。

内容如下:(主要是红色部分)

————————————-内容——————————————–

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

subnet 192.168.40.0 netmask 255.255.255.0 {

# — default gateway

option routers 192.168.40.254;

option subnet-mask 255.255.255.0;

# option nis-domain "domain.org";

# option domain-name "domain.org";

option domain-name-servers 192.168.40.254;

option time-offset -18000; # Eastern Standard Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# — Selects point-to-point node (default is hybrid). Don’t change this unless

# — you understand Netbios very well

# option netbios-node-type 2;

range dynamic-bootp 192.168.40.13 192.168.40.15;

default-lease-time 21600;

max-lease-time 43200;

next-server 192.168.40.163;

filename "pxelinux.0";

}

配置tftp服务器

vi /etc/xinetd.d/tftp

disable = no 将disable项改为no。

复制内核启动文件到tftp目录:

cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

将CentOS5.2光盘 /media/image/pxeboot/ 目录中的initr.img 和vmlinuz 两个文件复制到/tftpboot/目录中。

将 CentOS5.2光盘 /media/isolinux/ 下*.msg 文件复制到/tftpboot/ 目录中

在/tftpboot/目录中新建pxelinux.cfg 目录。将光盘/media/isolinux/isolinux.cfg 文件复制到/tftpboot/pxelinux.cfg目录中并改名为default.cfg

命令如下:

#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

#cp /media/image/pxeboot/initr.img /tftpboot/

#cp /media/image/pxeboot/vmlinuz /tftpboot/

#cp /media/isolinux/*.msg /tftpboot/

#mkdir /tftpboot/pxelinux.cfg

#cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

配置无人值守安装(可选)

1编辑boot启动界面,加入自定义安装项。

[root@PXE /]# vi /tftpboot/boot.msg

^Xsplash.lss

- To install or upgrade in graphical mode, press the ^O0b<ENTER>^O07 key.

- To install or upgrade in text mode, type: ^O0blinux text <ENTER>^O07.

- To Auto Install ^O0bCentOS5.2 Linux^O07, type:^O0blinux autoinstall <ENTER>^O07.

- To Auto Install ^O0bCentOS5.2 sn01^O07, type:^O0blinux sn01 <ENTER>^O07.

- To Auto Install ^O0bCentOS5.2 sn02^O07, type:^O0blinux sn02 <ENTER>^O07.

- To Auto Install ^O0bCentOS5.2 sn03^O07, type:^O0blinux sn03 <ENTER>^O07.

- Use the function keys listed below for more information.

^O0f[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]^O07

红颜色的是我加入的自定义安装项,autoinstall sn01 sn02 sn03

2编辑启动配置文件:添加自定义安装项标签和命令。

[root@PXE /]# vim /tftpboot/pxelinux.cfg/default

F3 general.msg

F4 param.msg

F5 rescue.msg

label linux

kernel vmlinuz

append initrd=initrd.img

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append -

label autoinstall

kernel vmlinuz

append ks=http://192.168.40.163/ks/ks228.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb

label sn01

kernel vmlinuz

append ks=http://192.168.40.163/ks/ks01.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb

label sn02

kernel vmlinuz

append ks=http://192.168.40.163/ks/ks02.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb

label sn03

kernel vmlinuz

append ks=http://192.168.40.163/ks/ks03.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb

红颜色的是我自己加的自定义项,分别指向的是HTTP服务器上的自动应答文件,

当在BOOT界面中输入自定义安装项时,会自动调用HTTP上的自动应答文件,实现了全自动的无人值守安装。

客户端配置:

启动机器设置成PXE启动,然后指定要使用的安装项就可以了。

最好不要将PXE设置成第一启动,要不然每次启动都装一次系统, 应该是启动时手动指定一下从PXE启动就行了,DELL服务器PXE启动为F12键 。

首先客户端会向DHCP申请IP。





DHCP回应,客户端连接到TFTP服务器上读取启动文件,加载/tftpboot/boot.msg 和 /tftpboot/pxelinux.cfg/default 文件,可以看到写进去的自定义安装项。

比如要使用服务器上KS02.cfg这个自动应答文件,

只需在BOOT:输入SN03 回车就开始自动安装了。









要需加载外部kickstart文件进行安装用命令:

Linux ip=**** netmask=**** ks=http/ftp 进行加载.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: