欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

PXE网络装机之centos7(批量自动装机)

发布时间:2025/5/22 编程问答 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 PXE网络装机之centos7(批量自动装机) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

PXE远程服务器(192.168.1.1)所需准备:

  • 安装源(系统盘文件);
  • TFTP服务;
  • DHCP服务;
  • Linux内核;
  • 能够向客户机裸机发送PXE引导程序;
  • 启动菜单及无人应答文件等。
  • 客户端要求:

  • 客户端的网卡支持PXE协议,且主板支持网络引导(现在多数都支持);
  • 设置BIOS允许从Network或LAN启动;
  • 一、搭建PXE远程安装服务器:

    1、配置YUM仓库,并安装ftp服务:

    [root@localhost ~]# mount /dev/cdrom /media [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# rm -rf * [root@localhost yum.repos.d]# vim a.repo[yum] baseurl=file:///media gpgcheck=0[root@localhost yum.repos.d]# yum -y install vsftpd*

    2、准备centos7安装源并启动ftp服务:

    [root@localhost yum.repos.d]# mkdir /var/ftp/centos7 [root@localhost yum.repos.d]# cp -rf /media/* /var/ftp/centos7/ [root@localhost yum.repos.d]# systemctl start vsftpd #启动ftp服务 [root@localhost yum.repos.d]# systemctl enable vsftpd #设置为开机自启

    3、安装并启动TFTP服务:

    [root@localhost yum.repos.d]# yum -y install tftp-server [root@localhost yum.repos.d]# vim /etc/xinetd.d/tftp #编辑TFTP配置文件............................... service tftp {socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /var/lib/tftpbootdisable = no #将此处默认的yes改为no即可per_source = 11cps = 100 2flags = IPv4 }[root@localhost yum.repos.d]# systemctl start tftp #启动TFTP服务 [root@localhost yum.repos.d]# systemctl enable tftp

    4、准备Linux内核、初始化镜像文件(在系统盘中):

    [root@localhost ~]# cd /media/images/pxeboot/ [root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

    5、准备PXE引导程序:

    [root@localhost pxeboot]# yum -y install syslinux #安装引导程序 [root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    6、配置启动菜单(典型的和无人值守安装的启动菜单根据实际需求二选一配置即可):

    [root@localhost pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg

    ①、典型的启动菜单,无法实现无人值守安装:

    [root@localhost pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 1 label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.1.1/centos7 label linux textkernel vmlinuzappend text initrd=initrd.img method=ftp://192.168.1.1/centos7 label linux rescuekernel vmlinuzappend rescue initrd=initrd.img method=ftp://192.168.1.1/centos7

    ②、无人值守安装的启动菜单:

    [root@localhost pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 0 label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.1.1/centos7 ks=ftp://192.168.1.1/ks.cfg

    在上面两种启动菜单,我这里配置的是无人值守安装,若选择典型的启动菜单,那么接下来的操作有很多就是不必要的了,只要安装上DHCP服务器即可部署系统了。

    7、安装并启用DHCP服务器(DHCP服务安装后有一个模板文件,若不熟悉,可以参考: https://blog.51cto.com/14154700/2353971):

    [root@localhost pxeboot]# yum -y install dhcp [root@localhost pxeboot]# vim /etc/dhcp/dhcpd.conf...........................subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.1 192.168.1.200;option domain-name-servers 8.8.8.8;option domain-name "internal.example.org";option routers 192.168.1.254;option broadcast-address 192.168.1.255;default-lease-time 21600;max-lease-time 43200;next-server 192.168.1.1; #指定TFTP服务器的地址filename "pxelinux.0"; #指定PXE引导程序的文件名 }[root@localhost pxeboot]# systemctl start dhcpd [root@localhost pxeboot]# systemctl enable dhcpd

    8、准备安装应答文件:
    在centos 7 系统中如果安装了system-config-kickstart工具后,可通过图形化向导工具来配置安装应答文件。如果大佬对自动应答文件的配置比较熟悉,也可以直接编辑centos 7 安装后自动创建的应答文件(/root/anaconda-ks.cfg),根据需要适当修改后使用(我还是老老实实的使用图形化吧):

    [root@localhost pxeboot]# yum -y install system-config-kickstart #安装所需工具

    ①、打开图形化程序:

    ②、配置安装应答参数:

    ③、由于ftp服务默认允许匿名访问,所以不用指定用户名和密码:

    ④、引导装载程序:

    、分区信息(根据实际需求选择合适的硬盘分区方案):

    ⑤、网络配置及防火墙:


    ⑥、安装后脚本:

    若想在系统安装完成后,执行一些操作,可以参考以下(我这里写了一个配置yum仓库的脚本):

    ⑦、保存应答文件:

    保存后的应答文件:

    [root@localhost ~]# vim ks.cfg #最后生成的应答文件如下 (可直接复制此文件便可省略图形化配置的那些步骤,结合实际需求进行修改后使用即可):#platform=x86, AMD64, 或 Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us' # Root password rootpw --iscrypted $1$bauETRq3$WOpze2jeKD9q3qgKK50xj0 # Use network installation url --url="ftp://ftp:192.168.1.1/centos7" # System language lang zh_CN # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled# Firewall configuration firewall --disabled # Network information network --bootproto=dhcp --device=ens33 # Reboot after installation reboot # System timezone timezone Asia/Shanghai # System bootloader configuration bootloader --location=mbr # Partition clearing information clearpart --all # Disk partitioning information part /boot --fstype="xfs" --size=500 part /home --fstype="xfs" --size=4096 part swap --fstype="swap" --size=2048 part / --fstype="xfs" --grow --size=1%post --interpreter=/bin/bash cd /etc/yum.repos.d rm -rf * echo -e "[base]" > aa.repo echo -e "baseurl=ftp://192.168.1.1/centos7" >> aa.repo echo -e "gpgcheck=0" >> aa.repo %end

    不过上面的配置文件还差点东西,需要在配置文件末尾继续写入三行,以此来选择最小安装:

    %packages @^minimal %end

    写好后,保存退出即可。

    8、将自动应答文件复制到指定目录(在之前的引导菜单指定的“ks=”项的路径):

    [root@localhost ~]# cp /root/ks.cfg /var/ftp/

    10、OK,客户机开机,验证效果(耐心等待完成即可):

    安装成功:

    转载于:https://blog.51cto.com/14154700/2403456

    总结

    以上是生活随笔为你收集整理的PXE网络装机之centos7(批量自动装机)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。