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
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
使用system-config-kickstart工具制作一个ks文件,保存至指定的位置。(略)
启动vsftpd服务 //提供安装源
启动xinetd //提供PXE引导
启动dncpd //提供动态获取IP,并告知客户端tftp服务器位置。
开启一台虚拟机,设置从网卡启动。
网络引导,一键自动化安装,成功实现。
相关文档 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
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