PXE(preboot execute environment)预启动执行环境,主要实现网络引导技术。

下来我们来看看如何配置:

安装需要的组件:

  • yum install dhcp tftp-server tftp vsftpd syslinux -y

配置DHCP服务:

复制配置文件模版

  • cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf 

编辑配置文件 /etc/dhcp/dhcpd.conf 

option domain-name "tuchao.com";  

option domain-name-servers 192.168.1.201;


default-lease-time 43200; //默认最少租用时间

max-lease-time 86400;   //默认最长租用时间

# Use this to send dhcp log messages to a different log file (you also

# have to hack syslog.conf to complete the redirection).

log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {

        range 192.168.1.10 192.168.1.110;  //定义地址池

        option routers 192.168.1.1;       //定义网关

}


        next-server 192.168.1.201;   ////指向tftp服务器

        filename="pxelinux.0";    //tftp根目录的相对路径

配置完成后保存,启动dhcp服务。

  • /etc/init.d/dhcpd start


配置tftp服务器编辑配置文件 vim /etc/xinetd.d/tftp

wKiom1P6rCmgNEIeAAEaMvxfJSM014.jpg


  • chkconfig tftp on

  • service xinetd start

复制引导文件到tftp目录下,这个引导文件由syslinux提供

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

复制需要的引导文件到tftp提供服务的目录下。

  • cp /var/ftp/pub/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

  • cp /var/ftp/pub/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/

  • mkdir /var/lib/tftpboot/pxelinux.cfg

cp /var/ftp/pub/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

给default文件赋予写权限,然后编辑。

  • chmod +w  /var/lib/tftpboot/pxelinux.cfg/default

  • vim /var/lib/tftpboot/pxelinux.cfg/default

wKioL1P6sxLDmciiAAMaSZg5lpg882.jpg

使用system-config-kickstart工具制作一个ks文件,保存至指定的位置。(略)

启动vsftpd服务 //提供安装源

启动xinetd   //提供PXE引导

启动dncpd   //提供动态获取IP,并告知客户端tftp服务器位置。


开启一台虚拟机,设置从网卡启动。

wKioL1P60gOS_1MXAAMWj8pKWpQ935.jpg


wKiom1P62LTRdHXwAAIOBgk-Eg4647.jpg

网络引导,一键自动化安装,成功实现。

相关文档 http://www.178linux.com/archives/4269


上面的是用Centos6部署,下面是Centos5.


Centos 5 部署PXE

安装需要的软件包

yum install dhcp tftp-server tftp vsftpd syslinux httpd -y


提供dhcpd配置文件

cp -p /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

编辑配置文件 /etc/dhcpd.conf 

下面标红的参数是关键参数,其他的可以忽略:

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway

       option routers               192.168.1.1;

       option subnet-mask             255.255.255.0;

#       option nis-domain              "domain.org";

#       option domain-name             "domain.org";

       option domain-name-servers      192.168.1.216;

       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.1.100 192.168.1.200;

        default-lease-time 43200;

        max-lease-time 86400;

        next-server 192.168.1.216;

        filename "/pxelinux.0";

}

启动dhcp 服务器

/etc/init.d/dhcpd start 


配置tftp服务器编辑配置文件 vim /etc/xinetd.d/tftp

wKioL1XUTTzwsuvyAAESUXH91A0279.jpg

  • chkconfig tftp on

  • service xinetd start

制需要的引导文件到tftp提供服务的目录下。

cp /var/ftp/pub/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

cp /usr/share/syslinux/vesamenu.c32 /tftpboot/

cp /var/www/html/isolinux/splash.lss /tftpboot/

cp /var/www/html/isolinux/boot.msg /tftpboot/


建立pxe文件夹,提供引导界面的配置文件

mkdir /tftpboot/pxelinux.cfg

cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default 

复制引导文件到tftp目录下,这个引导文件由syslinux提供

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

给default赋予写权限,修改如下:

default linux

prompt 0

timeout 600

display boot.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

注:还可以在append后面再追加ks文件,如   append initrd=initrd.img  ks=ftp://192.168.1.2/pub/kickstart/ksrhel5.cfg