【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


相关文章
|
4月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
373 146
|
5月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
474 11
|
5月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
169 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
6月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
432 18
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
335 6
|
7月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
189 0
|
5月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
642 1
二、Linux文本处理与文件操作核心命令
|
5月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
413 137
|
5月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
987 57