【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


相关文章
|
6月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
400 146
|
7月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
533 11
|
7月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
201 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
10月前
|
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,初始登录凭据已提供。
656 0
|
11月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
309 18
|
11月前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
880 12
|
11月前
|
安全 Ubuntu Linux
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
452 0
Nipper 3.8.0 for Windows & Linux - 网络设备漏洞评估
|
12月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1530 25
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
500 10
|
Ubuntu Linux
Linux系统管理:服务器时间与网络时间同步技巧。
以上就是在Linux服务器上设置时间同步的方式。然而,要正确运用这些知识,需要理解其背后的工作原理:服务器根据网络中的其他机器的时间进行校对,逐步地精确自己的系统时间,就像一只犹豫不决的啮齿动物,通过观察其他啮齿动物的行为,逐渐确定自己的行为逻辑,既简单,又有趣。最后希望这个过程既能给你带来乐趣,也能提高你作为系统管理员的专业素养。
2084 20