当前位置: 首页 > news >正文

PXE学习及其简单应用

一、PXE 的定义

        PXE 是一种基于网络的启动技术,最初由 Intel 开发,旨在提供一种在没有本地存储设备的情况下通过网络启动操作系统的标准。PXE 集成在计算机的 BIOS 或 UEFI 中,允许计算机从网络服务器下载并启动操作系统或其他软件。

二、PXE 的架构

       PXE 的架构包括客户端和服务器两部分,依赖于多种网络协议和服务。以下是 PXE 架构的主要组成部分。

2.1 客户端

        PXE 客户端是启用了 PXE 的计算机,通常集成在 BIOS 或 UEFI 中。当计算机启动时,如果启用了 PXE,网络接口卡(NIC)会尝试通过网络启动操作系统。

2.2 服务器

  • PXE 服务器提供启动文件和相关服务,通常包括以下组件:
  • DHCP 服务器:为 PXE 客户端分配 IP 地址,并提供启动文件的位置信息。
  • TFTP 服务器:用于传输启动文件,如 PXE 引导程序和内核镜像。
  • HTTP/FTP 服务器:在某些情况下,用于传输更大的文件或提供额外服务。
  • NFS/SMB 服务器:用于提供网络文件系统,支持 PXE 客户端访问操作系统文件。

三、PXE 的工作原理

        PXE 的工作原理涉及多个步骤和网络协议的协同工作。以下是 PXE 启动过程的详细步骤。

3.1 PXE 启动过程

  • PXE 客户端启动:当计算机启动时,PXE 客户端通过 BIOS 或 UEFI 启动,并向网络发送 DHCP 请求,寻找 DHCP 服务器。
  • DHCP 服务器响应:DHCP 服务器响应 DHCP 请求,为客户端分配 IP 地址,并提供 TFTP 服务器的位置和引导文件名。
  • 下载引导文件:PXE 客户端通过 TFTP 下载引导文件,通常是一个小型的 PXE 引导程序(如 pxelinux.0)。
  • 执行引导文件:PXE 客户端执行下载的引导文件,该引导文件进一步下载操作系统内核和初始化文件系统。
  • 启动操作系统:PXE 客户端加载内核和初始化文件系统,最终启动操作系统。

3.2 网络协议

  • PXE 启动过程中涉及多个网络协议:
  • DHCP:用于分配 IP 地址和提供 TFTP 服务器信息。
  • TFTP:用于传输引导文件。
  • HTTP/FTP:用于传输更大的文件或提供额外服务(可选)。
  • NFS/SMB:用于提供网络文件系统(可选)。

四、简单应用(自动化安装系统)

4.1.1 服务器准备环境

1.rhel7主机
2.开启主机图形     int 5
3.配置网络可用
4.关闭vmware dhcp功能

4.1.2 安装图像化生成kickstart自动化安装脚本

yum install system-config-kickstart -y
system-config-kickstart                 #启动图形制作工具

4.1.3 设定配置

检查配置

[root@xiaozhou ~]# ksvalidator ks.cfg 
4.1.4 安装httpd将此文件共享出去(关闭火墙)
[root@xiaozhou ~]# yum install httpd -t[root@xiaozhou pxelinux.cfg]# systemctl stop firewalld.service 
[root@xiaozhou pxelinux.cfg]# systemctl mask firewalld.service [root@xiaozhou ~]# ln -s /rhel7/   /var/www/html/
[root@xiaozhou ~]# cp /root/ks.cfg   /var/www/html/

验证

4.1.5 安装dhcp服务器为其他设备提供ip分配

[root@xiaozhou ~]# yum install dhcp -y     #安装dhcp服务器为其他服务器提供分配ip的功能[root@xiaozhou ~]# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf     #生成配置文件,并修改

重启dhcp

[root@xiaozhou pxelinux.cfg]# systemctl enable --now  dhcpd.service

4.1.6 下载syslinux、tftp(共享pxelinux.0数据文件的网络服务 )

[root@xiaozhou ~]# yum install syslinux.x86_64 
[root@xiaozhou ~]# yum install  tftp-server.x86_64 -y
[root@xiaozhou ~]# systemctl enable --now tftp

复制镜像给tftp的发布目录

[root@xiaozhou ~]# cp /rhel7/isolinux/*   /var/lib/tftpboot/
[root@xiaozhou ~]# cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/
[root@xiaozhou ~]# cp /rhel7/isolinux/*   /var/lib/tftpboot/[root@xiaozhou ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@xiaozhou ~]# cd /var/lib/tftpboot/
[root@xiaozhou tftpboot]# ls
boot.cat  grub.conf   isolinux.bin  memtest     pxelinux.cfg  TRANS.TBL    vesamenu.c32
boot.msg  initrd.img  isolinux.cfg  pxelinux.0  splash.png    upgrade.img  vmlinuz
[root@xiaozhou tftpboot]# cp isolinux.cfg   pxelinux.cfg/default
[root@xiaozhou tftpboot]# vim pxelinux.cfg/default 

告诉设备获得IP后应从哪里去找资源

[root@xiaozhou tftpboot]# vim /etc/dhcp/dhcpd.conf 

重启服务

[root@xiaozhou tftpboot]# systemctl restart tftp
[root@xiaozhou tftpboot]# systemctl restart dhcpd

4.2.1 其他设备准备

启动方式改为从英特尔网络启动

4.3.1 测试系统是否安装成功

表示安装成功

http://www.lryc.cn/news/415891.html

相关文章:

  • 【Python】把list转换成json文件(list中为字典,元素按行写入)
  • 《机器人SLAM导航核心技术与实战》第1季:第8章_激光SLAM系统
  • 【安当产品应用案例100集】005-安当ASP实现Exchange双因素登录认证
  • 【Bug】Pytorch RuntimeError: DataLoader worker (pid(s) 15904) exited unexpectedly
  • 谈谈冯诺依曼体系
  • 第十二章 元数据管理10分
  • eco_tracker
  • electron 鼠标事件
  • 网络安全第一次作业(ubuntuan安装nginx以及php部署 and sql注入(less01-08)))
  • 【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】017 - init_sequence_f 各函数源码分析(一)
  • Mojo AI编程语言(十七)跨平台开发:应用广泛适配
  • Python面试题:结合Python技术,如何使用Astropy进行天文数据处理
  • Jpa-多表关联-OneToOne
  • zdpy+vue3+onlyoffice文档系统实战上课笔记 20240805
  • 【Linux 从基础到进阶】Linux 内核参数调优
  • 【Java数据结构】---泛型
  • Java Lambda表达式总结(快速上手图解)
  • 【算法模板】图论:Tarjan算法求割边割点
  • 如何在IDEA上使用JDBC编程【保姆级教程】
  • linux web系统安装常见问题解决,租房系统为案例
  • Linux驱动开发—平台总线模型详解
  • 说一下网络层,传输层,数据链路层做什么的,之间的关系?
  • 解锁AI新纪元:Milvus Cloud与Zilliz Cloud的高可用之道
  • svn安装
  • 【隐私计算篇】混淆电路之深入浅出
  • 基于GRU神经网络的微博分类预测
  • LVS-DR模式集群:案例与概念
  • 拓扑排序:Kahn算法与DFS算法
  • 图像处理 -- Sobel滤波器的实现原理与使用案例
  • 机器学习 第10章-降维与度量学习