【Linux网络服务】centos7搭建PXE高效能批量网络装机

简介: 【Linux网络服务】centos7搭建PXE高效能批量网络装机

PXE简介

  • PXE:Pre-boot Excution Environment,预启动执行环境
  • PXE是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
  • 若要搭建PXE网络体系,必须要满足以下条件:
  • 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。
  • 网络中有一台DHCP服务器,以便为客户机分配地址、指定引导文件位置 。
  • 服务器通过TFTP(Trivial File Transfer Protocol)简单文件传输协议提供引导镜像文件的下载

PXE工作流程图

76d9e7ef1cce43d89a6ea7b97a9bb3f3.jpg

搭建PXE远程安装服务器

(1)安装ftp服务端

yum -y install vsftpd

(2)ftp工作目录下的创建文件夹centos7

mkdir /var/ftp/centos7


0395ed8835844e349e9992253811066b.jpg

(2)检查yum源文件,挂载光驱到/var/ftp/centos7上

0a6131582cb2454d8ed83eef90a05e26.jpg


9f17bd6ebe9348edb94e1fd06c90669f.jpg

查看挂载命令:df -h
卸载命令:umount /dev/sr0 
挂载命令:mount /dev/sr0 /var/ftp/centos7

(3)更新yum源

yum clean all
yum makecache

67b7f8e93a19477d95374a068a23c267.jpg

(4)安装tftp服务端

yum -y install tftp-server

(5)修改tftp的配置文件

vi /etc/xinetd.d/tftp

f2af360bb8c141b7a2b2856ef4da24d1.jpg

(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/

fa213c85eb3349a8a28aa2ee92658cb3.jpg

(8)安装dhcp服务,为了给新机分配随机IP地址

yum -y install dhcp
cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >/etc/dhcp/dhcpd.conf 

(9)修改配置文件



fbd5e63f92b74dd1aff940555ca798bc.jpg

(10)启动dhcp服务

systemctl start dhcpd

(11)安装syslinux获取引导菜单

yum -y install syslinux

(12)将引导菜单复制到/var/lib/tftpboot/

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

0e59097dc10348c2a0ead340807457b5.jpg

(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

91e850c481054256914cc1321496338e.jpg

(16)关闭防火墙

systemctl stop firewalld
setenforce 0

(17)新建一个虚拟机测试,注意一定要将内存设置到2G以上

ae4446506f1d4a2ea06c42893d9687ad.jpg

报如下错误:安装不上

6632058f01bc425a9828b5889c012a04.jpg6781be41c78f452d81133d967faf2f88.jpg

7ab7cad02bc24f21a1878835eab1904e.jpg



安装步骤省略

PXE远程自动装机

(1)将/root/anaconda-ks.cfg复制到/var/ftp/ks.cfg

touch /var/ftp/ks.cfg
cat /root/anaconda-ks.cfg >/var/ftp/ks.cfg


d203154e400746af80a97344f620a56d.jpg

(2)编辑/var/lib/tftpboot/pxelinux.cfg/default文件

加上:ks=ftp://192.168.10.110/ks.cfg  #修改你们自己的网段


f47699b08d9f48eba6199b7e97bfbc16.jpg(3)新建虚拟机测试,也是注意内存要2G以上





da0394272fdc4425b2aa1ae5fc483b65.jpg

PXE实现不同网段的装机

(1)pxe-server新添加网卡2



26553029559d44979bd8aae565ac24f1.jpg

(2)复制网卡配置文件,编辑,根据新增网卡的网段进行修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B29lVVNM-1666760475873)(images/21.jpg)]


f997575f9da346119b3eaff87605b5d9.jpg

(3)重启网络

systemctl restart network


b091378e579549f48d64636bc6ef9c00.jpg

(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;
}

c8cc271255124b659b2222a26b5d077e.jpg

(4)重启dhcp

systemctl restart dhcpd

(5)创建20网段的初始化文件

gethostip 192.168.20.0  #查询20网段的初始化文件命名


18f60de35d024f14af8418ddc7d537a3.jpg

touch C0A814
cat default >C0A814
vi C0A814

607097e9e86348a2a326138d57d9df5b.jpg

(6)新增机器测试,注意网段选成新加的网段


398d6217dec64189bd892db9083d17ab.jpg


f3cc182933584f8ebc4e0c3b119ac2ec.jpg


da40dcfa92bb401fbac8c76dda1641e0.jpg

touch C0A814
cat default >C0A814
vi C0A814

cbaa2e883bb047a6a55314c7a0d9e09b.jpg

(6)新增机器测试,注意网段选成新加的网段


b70f2d700c94426680d143ebbcacaf23.jpg




87e651283934410ca2f76c55aa0ec88d.jpg


3a33b2a67d964503bb84d7774ec90e37.jpg


相关文章
|
5月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
163 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
6月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
422 18
|
8月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
441 61
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
320 5
|
7月前
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
607 5
|
7月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
187 0
|
9月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
262 18
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
426 0
|
8月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
523 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
355 17