pxe自动装机:

pxe自动装机:

服务端和客户端

pxe c/s模式,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。

无人值守 无人值守,就是安装选项不需要人为干预,可以自动化实现。

pxe的优点:

1、规模化 同时装配多台服务器 20多 30台

2、自动化

3、远程实现,不需要光盘,u盘。

c/s 客户端和服务端都可以是多台的。

pxe的安装条件:

硬件:网卡要支持pxe协议,主板要支持网络引导。

软件:服务端要有dhcp服务,可以在客户机启动时,自动分配ip地址。

TFTP 简单文件传输协议 传小文件,引导镜像文件很小,我们使用TFTP

VSFTP 文件传输协议,传送大文件,安装文件。

test1 作为服务端。

TFTP xinetd(网络守护进程服务程序,用来管理轻量级的网络服务。管理TFTP的文件传输)

TFTP是一个后台进程 使用的是udp协议,端口69

DHCP

VSFTP

准备pxe的引导文件,通过光盘镜像把文件复制出来

vmlinuz linux系统的内核文件

initrd.img 初始化镜像文件,引导加载的模块文件

pxelinux.0 引导程序文件

安装pxe的引导程序

配置启动菜单文件:

操作:

1、关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0

2、安装tftp和xinetd软件包

[root@localhost ~]# yum -y install tftp-server xinetd

3、设置tftp的开机自启

[root@localhost ~]# systemctl restart tftp
[root@localhost ~]# systemctl enable tftp

4、设置xinetd开机自启

[root@localhost ~]# systemctl restart xinetd
[root@localhost ~]# systemctl enable xinetd

5、更改配置文件

[root@localhost ~]# vim /etc/xinetd.d/tftp
 10         wait                    = no    #将串行改为并行
 14         disable                 = no    #改为后台启动
#将这两行的yes改为no

6、重启配置文件

[root@localhost ~]# systemctl restart tftp.socket 
[root@localhost ~]# systemctl restart xinetd.service 

7、安装dhcp软件包

[root@localhost ~]# yum -y install dhcp

8、将dhcp的配置文件覆盖

[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes

9、更改dhcp配置文件

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
14 ddns-update-style none;
15 next-server 192.169.60.20;
16 #指定tftp的服务器 
17 filename "pxelinux.0"; 
18 #指定下载pxe的引导文件名
35 subnet 192.168.60.0 netmask 255.255.255.0 {
36   range 192.168.60.100 192.168.60.110; 
37   option routers 192.168.60.20;
38 }

10、重启dhcpd的配置文件

[root@localhost ~]# systemctl restart dhcpd

11、将光盘镜像挂载

[root@localhost ~]# mount /dev/cdrom /mnt

12、进入pxeboot目录下

[root@localhost /]# cd /mnt/images/pxeboot/
[root@localhost pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz

13、将文件复制到tftpboot目录下

[root@localhost pxeboot]# cp vmlinuz /var/lib/tftpboot/
[root@localhost pxeboot]# cp initrd.img /var/lib/tftpboot/
[root@localhost pxeboot]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  vmlinuz

14、安装pxe的引导程序

[root@localhost tftpboot]# yum -y install syslinux

15、进入syslinux目录下将pxelinux.0复制到tftpboot目录下

[root@localhost tftpboot]# cd /usr/share/syslinux/
[root@localhost syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@localhost syslinux]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz

16、安装vsftp

[root@localhost tftpboot]# yum -y install vsftpd

17、进入ftp目录下创建一个目录,将mnt目录下的所有复制到centos7目录下

[root@localhost tftpboot]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# cp -rf /mnt/* /var/ftp/centos7/

18、重启vsftpd服务

[root@localhost centos7]# systemctl restart vsftpd

19、在tftpboot目录下创建一个目录

[root@localhost centos7]# mkdir /var/lib/tftpboot/pxelinux.cfg

20、在新创的目录下创建一个新文件

[root@localhost centos7]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default
  1 default auto
  2 #指定安装程序的入口,使用这个文件作为安装程序的入口。自动选择
    。
  3 prompt 0
  4 #是否等待用户选择,0不等待用户输入,自动完成。1就是需要手动完
    成。
  5 label auto
  6 #图形化界面的安装入口
  7 kernel vmlinuz
  8 #加载内核文件,vmlinuz
  9 append initrd=initrd.img method=ftp://192.168.60.20/centos7
 10 
 11 label linux text
 12 #字符界面,最小化安装
 13 kernel vmlinuz
 14 #加载内核
 15 append initrd-inidrd.img method=ftp://192.168.60.20/centos7
 16 
 17 label linux rescue
 18 #救援模式的引导入口
 19 kernel vmlinuz
 20 append initrd=inidrd.img method=ftp://192.168.60.20/centos7

21、开启未装镜像的虚拟机

22、安装无人值守

[root@localhost ~]# yum -y install system-config-kickstart

23、更改配置文件

 vim /root/ks.cfg
 39 %post --interpreter=/bin/bash
 40 rm -rf /etc/yum.repos.d/*
 41 echo '[local]
 42 name=local
 43 baseurl=ftp://192.168.233.10/centos7
 44 enabled=1
 45 gpgcheck=0' > /etc/yum.repos.d/local.repoa
 46 %end
 47 
 48 %packages
 49 @base
 50 @core
 51 @desktop-debugging
 52 @dial-up
 53 @directory-client
 54 @fonts
 55 @gnome-desktop
 56 @guest-desktop-agents
 57 @input-methods
 58 @internet-browser
 59 @java-platform
 60 @multimedia
 61 @network-file-system-client
 62 @print-client
 63 @x11
 64 binutils
​

24、更改default配置文件

[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
10 append initrd=initrd.img method=ftp://192.168.60.20/centos7 k    s=ftp://192.168.60.20/ks.cfg

25、将ks.cfg文件复制到ftp目录下

[root@localhost ~]# cp ks.cfg /var/ftp/

26、重启,进入一键装机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/697146.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

当前 Python 版本中所有保留字keyword.kwlist

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 当前 Python 版本中 所有保留字 keyword.kwlist [太阳]选择题 根据给定的Python代码,哪个选项是正确的? import keyword print("【执行】keyword.kwlist"…

vue面试题2-根据以下问题回答

以下是针对提供的关于Vue的问题的回答: Vue的基本原理: Vue.js是一个流行的JavaScript框架,用于构建用户界面和单页面应用。其基本原理包括响应式数据、模板、组件系统、指令、生命周期钩子和虚拟DOM。 双向数据绑定的原理: Vue通…

自动化测试-Selenium(一),简介

自动化测试-Selenium 1. 什么是自动化测试 1.1 自动化测试介绍 自动化测试是一种通过自动化工具执行测试用例来验证软件功能和性能的过程。与手动测试不同,自动化测试使用脚本和软件来自动执行测试步骤,记录结果,并比较预期输出和实际输出…

第十一篇——信息增量:信息压缩中的保守主义原则

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 通过信息中的保守主义,我想到了现实中人的保守主义一样&#…

【InternLM实战营第二期笔记】07:OpenCompass :是骡子是马,拉出来溜溜

文章目录 课程实操 课程 评测的意义是什么呢?我最近也在想。看到这节开头的内容后忽然有个顿悟:如果大模型最终也会变成一种基础工具(类比软件),稳定或可预期的效果需要先于用户感知构建出来,评测 case 就…

项目方案:社会视频资源整合接入汇聚系统解决方案(五)

目录 一、概述 1.1 应用背景 1.2 总体目标 1.3 设计原则 1.4 设计依据 1.5 术语解释 二、需求分析 2.1 政策分析 2.2 业务分析 2.3 系统需求 三、系统总体设计 3.1设计思路 3.2总体架构 3.3联网技术要求 四、视频整合及汇聚接入 4.1设计概述 4.2社会视频资源分…

javascript动态绑定

介绍 先来看看ai的解释 动态绑定机制是面向对象编程中的一个核心概念,特别是在Java这样的语言中。它允许在运行时根据对象的实际类型来决定调用哪个方法,而不是在编译时。这是多态性的关键特性之一。 在Java中,动态绑定是通过方法调用和方法…

安卓事件交互(按键事件、触摸事件、手势识别、手势冲突处理)

本章介绍App开发常见的以下事件交互技术,主要包括:如何检测并接管按键事件,如何对触摸事件进行分发、拦截与处理,如何根据触摸行为辨别几种手势动作,如何正确避免手势冲突的意外状况。 按键事件 本节介绍App开发对按…

人脸考勤项目实训

第一章 Python-----Anaconda安装 文章目录 第一章 Python-----Anaconda安装前言一、Anaconda是什么?二、Anaconda的前世今生二、Windows安装步骤1.官网下载2.安装步骤安装虚拟环境 总结 前言 工欲善其事必先利其器,项目第一步,安装我们的环境…

Mysql的底层实现逻辑

Mysql5.x和Mysql8性能的差异 整体性能有所提高, 在非高并发场景下,他们2这使用区别不大,性能没有明显的区别。 只有高并发时,mysql8才体现他的优势。 2. Mysql数据存储结构Innodb逻辑结构 数据选用B树结构存储数据&#xff0…

基于STM32的595级联的Proteus仿真

文章目录 一、595级联1.题目要求2.思路3.仿真图3.1 未仿真时3.2 模式A3.2 模式B3.3 故障模式 二、总结 一、595级联 1.题目要求 STM32单片机,以及三个LED灯对应红黄绿灯,IIC的OLED显示屏,温湿度传感器DHT11,两个独立按键和两个5…

深度学习的实用性探究:虚幻还是现实?

深度学习的实用性探究:虚幻还是现实? 深度学习作为人工智能领域的一个热点,已经在学术和工业界引起了广泛的关注。尽管深度学习技术显示出惊人的性能和潜力,但有时它们给人的感觉是“虚”的,或许是因为它们的抽象性和…

react修改本地运行项目的端口

一、描述 如果你想让项目在你想要的端口打开的话,就需要进行设置 二、代码 设置一下pages.json文件就可以了,如下: 如果想打开项目不需要点击下面的链接地址,让他运行npm run dev之后自己直接打开到浏览器的话,在后…

猫头虎分享已解决Bug || Uncaught TypeError: Cannot set property ‘innerHTML‘ of null**

猫头虎分享已解决Bug || Uncaught TypeError: Cannot set property ‘innerHTML’ of null** 原创作者: 猫头虎 作者微信号: Libin9iOak 作者公众号: 猫头虎技术团队 更新日期: 2024年6月6日 博主猫头虎的技术世界 &#x…

盘点2024年5月Sui生态发展,了解Sui近期成长历程!

2024年5月是Sui的第一个生日月,Sui迎来了它的上线一周年纪念日。在过去的一年中Sui在技术进步与创新、生态系统的扩展、社区发展与合作伙伴关系以及重大项目和应用推出方面取得重要进展,展示了其作为下一代区块链平台的潜力。 以下是Sui的近期成长历程集…

一、Electron 环境初步搭建

新建一个文件夹,然后进行 npm init -y 进行初始化,然后我们在进行 npm i electron --save-dev , 此时我们按照官网的教程进行一个初步的搭建, 1.在 package.json 文件进行修改 {"name": "electron-ui","version…

pyqt QlineEdit内部增加按钮方法

按钮放在QlineEdit内部,界面更紧凑,体现了按钮和文本框的强关联。 def addButton(self,lineEdit):btn QtWidgets.QPushButton("")icon1 QtGui.QIcon()icon1.addPixmap(QtGui.QPixmap(":/image/images/th.png"), QtGui.QIcon.Norm…

同盾中文点选验证码识别方法

中文验证码一直是识别的难题,首先他分类的种类很多,常见中文都有3500个,而且一般中文验证码都会有变形,导致每一个文字都需要大量训练样本。假设每一个汉字样本需要100个,100350035万个样本,所以标记的样本…

DeepSORT(目标跟踪算法)中的数值表格与调参的关系

DeepSORT(目标跟踪算法)中的数值表格与调参的关系 flyfish DeepSORT(目标跟踪算法)中的马氏距离详解(很详细) DeepSORT(目标跟踪算法)中 可以设置阈值进行异常检测或目标跟踪的原…

【最新鸿蒙应用开发】——类Web开发范式1——生命周期

兼容JS的类Web开发范式 类Web命令式开发的生命周期 1. 应用生命周期 1.1. app.js 每个应用可以在app.js自定义应用级生命周期的实现逻辑,包括: onCreate:在应用生成时被调用的生命周期函数。 onDestroy:在应用销毁时被调用的生…