PCE自动装机

服务端和客户端

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

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

pxe优点:

1.规模化 同时装配多台服务器20多台不超过30台。

2.自动化

3.远程实现:不需要光盘u盘。

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

pxe的安装条件:

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

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

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

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

test2作为服务端

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

FTP xinetd 网络守护进程服务程序,用来管理轻量级的网络服务。管理TFTP的文件传输,是一个后台进程,使用的是udp协议端口是69

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

DCHP

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

VSFTP

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

vmlinuz linux的系统的内核文件

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

pxelinux.0 引导程序文件

安装pxe的引导程序

配置启动菜单文件:

无人值守

安装无人值守

实验

1.关闭防火墙安装tftp 文件传输

[root@test2 ~]# systemctl stop firewalld
[root@test2 ~]# setenforce 0
[root@test2 ~]# yum -y install tftp-server xinetd     安装文件输出

2.重启安装的配置文件,设置为开机自启

[root@test2 ~]# systemctl restart tftp     重启配置文件
[root@test2 ~]# systemctl enable tftp     开机自启
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@test2 ~]# systemctl restart xinetd.service    重启配置文件
[root@test2 ~]# systemctl ana xinetd.service   
Unknown operation 'ana'.
[root@test2 ~]# systemctl enable xinetd.service    开机自启

3.修改tftp配置文件

[root@test2 ~]# vim /etc/xinetd.d/tftp
#       and to start the installation process for some operating systems.
​
service tftp
{socket_type             = dgramprotocol                = udpwait                    = no            把yes改为no  单个发送成为并发user                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpbootdisable                 = no           把yes改为no per_source              = 11cps                     = 100 2flags                   = IPv4
}
:wq!                     
[root@test2 ~]# systemctl restart tftp   修改配置文件后要重启
[root@test2 ~]# systemctl restart xinetd     修改配置文件后要重启  

4.安装dhcp分配IP地址

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

5.复制dhcp到/etc/dhcpd.conf 覆盖掉原来的文件

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

6.修改dhcp的配置文件

[root@test2 ~]# vim /etc/dhcp/dhcpd.conf
​
Use this to enble / disable dynamic dns updates globally.
​
ddns-update-style none;     注释掉
next-server 192.168.65.21;  
#指定tftp的服务器
filename "pxelinux.0";     
#指定下载pxe的引导文件
​
This is a very basic subnet declaration.
​
subnet 192.168.65.0 netmask 255.255.255.0 {    该网关  子网掩码range 192.168.65.100 192.168.65.110;    改网段范围option routers 192.168.65.21;   改为ip地址
}
​
wq!
[root@test2 ~]# systemctl restart dhcpd   重启

7.挂载光盘镜像

[root@test2 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
​
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt

8.进入挂载点查看内核文件

[root@test2 ~]# cd /mnt/
[root@test2 mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@test2 mnt]# cd images/
[root@test2 images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@test2 images]# cd pxeboot/
[root@test2 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz            linux的系统内核文件 vmlinuz
​

9.复制内核文件vmlnuz到配置文件中的根目录下

[root@test2 pxeboot]# ll
总用量 57838
-rw-r--r--. 1 root root 52584760 11月 26 2018 initrd.img
-r--r--r--. 1 root root      441 11月 26 2018 TRANS.TBL
-rwxr-xr-x. 1 root root  6639904 11月  9 2018 vmlinuz
[root@test2 pxeboot]# cp vmlinuz /var/lib/tftpboot/

10.复制initrd.img 初始化镜像文件,引导加载的模块文件到根目录/var/lib/tftpboot/

[root@test2 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@test2 pxeboot]# cp initrd.img /var/lib/tftpboot/

检查文件是否复制到根目录下

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

11.安装pxe的引导程序 是syslinux

[root@test2 tftpboot]# yum -y install syslinux
[root@test2 tftpboot]# cd /usr/share/syslinux/         pxeLinux.0程序引导文件
[root@test2 syslinux]# ls
cpuidtest.c32  hdt.c32       kbdmap.c32          poweroff.com  vesamenu.c32
diag           host.c32      linux.c32           pwd.c32       vpdtest.c32
disk.c32       ifcpu64.c32   ls.c32              pxechain.com  whichsys.c32
dmitest.c32    ifcpu.c32     lua.c32         找到 pxelinux.0    zzjson.c32
dosutil        ifplop.c32    mboot.c32           reboot.c32
elf.c32        int18.com     mbr.bin             rosh.c32

12.复制程序引导文件pxelinux.0到根目录

[root@test2 syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@test2 syslinux]# cd /var/lib/tftpboot/
[root@test2 tftpboot]# ls     查看是否复制完成
initrd.img  pxelinux.0  vmlinuz    初始化镜像   程序引导文件   内核文件    
[root@test2 tftpboot]#          三个一个都不能少都要复制到/var/lib/fttpboot/注意权限是否足够

13.安装vsftp 整个镜像文件复制到vsftp默认的根目录下

[root@test2 tftpboot]# yum -y install vsftpd
[root@test2 tftpboot]# cd /var/ftp/
[root@test2 ftp]# lspub
[root@test2 ftp]# mkdir centos7 
[root@test2 ftp]# cp -fr /mnt/* /var/ftp/centos7/    因为文件大所以用ftp传不用vsftp
[root@test2 ftp]# cd /var/ftp/centos7/
[root@test2 centos7]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@test2 centos7]# systemctl restart vsftpd   重启一下vsftp
​

14.配置启动菜单文件

[root@test2 centos7]# mkdir /var/lib/tftpboot/pxelinux.cfg   在根目录里创建一个目录
[root@test2 centos7]# cd /var/lib/tftpboot/
[root@test2 tftpboot]# ls    查看创建的目录
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

15.在新建的配置文件中配置(default)

[root@test2 tftpboot]# cd pxelinux.cfg/
[root@test2 pxelinux.cfg]# ls
[root@test2 pxelinux.cfg]# vim default
default auto
#指定安装程序的入口,使用这个文件作为安装程序的入口。自动选择。
prompt 0
#是否等待用户选择,0不等待用户输入自动完成。1需要用户手动完成
label auto
#图形界面的默认安装入口
kernel vmlinuz
#表示加载内核文件,是vmlinuz
append initrd=initrd.img method=ftp://192.168.65.21/centos7
​
label linux text
#字符界面,最小化安装
kernel vmlinuz
#加载内核
append initrd=initrd.img method=ftp://192.168.65.21/centos7
​
label linux rescue
#救援模式的引导入口
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.65.21/centos7
:wq!   

在新建的虚拟机上操作

1.运行新建虚拟机

无人值守操作

1.xshell安装无人值守

[root@test2 pxelinux.cfg]# yum -y install system-config-kickstart

无人值守配置

1.回到根目录进入保存文件修改配置文件

[root@test2 pxelinux.cfg]# cd
[root@test2 ~]# ls
anaconda-ks.cfg       ks.cfg  模板  图片  下载  桌面
initial-setup-ks.cfg  公共    视频  文档  音乐
[root@test2 ~]# vim ks.cfg把这些安装包添加进来,格式以%开头以%结尾
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
​
%end

2.把ks.cfg添加到default

[root@test2 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
​
label auto
#图形界面的默认安装入口
kernel vmlinuz
#表示加载内核文件,是vmlinuz
append initrd=initrd.img method=ftp://192.168.65.21/centos7 ks=ftp://192.168.65.21/ks.cfg

3.把ks.cfg复制到ftp的根目录

[root@test2 ~]# vim ks.cfg
[root@test2 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
[root@test2 ~]# cp ks.cfg /var/ftp/
[root@test2 ~]# cd /var/ftp/
[root@test2 ftp]# ls
centos7  ks.cfg  pub
[root@test2 ftp]# 

4.到新建的虚拟机,虚拟机是卡住的状态,这是直接重启虚拟机。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最小相位系统

最小相位系统 1、传递函数 一个线性系统的响应。 比如一个RC低通滤波器: 交流分量在电容的充放电中被滤除掉,通过设置电容器的电容值,以及电阻值,能够控制这种滤除能力,这个参数为RC。 电容的电抗为 1 / j w C 1/j…

单片机+TN901非接触式红外测温设计

摘要 温度测量技术应用十分广泛,而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中,要求测量温度用的传感器不能与被测物体相接触,这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设计的…

C语言实战:贪吃蛇(万字详解)

💡目录 效果图 界面设计思路 1. 基本布局 2. 视觉元素 游戏机制设计 基本规则 游戏代码 前期准备 游戏代码详解 数据结构设计 宏定义 数据结构定义 函数原型(详见后文) 主函数代码 核心代码 Review 效果图 界面设计思路 1. 基…

转型AI产品经理(4):“认知负荷”如何应用在Chatbot产品

认知负荷理论主要探讨在学习过程中,人脑处理信息的有限容量以及如何优化信息的呈现方式以促进学习。认知负荷定律认为,学习者的工作记忆容量是有限的,而不同类型的认知任务会对工作记忆产生不同程度的负荷,从而影响学习效果。以下…

Elasticsearch 认证模拟题 - 16

一、题目 创建一个搜索模版,要求 match_prase 查询,并且用指定的格式高亮,并排序 # 创建索引 PUT my_index {"settings": {"number_of_replicas": 0,"number_of_shards": 1},"mappings": {"p…

【SpringCloud学习笔记】Docker(上篇)

Docker 1. 前置准备 在学习Docker之前我们需要具备以下环境: Linux云服务器 / 虚拟机安装并配置Docker环境(命令行中输入docker -v能够显示对应版本证明安装成功) 2. 快速入门 要求: 我们先来尝试使用Docker创建MySQL服务&am…

ChatGLM2-6b的本地部署

** 大模型玩了一段时间了,一直没有记录,借假期记录下来 ** ChatGlm2介绍: chatglm2是清华大学发布的中英文双语对话模型,具备强大的问答和对话功能,拥有长达32K的上下文,可以输出比较长的文本。6b的训练参…

pycharm使用pip安装依赖包报错 -----Microsoft Visual C++ 14.0 is required解决方法

pip安装第三方库的时候会报错:需要Microsoft Visual C14.0或更高版本。 报错原因 因为pip所安装的包需要使用C编译后才能够正常安装,但是当前安装环境中缺少完整的C编译环境,因此安装失败。 这样解决方案就很明确了,安装完整的C编…

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题 使用VMware Workstation 17 Player,再上面安装 Ubuntu ,安装完之后,需要和主机之间进行复制粘贴。 首先安装了VMware Tools。 在打开的页面下把 VMwareTools…

c++【入门】正多边形每个内角的度数

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 根据多边形内角和定理,正多边形内角和等于:(n - 2)180(n大于等于3且n为整数)(如下图所示是三角形、四边形、五边形、六边形的形状&#xff09…

Stable Diffusion WebUI 各操作系统安装教程

最近几天在 2 台 Mac、2 台 PC、一台云无 GPU 的 Linux 安装了 Stable Diffusion WebUI,这里记录下如何安装,以及一些注意点和坑。 以下内容针对 Windows(N 卡)、MacOS(m 系列芯片)、Linux(Ubu…

【国产NI替代】SMU 源测量仪:源测量单元平台主要用于半导体、传感器、模组等 IVR 测试测量

• 集 5 台仪器 (数字万用表、电压源、电流源、电子负载和脉冲发生器) 功能于⼀体 • 典型输出源及测量精度 02%,支持直流/脉冲输出模式 • 脉冲输出模式,最⼩脉冲宽度 100 us ,上升时间 10 us • 具有 pA 级分辨率高精度源,且…

【Python机器学习】PCA——特征提取(1)

PCA的一个重要应用是特征提取。特征提取背后的思想是,可以找到一种数据表示,比给定的原始表示更适合于分析。特征提取很有用,它的一个很好的应用实例就是图像。图像由像素组成,通常存储于红绿蓝强度。图像中的对象通常由上千个像素…

变声器软件免费版有哪些?国内外12大热门变声器大盘点!(新)

变声软件是一种人工智能AI音频处理工具,允许用户实时修改自己的声音或改变预先录制的音频。这些软件解决方案可提供不同的效果,如改变声音的音调或速度,或将我们的声音转换成其他人或其他东西的声音,如名人、卡通人物、机器人或不…

WinForms 应用(.NET 8.0)使用ReportViewerCore.WinForms显示打印RDLC报表

在要WinForms 应用(.NET 8.0)中,显示RDLC报表,就要使用ReportViewerCore.WinForms。原来的ReportViewer只能在.NET Framework框架下运行。 1.ReportViewerCore.WinForms 程序包说明 SQL Server Reporting Services ReportViewer…

[stm32]——uc/OS-III多任务程序

目录 一、获取uC/OS-III源码 二、移植源代码 (1)建立工程文件 (2)移植uC/OS-III源码 (3)添加工程组件和头文件路径 (4)添加头文件路径 三、修改代码 总结 一、获取uC/OS-III源码 …

【Vue】声明式导航-自定义类名(了解)

问题 router-link的两个高亮类名 太长了,我们希望能定制怎么办 解决方案 我们可以在创建路由对象时,额外配置两个配置项即可。 linkActiveClass和linkExactActiveClass const router new VueRouter({routes: [...],linkActiveClass: "类名1&quo…

【中篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了Yolo v1, 今天从Yolov2开始。 YOLOv2:更好、更快、更强 2017 年 7 月一个闷热的星期二下午,雷德蒙(Joseph Redmon, Yolo创始人)再次走上舞台。 …

Android gradle kts 8.0以上版本配置签名和修改APK输出名字

目录 概述修改签名配置新建签名文件目录配置签名信息使用签名信息打包 修改APK名称 概述 之前写过一篇文章是通过Kotlin的Dsl结合gradle编写的插件来管理项目依赖,我是从一个开源项目叫DanDanPlayAndroid项目上学到的,那时还没有使用toml文件来管理项目…

【CS.SE】使用 docker pull confluentinc/cp-kafka 的全面指南

文章目录 1 引言2 准备工作2.1 安装 Docker2.1.1 在 Linux 上安装 Docker2.1.2 在 macOS 上安装 Docker2.1.3 在 Windows 上安装 Docker 2.2 验证 Docker 安装 3 拉取 confluentinc/cp-kafka Docker 镜像3.1 拉取镜像3.2 验证镜像 4 运行 Kafka 容器4.1 启动 ZooKeeper4.2 启动…