目录
一、PXE原理
1、定义
PXE(Pre-bootExecutionEnvironment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时,BIOS把PXEclient调入内存执行,并显示出命令菜单,经用户选择后,PXEclient将放置在远端的操作系统通过网络下载到本地运行
2、安装过程图解
二、PXE服务构建
1、注意事项
1)虚拟机中注意是否将自带DHCP功能关闭
2)注意测试安装机器是否将网络与PXE服务器网络对齐
2、安装流程记录
[root@Centos6-01 ~]# yum -y install vsftpd dhcp tftp syslinux tftp-server
2)拷贝镜像文件到ftp服务器目录
[root@Centos6-01 ~]# cd /var/ftp/pub
[root@Centos6-01 ~]# mkdir dvd
[root@Centos6-01 ~]# chown ftp:ftp dvd
[root@Centos6-01 ~]# cp -rf /mnt/cdrom/* dvd/
3)配置DHCP服务
[root@Centos6-01 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@Centos6-01 ~]# vim /etc/dhcp/dhcpd.conf
#内容如下:
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.100 10.10.10.200;
option routers 10.10.10.11;
next-server 10.10.10.11; #tftp server的ip
filename "pxelinux.0";
}
4)开启 tftp 服务
[root@Centos6-01 ~]# mkdir /tftpboot
[root@Centos6-01 ~]# vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot 设置默认工作目录
disable = no 设置开机自启动
per_source = 11
cps = 100 2
flags = IPv4
}
5)创建相关目录并拷贝所需文件
[root@Centos6-01 ~]# mkdir -p /tftpboot/pxelinux.cfg
[root@Centos6-01 ~]# cp /var/ftp/pub/dvd/isolinux/isolinux.cfg/tftpboot/pxelinux.cfg/default
[root@Centos6-01 ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
[root@Centos6-01 ~]# chmod 644 /tftpboot/pxelinux.cfg/default
[root@Centos6-01 ~]# cp /var/ftp/pub/dvd/isolinux/* /tftpboot/
6)开启相关服务并设置为自动启动
[root@Centos6-01 ~]# service dhcpd restart
[root@Centos6-01 ~]# chkconfig dhcpd on
[root@Centos6-01 ~]# service xinetd restart
[root@Centos6-01 ~]# chkconfig xinetd on
[root@Centos6-01 ~]# service vsftpd restart
[root@Centos6-01 ~]# chkconfig vsftpd on
7)配置 kisckstart 无人值守安装脚本
7.1、安装软件
[root@Centos6-01 ~]# yum -y install system-config-kickstart
7.2、在图形界面命令行输入
system-config-kickstart
7.3、进入配置页面,修改配置,最后单击文件选项,保存。
7.4、根据anaconda-ks.cfg ,修改ks.cfg文件,因为在anaconda-ks.cfg 配置文件中,如果想复制一模一样的机器,复制以下关键字符,到ks.cfg文件末尾,就是自动执行相应的软件包操作,同时修改vim /tftpboot/pxelinux.cfg/default 配文件,在启动时执行相应的操作。
[root@Centos6-01 ~]# vim anaconda-ks.cfg
[root@Centos6-01 ~]# vim ks.cfg
[root@Centos6-01 ~]#
[root@Centos6-01 ~]# mv ks.cfg /var/ftp/
[root@Centos6-01 ~]# vim /tftpboot/pxelinux.cfg/default
anaconda-ks.cfg 文件中%packages到%end之间就是本机安装的软件包名称。
%packages
@base
@chinese-support
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
。。。。。。
krb5-workstation
libXmu
%end
/tftpboot/pxelinux.cfg/default
default linux
#修改名称,这样能自动进行安装。
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.8!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://10.10.10.11/ks.cfg
#ks.cfg配置文件保存位置根据自己保存位置,更改
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
7.5、创建虚拟机,进行测试,
注意:在软件中如果提示,是否保留数据,选择清除即可(生产环境中一般遇见不到。)。
7.6、登录进系统后验证临时创建的脚本文件