PXE简介
- PXE:Pre-boot Excution Environment,预启动执行环境
- PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
- 若要搭建PXE网络体系,必须要满足以下条件:
- 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
- 网络中有一台DHCP服务器,以便为客户机分配地址、指定引导文件位置 。
- 服务器通过TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载
PXE工作流程图
搭建PXE远程安装服务器
(1)安装ftp服务端
(2)ftp工作目录下的创建文件夹centos7
(2)检查yum源文件,挂载光驱到/var/ftp/centos7上
查看挂载命令:df -h
卸载命令:umount /dev/sr0
挂载命令:mount /dev/sr0 /var/ftp/centos7
(3)更新yum源
yum clean all
yum makecache
(4)安装tftp服务端
yum -y install tftp-server
(5)修改tftp的配置文件
(6)启动tftp服务
systemctl start tftp.socket
systemctl start tftp.service
(7)将ftp/centos7/isolinux工作目录中的initrd.img、isolinux.cfg、vmlinuz复制到tftp的工作目录下/var/lib/tftpboot/
cp -rp initrd.img isolinux.cfg vmlinuz /var/lib/tftpboot/
(8)安装dhcp服务,为了给新机分配随机IP地址
yum -y install dhcp
cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >/etc/dhcp/dhcpd.conf
(9)修改配置文件
(10)启动dhcp服务
(11)安装syslinux获取引导菜单
(12)将引导菜单复制到/var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
(13)在tftpboot下创建一个pxelinux.cfg的目录
mkdir /var/lib/tftpboot/pxelinux.cfg
(14)修改isolinux.cfg配置文件
vi /var/lib/tftpboot/isolinux.cfg
default linux //默认linux模式
prompt 0 //等待时间0s
label linux //linux模式安装
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.10.51/centos7
label linux text //文本模式安装
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.10.51/centos7
label linux rescue //进入救援模式
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.10.51/centos7
(15)修改isolinux.cfg权限,并且移动到pxelinux.cfg目录下重命名为default
chmod 644 isolinux.cfg
mv isolinux.cfg pxelinux.cfg/default
(16)关闭防火墙
systemctl stop firewalld
setenforce 0
(17)新建一个虚拟机测试,注意一定要将内存设置到2G以上
报如下错误:安装不上
安装步骤省略
PXE远程自动装机
(1)将/root/anaconda-ks.cfg复制到/var/ftp/ks.cfg
touch /var/ftp/ks.cfg
cat /root/anaconda-ks.cfg >/var/ftp/ks.cfg
(2)编辑/var/lib/tftpboot/pxelinux.cfg/default文件
加上:ks=ftp://192.168.10.110/ks.cfg #修改你们自己的网段
(3)新建虚拟机测试,也是注意内存要2G以上
PXE实现不同网段的装机
(1)pxe-server新添加网卡2
(2)复制网卡配置文件,编辑,根据新增网卡的网段进行修改
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B29lVVNM-1666760475873)(images/21.jpg)]
(3)重启网络
systemctl restart network
(3)编辑dhcpd.conf文件
filename "pxelinux.0";
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.10 192.168.10.20;
next-server 192.168.10.110;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.10 192.168.20.20;
next-server 192.168.20.110;
}
(4)重启dhcp
(5)创建20网段的初始化文件
gethostip 192.168.20.0 #查询20网段的初始化文件命名
touch C0A814
cat default >C0A814
vi C0A814
(6)新增机器测试,注意网段选成新加的网段
touch C0A814
cat default >C0A814
vi C0A814
(6)新增机器测试,注意网段选成新加的网段