PXE服务器部署

OWLSAMA
3年前发布
温馨提示:
本文最后更新于2023年01月16日,已超过891天没有更新,若内容或图片失效,请留言反馈。

1、准备一台Linux服务器作为PXE服务器,最好是带有图形界面的我这里以centos7.9为例
2、把服务器的防火墙和selinux关闭

#关闭防火墙
systemctl stop firewalld
#关闭开机自启
systemctl disable firewalld
setenforce 0
#修改selinux配置文件
vi /etc/selinux/config
SELINUX=disable

3、把需要安装系统的服务器与PXE服务器相连接 可以使用交换机也可以直连
4、设置PXE服务器的IP

IPADDR=10.1.1.2
NETMASK=255.255.255.0
GATEWAY=10.1.1.254
DNS1=10.1.1.254
ONBOOT=yes
BOOTPROTO=static
#重启网络
systemctl restart network

5、安装PXE需要的软件

yum install -y dhcp xinetd tftp tftp-server

7、拷贝DHCP模板

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

8、修改DHCP配置文件

vi /etc/dhcp/dhcpd.conf

next-server 10.1.1.2;
filename "pxelinux.0";

subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.50 10.1.1.100;
  option domain-name-servers 10.1.1.254;
  option domain-name "internal.example.org";
  option routers 10.1.1.254;
  option broadcast-address 10.1.1.255;
  default-lease-time 600;
  max-lease-time 7200;
}

9、重启DHCP服务并验证

systemctl restart dhcpd
systemctl enable dhcpd

客户端服务器PXE启动,看是否能获取到IP地址
10、编辑TFTP配置文件

vi /etc/xinetd.d/tftp
disable                 = no
systemctl restart xinetd
systemctl enable xinetd

11、获取pxelinux.0并放置到TFTP根目录

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

12、创建规定目录

mkdir /var/lib/tftpboot/pxelinux.cfg

13、挂载光盘

mount /dev/cdrom /media
cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /media/isolinux/* /var/lib/tftpboot/

14、搭建网络安装源

yum -y install httpd
systemctl restart httpd
systemctl enable httpd

mkdir /var/www/html/centos
cd /
mount /dev/cdrom /var/www/html/centos/

浏览器访问测试 http://10.1.1.2/centos

15、创建yum源

vi /etc/yum.repos.d/pxe.repo

[development]
name=pxe
baseurl=http://10.1.1.2/centos
enabled=1
gpgcheck=0
:wq
yum clean all
yum list all

16、制作自动化安装脚本

yum -y install system-config-kickstart
system-config-kickstart

按实际情况配置

然后保存到root目录下

mkdir /var/www/html/ks
cp /root/kscentos.cfg /var/www/html/ks/

打开浏览器查看http://10.1.1.2/ks
17、把配置文件放到最终的配置文件中

vi /var/lib/tftpboot/pxelinux.cfg/default
#启动等待时间  默认是600 就是60秒这里我改成了6秒
timeout 60

label linux
  menu label ^Install CentOS 7.9
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://10.1.1.2/ks/centos.cfg
:wq

18、打开客户端就可以自动安装了,如果是虚拟机 内存一定要大于1G 不然会出现RTNETLINK answers: File exists

19、如果想换成其他镜像执行一下命令
先卸载原有镜像

umount -a

再挂载

mount /dev/cdrom /media

替换文件

cp /media/isolinux/* /var/lib/tftpboot/

ks centos7的系统通用所以不用更改

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论
当前页面的评论已关闭