一.PXE
注意:安装前 selinux 禁用,iptables 关闭 dhcp 服务器静态IP地址
1.PXE的工作原理:
Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC
地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小
信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
2.基于pxe自动化安装所需的组件
(1)DHCP 服务器
需要在subnet配置中配置参数
filename “”; 基于网卡引导时要加载的initial boot file的文件名;
next-server HOST; 要是一个tftp-servr,简单文件传输协议
(2) tftp-server服务
一般该服务器仅用于PXE预引导加载环境。用于提供预引导加载文件pxelinux.0的读取。
服务启动运行方式:
CentOS6:
# chkconfig tftp on
# service xinetd restart
CentOS7:
# systemctl start tftp.socket
(3)syslinux包
(4) file server(yum repository)yum仓库
3.安装服务
(1)首先要安装 dhcp tftp syslinux
yum install dhcp tftp-server httpd syslinux
(2)启动服务
systemctl enable dhcpd.service tftp.service httpd
systemctl start tftp
systemctl start httpd
(3)查看是否是69 端口
ss -nulp 69
4 配置dhcp.conf 文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
subnet 192.168.8.0 netmask 255.255.255.0 {
range 192.168.8.180 192.168.8.200;
option routers 192.168.8.1;
option domain-name-servers 223.5.5.5,223.6.6.6;
filename “pxelinux.0”;
next-server 192.168.8.133;
}
启动服务
systemctl start dhcpd
5.挂载镜像准备Yum安装源和kickstart文件
mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7
ks文件
mkdir /var/www/html/ks
cp /root/anaconda-ks.cfg /var/www/html/ks/centos7.cfg
vim /var/www/html/ks/centos7.cfg
url –url=http://192.168.8.133/centos7
text
reboot.
6.创建pxelinux.cfg 文件.拷贝镜像文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
创建安装菜单
vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title PXE CentOS Linux 7 Install Menu
label automini
menu label ^Automatic Mini Install CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.8.133/ks/centos7.cfg
label autodesktop
menu label Automatic ^Desktop Install CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.8.133/ks/centos7-2.cfg
label manual
menu label ^Manual Install CentOS 7
kernel vmlinuz
append initrd=initrd.img
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
原创文章,作者:gd1479,如若转载,请注明出处:http://www.178linux.com/82375