【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


相关文章
|
9月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
239 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
12月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
549 61
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
381 19
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
1046 12
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
580 0
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
573 4
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
564 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
|
Ubuntu Linux
Linux系统管理:服务器时间与网络时间同步技巧。
以上就是在Linux服务器上设置时间同步的方式。然而,要正确运用这些知识,需要理解其背后的工作原理:服务器根据网络中的其他机器的时间进行校对,逐步地精确自己的系统时间,就像一只犹豫不决的啮齿动物,通过观察其他啮齿动物的行为,逐渐确定自己的行为逻辑,既简单,又有趣。最后希望这个过程既能给你带来乐趣,也能提高你作为系统管理员的专业素养。
2311 20
|
机器学习/深度学习 人工智能 安全
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
357 8
|
JSON 运维 Ubuntu
Linux下如何使用Curl进行网络请求
希望这篇文章能帮助您在Linux下更好地使用Curl进行网络请求。如有疑问,请随时提问!
820 10