一,概述
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux系列系统等。
注意:创建一个虚拟机,并且采用PXE方式启动,如果没有安装以下软件,那么无法启动
##启动界面正在获取dhcp数据包
二,PXE网络安装
1,yum install httpd dhcp tftp-server syslinux -y
httpd ##共享安装资源
dhcp ##分配ip以及让客户主机获取pxelinux.0文件,当系统还没有安装时,没有ip地址,只能通过服务端的dhcp服务被动获取信息,服务端dhcp服务器向外界发送的不只动态ip,还有pex相关信息
tftp-server ##提供tftp协议,令客户主机可以读取到预安装环境
syslinux ##提供pxelinux.0文件(预安装环境头文件,用来指定读取后续文件的程序)
2.启用服务
systemctl stop firewalld
systemctl disable firewalld
##启动httpd服务
systemctl start httpd
systemctl enable httpd
mkdir /var/www/html/rhel7.0
mkdir /iso
mv /root/rhel-server-7.0-x86_64-dvd.iso /iso
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/ 制作共享镜像源
vim /etc/rc.d/rc.local 开机自动挂载
mount /iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0/
source /etc/rc.d/rc.loca 重新读取文件
##启用tftp服务
vim /etc/xinetd.d/tftp3,制作预安装环境(/usr/share/doc/syslinux-4.05/pxelinux.txt中有详细信息)
cp /var/www/html/rhel7.0/isolinux/* /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
systemctl restart xinetd
4,启动dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
option domain-name "example.com"; ##客户主机域名
option domain-name-servers 114.114.114.114; ##客户主机获得到的dns
default-lease-time 600; ##默认租约期
max-lease-time 7200; ##最长租约期
log-facility local7; ##日志级别
subnet 172.25.254.0 netmask 255.255.255.0 { ##网段,子网掩码
range 172.25.254.2 172.25.254.5; ##ip地址池
option routers 172.25.254.156; ##网关
filename "pxelinux.0"; ##客户主机获得到的预安装环境头文件
next-server 172.25.254.156; ##指定头文件所在主机的ip
}
systemctl start dhcpd
systemctl enable dhcpd
测试:
###这里加载速度太快,可以看到实际上从172.25.254.156获取了一个ip
成功!!!
5,此时进入还是会报错,添加URL
[root@156 pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@156 pxelinux.cfg]# vim default
安装Linux是第一个标签,只修改第一个标签(第65行)
61 label linux
62 menu label ^Install Red Hat Enterprise Linux 7.0
63 menu default
64 kernel vmlinuz2
65 append initrd=initrd.img repo=http://172.25.254.156/source7.0 这是镜像的挂载点,只要是镜像的挂载点就行,不管ip 删除quite是显示安装过程
测试:
成功!!!
二,修改开机启动参数
1,修改开机启动画面
开机启动画面是splash.png (PXE启动是/var/lib/tftpboot/splash.png),修改图片,然后修改配置文件(PXE启动是/var/lib/tftpboot/pxelinux.cfg/default中的第十行为指定的图片),其他启动方式也一样修改。
注意:1,背景图片必须是.png格式(截图),像素要求640*480
yum install ImageMagick-6.7.8.9-10.el7.x86_64 -y
convert kiko.png -resize 640x480! Kiko.png ###kiko.png是原图,Kiko.png是转换之后的图,不加!按比例缩放,加!强行拉伸
cp Kiko.png /var/lib/tftpboot/
测试:
成功!!!
2,修改开启默认选择时间
[root@156 pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg
[root@156 pxelinux.cfg]# vim default
修改第二行timeout的值,单位是0.1秒
2 timeout 100
3,修改默认标签
/var/lib/tftpboot/pxelinux.cfg
[root@156 pxelinux.cfg]# vim default
61-70行的两个标签修改menu default
61 label linux
62 menu label ^Install Red Hat Enterprise Linux 7.0
63 menu default 设置默认的标签
64 kernel vmlinuz
65 append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 quiet
66
67 label check
68 menu label Test this ^media & install Red Hat Enterprise Linux 7.0
69 # menu default 注释默认的标签
70 kernel vmlinuz
71 append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rd.live.c heck quiet
注意:白色的选择条修改之前在第二个上面,现在停留在第一个上面
三,Kickstart自动安装