一、基本原理:

先了解一下PXE网络安装工作流程:

第一步:PXE Client(将要通过网络安装系统的主机)向DHCP服务器发送请求

  第二步:DHCP服务器提供信息

    第三步:PXE客户端请求下载启动文件

    客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0pxelinux.cfg/defaultvmlinuzinitrd.img等文件。

  第四步:Boot Server响应客户端请求并传送文件

第五步:请求下载自动应答文件

    第六步:客户端安装操作系统

   PXE client在工作过程中,需要三个二进制文件:bootstrapLinux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。


作为网路安装服务器需要提供TFTP Server DHCP Server、和HTTP Server(或者NFS ServerFTP Server) 这几个服务


二、配置过程:

配置PXE安装,要进行如下步骤:

① 配置DHCP,用于给客户端提供IP地址及其它信息

② 配置TFTP服务器,用于提供客户端PXE引导所必须的文件

③ 配置HTTP/FTP/NFS服务器,用于存放安装树

④ 配置Kickstart,用于自动应答安装#如需安装: yum -y install system-config-kickstart*

⑤ 使用PXE功能引导客户机

依照上述步骤

一、dhcp服务器的安装及配置:

1.安装dhcp软件包

  创建一个目录将光盘挂载上去

[root@localhost ~]# mkdir  /mnt/cdrom

[root@localhost ~]# mount  /dev/cdrom   /mnt/cdrom

安装dhcp服务器:

[root@localhost ~]# rpm  -ivh  /mnt/cdrom/Server/dhcp-3.0.5-21.el5.i386.rpm

PXE网络安装_第1张图片


2.配置dhcp文件

[root@localhost ~]# vim  /etc/dhcpd.conf

PXE网络安装_第2张图片

重新启动dhcp服务器

[root@localhost ~]# service   dhcpd  start

设置 开机自启动:

[root@localhost ~]# chkconfig  on

二、安装ftp服务器并配置

 安装vsftp:

[root@localhost ~]# rpm  -ivh  /mnt/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm

[root@localhost ~]# chkconfig  on 设置开机启动

查看tftp是否安装

[root@localhost ~]# rpm  -qa  |grep tftp  

安装完毕

[root@localhost ~]# rpm  -ql  tftp-server

PXE网络安装_第3张图片

编辑tftp配置文件


[root@localhost ~]# vim  /etc/xinetd.d/tftp

PXE网络安装_第4张图片

tftp依赖于超级守护进程运行:

重新启动超级守护进程

[root@localhost ~]# service   xinetd  restart                                                                      

~                    

Tftp访问时的的主目录位置为:

PXE网络安装_第5张图片

把通过网络引导的引导文件   内核及驱动文件 放到tftpboot

[root@localhost tftpboot]# cp   /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img  ./

[root@localhost tftpboot]# cp   /mnt/cdrom/p_w_picpaths/pxeboot/vmlinuz  ./


PXE网络安装_第6张图片

将引导文件拷贝制tftpboot目录下

[root@localhost tftpboot]# cp  /usr/lib/syslinux/pxelinux.0   ./

引导文件需要配置  在tftpboot目录下创建一个配置文件目录

[root@localhost tftpboot]# mkdir  pxelinux.cfg

拷贝一个配置文件并将其改名为default

[root@localhost tftpboot]# cp  /mnt/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/default

配置文件的内容

----------------------------------------------------------------------------------------------------------------------


default linux

# 默认启动的是label linux'中标记的启动内核

prompt 1  

# 显示boot:提示符。为0时则不提示,将会直接启动default参数中指定的内容

timeout 600

# 在用户输入之前的超时时间,单位为 1/10 秒。


#install/boot.msg(/tftpboot目录下install目录中的boot.msg文件)

display boot.msg

#显示某个文件的内容,注意文件的路径。默认是在 /tftpboot 目录下。也可以类似

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

#按下F1这样的键后显示的文件。注意路径。默认是 /tftpboot。注:syslinux 官方网站上说目前只能使用 F1-F10

label linux        # label指定你在boot:提示符下输入的关键字。    

 kernel vmlinuz   # kernel 参数指定要启动的内核。同样要注意路径,默认是 /tftpboot 目录。


 append initrd=initrd.img  # append 指定追加给内核的参数,能够在 gurb 里使用的追加给内核的参数,在这里也都可以使用。

 label text# 这个会启动 label text下标记的 kernel initrd.img 文件(也就是文本安装模式).


  kernel vmlinuz

  append initrd=initrd.img text

label ks

  kernel vmlinuz

   append ks initrd=initrd.img

label local

 localboot 1label memtest86

 kernel memtest

 append -


 修改之后的配置文件

PXE网络安装_第7张图片


说明:

ks 参数,使用 kickstart 安装(无人值守自动应答),指定 kickstart 文件的位置,如果不需要全自动安装可以不加该参数

Tftp服务器配置完成

三、改变dhcp的配置文档

PXE网络安装_第8张图片

四、切换到/var/ftp目录下 将光盘所有文件拷贝过去

[root@localhost ~]# cd  /var/ftp/

[root@localhost ~]# cp   -r  /mnt/cdrom/.   ./

五.、编辑一个后安装脚本  利用ip地址的最后一个值来改变主机名

---------------------------------------------------------------------------------------------------------------------------------

#!/bin/bash

ADDRESS=`/sbin/ifconfig  eth0 |grep  -i "inet\>" |awk '{print $2}'`

NUM=${ADDRESS##*.}

#modify  hostname

 sed -i -e "/HOSTNAME/c /HOSTNAME=sta$NUM.com"  /etc/sysconfig/network

#modify   ip address

sed -i -e  "/BOOTPROTO/c  BOOTPROTO=static\nIPADDRESS=192.168.2.$NUM\nNETMASTK=255.255.255.0" /etc/sysconfig/network-scripts/ifcfg-eth0

~                                                            


六、安装kickstart产生ks.cfg

[root@localhost yum.repos.d]# yum  install system-config-kickstart  (采用yum方式安装)


PXE网络安装_第9张图片

PXE网络安装_第10张图片

执行system-config-kickstart


PXE网络安装_第11张图片

PXE网络安装_第12张图片

PXE网络安装_第13张图片

PXE网络安装_第14张图片

PXE网络安装_第15张图片

PXE网络安装_第16张图片

PXE网络安装_第17张图片

PXE网络安装_第18张图片

PXE网络安装_第19张图片

PXE网络安装_第20张图片

PXE网络安装_第21张图片

PXE网络安装_第22张图片

产生ks.cfg

PXE网络安装_第23张图片

PXE网络安装_第24张图片

修改ks.cfg文件

PXE网络安装_第25张图片

ks.cfg拷贝到/vfar/ftp目录下 并重启vsftptftp服务

[root@localhost ~]# cp  ks.cfg  /var/ftp

PXE网络安装_第26张图片

新建一个虚拟机作为客户机不挂在光盘

网卡连接设置为桥接

正常启动界面

PXE网络安装_第27张图片

PXE网络安装_第28张图片