Linux网络服务:PXE高效批量网络装机

目录

一、理论

1.PXE批量网络装机概述

2.搭建 PXE 远程安装服务器

3.实现Kickstart无人值守安装

二、实验

1.搭建PXE远程安装服务器

2.安装Kickstart无人值守安装

3.安装图形化界面

三、问题

1.please complete all spokes before continuing 提示


一、理论

1.PXE批量网络装机概述

(1)PXE 概述

PXE指预启动执行环境(Preboot eXecution Environment),也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

PXE是由Inter 公司开发的网络引导技术,工作在Client / Server 模式。允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统

(2)PXE 优点

规模化:同时装配多台服务器

自动化:安装系统,配置各种服务都可以交给机器进行

远程实现:不需要光盘,U盘等安装介质

(3)前提条件

      ① 客户端和服务端处于同一个局域网

      ② 客户端:

          客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置允许从Network或LAN 启动即可。

      ③ 服务端:

          网络中有一台DHCP服务器,以便位客户机自动分配地址,指定引导文件位置。

服务器要通过 TFTP 服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载

(4)PEX需要的四大文件

grub引导程序:pxelinux.0

内核映像:vmlinuxz

精简的linux系统的文件系统驱动:initrd.img

启动菜单的配置文件:pxelinux.cfg

2.搭建 PXE 远程安装服务器

PXE 远程安装服务器集成了 Centos 7 安装源、TFTP 服务、DHCP 服务、FTP 服务, 能够向客户机裸机发送 PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。

(1)PXE使用服务

TFTP:UDP协议,通过此协议将需要的文件下载到网卡,网卡自带功能。网卡不支持ftp。

FTP:装软件包时数据过大,tftp不能保证传输。

SYSLINUX-EXTLINUX.X86_64:小型的grub引导程序。

SYSTEM-CONFIG-KICKSTART:KICKSTART无人值守安装

(2)TFTP (简单文件传输协议)

         TFTP是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。 TFTP服务默认由xinetd服务进行管理,使用UDP 端口 69

(3)xinted

     ① xinted简介

  xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。 xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

守护进程也称精灵进程 (Daemon), 是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。

在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母是d的进程都是守护进程。

      ② xinetd的特色

1) 强大的存取控制功能

— 内置对恶意用户和善意用户的差别待遇设定。

— 使用libwrap支持,其效能更甚于tcpd。

— 可以限制连接的等级,基于主机的连接数和基于服务的连接数。

— 设置特定的连接时间。

— 将某个服务设置到特定的主机以提供服务。

2) 有效防止DoS攻击

— 可以限制连接的等级。

— 可以限制一个主机的最大连接数,从而防止某个主机独占某个服务。

— 可以限制日志文件的大小,防止磁盘空间被填满。

3) 强大的日志功能

— 可以为每一个服务就syslog设定日志等级。

— 如果不使用syslog,也可以为每个服务建立日志文件。

— 可以记录请求的起止时间以决定对方的访问时间。

— 可以记录试图非法访问的请求。

4) 转向功能

可以将客户端的请求转发到另一台主机去处理。

5) 支持IPv6

xinetd自xinetd 2.1.8.8pre*起的版本就支持IPv6,可以通过在./configure脚本中使用with-inet6 capability选项来完成。注意,要使这个生效,核心和网络必须支持IPv6。当然IPv4仍然被支持。

6) 与客户端的交互功能

无论客户端请求是否成功,xinetd都会有提示告知连接状态。

      ③ Xinetd的缺点

当前,它最大的缺点是对RPC支持的不稳定性,但是可以启动protmap,使它与xinetd共存来解决这个问题。

     ④ 使用xinetd启动守护进程

原则上任何系统服务都可以使用xinetd,然而最适合的应该是那些常用的网络服务,同时,这个服务的请求数目和频繁程度不会太高。像DNS和Apache就不适合采用这种方式,而像FTP、Telnet、SSH等就适合使用xinetd模式,系统默认使用xinetd的服务可以分为如下几类。

     1) 标准Internet服务:telnet、ftp。

     2)信息服务:finger、netstat、systat。

     3) 邮件服务:imap、imaps、pop2、pop3、pops。

     4)RPC服务:rquotad、rstatd、rusersd、sprayd、walld。

     5)BSD服务:comsat、exec、login、ntalk、shell、talk。

     6) 内部服务:chargen、daytime、echo、servers、services、time。

     7)安全服务:irc。

     8)其他服务:name、tftp、uucp。

3.实现Kickstart无人值守安装

(1)Kickstart原理

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数;比如:我们安装系统的时候需要分区、设置时区、设置root密码、安装后执行的脚本等等,这些操作都记录下来并生成一个名为ks.cfg的文件

二、实验

1.搭建PXE远程安装服务器

(1)搭建环境

主机服务器地址:192.168.204.150   

一台主机:1)配置双网卡 一个作用是dhcp,一个是使用网络源安装环境包

                  2)DHCP部署    

                 3)tftp-server  服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

                  4)syslinux  //用来提供pxe的引导程序

                  5)xinetd  //用来托管tftp

                  6)vsftpd   //用来放置安装镜像,通过ftp访问镜像安装

                  7)kickstart //用来无人值守安装

(2)安装并启动DHCP服务

下载dhcp

将dhcp配置模板复制到dhcp配置文件中

 修改DHCP服务的配置文件

 启用DHCP服务,并设置开机自启

(3)安装并启动TFTP服务

下载tftp-serverr软件包

下载xinted软件包

 修改TFTP服务的配置文件

开启tftp服务和xinetd服务,并设置开机自启

(4)准备Linux内核,初始化镜像文件

挂载

查看

 复制 Linux系统的内核文件 到TFTP根目录下

 复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

(5)准备PXE引导程序

(6)安装FTP服务,准备CentOS 7 安装源

安装vsftpd服务

 在ftp根目录下创建目录centos7

将镜像文件强制复制到centos7目录中,可加&让它自己后台运行

开启vsftpd服务

开启vsftpd服务开机自启

(7)配置启动菜单文件

(8)关闭系统防火墙和安全机制

2.安装Kickstart无人值守安装

(1)准备安装应答文件

         安装system-config-kickstart 工具

 (2)打开“Kickstart 配置程序”窗口

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开或执行 “system-config-kickstart” 命令打开

 (3)配置kickstart选项

基本配置:

默认语言设为“中文(简体)”
时区设为“Asia/Shanghai”
设置root密码
高级配置中勾选“安装后重启”。

安装方法:

选FTP
FTP服务器:ftp://192.168.204.150
FTP目录:centos7

 引导装载程序选项:
“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序

 分区信息:
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间

 网络配置:
添加网络设备“ens33”
网络类型设为“DHCP”

防火墙配置:
禁用 SELinux、禁用防火墙

安装后脚本:
勾选“使用解释程序”:/bin/bash

 rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.204.150/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo

(4)保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”-->“保存”命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg

 (5)配置需要安装的软件包
可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,
只需要复制%packages 到%end 部分即可。


如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end

(6)编辑引导菜单文件 default,添加 ks 引导参数

添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

3.安装图形化界面

Linux默认情况下是不会安装图形界面的,所以需要自己手动安装,步骤如下:

(1)开启系统,以root身份进入

(2)安装X(X Window System),命令如下:

         yum groupinstall "X Window System"

(3)然后安装图形界面软件,GNOME(GNOME Desktop),命令如下:

         yum groupinstall "GNOME Desktop"

(4)安装完成后我们可以通过命令 startx 进入图形界面

 

 (5)开机启动图形化界面

      ① 使用ctrl+alt+f2切换到命令行模式,如果本身就是命令行模式就直接看下面的步骤

      ② 查看当前开机启动模式:systemctl get-default

          运行结果:

          graphical.target代表开机时启动图形化界面

          multi-user.target代表开机时启动dos界面

      ③ 输入如下命令设置开机启动图形界面

          systemctl set-default graphical.target

         如果想开机启动dos界面,就输入如下命令:  
          systemctl set-default multi-user.target

三、问题

1.please complete all spokes before continuing 提示

解决方法:
输入“1”,按Enter
输入“2”,按Enter
输入“q",按Enter
输入“yes”,按Enter

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

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

相关文章

供应链|供应商库存服务水平对零售商需求的影响

作者:Nathan Craig, Nicole DeHoratius, Ananth Raman 引用:Craig N, DeHoratius N, Raman A. The impact of supplier inventory service level on retailer demand[J]. Manufacturing & Service Operations Management, 2016, 18(4): 461-474. 文…

【JavaSE】Java基础语法(八)

文章目录 🍓1. 类和对象🍹🍹1.1 类和对象的关系🍹🍹1.2 类的定义 🍓2. 对象内存图🍹🍹2.1 单个对象内存图🍹🍹2.2 多个对象内存图2.3 多个对象指向相同内存图…

服务器性能优化方法

文章目录 服务器性能优化方法什么是服务器并发处理能力?什么方法衡量服务器的并发能力?怎么提高服务器的并发处理能力?**1,提高CPU并发计算能力**(1)多进程&多线程(2)减少进程切…

【Unity】实现无缝地图

无缝地图是沙盒游戏的标配,可以极大提升玩家体验和沉浸感。 无缝地图的实现过程还是比较复杂的,在这里做一下实现笔记 1、地图分块: 将地图划分为较小的块,例如瓦片或区块。每个块可以是一个独立的游戏对象或地形块。确定每个块的大小和位置。你可以使用Unity的Tilemap工具…

二次元的登录界面

今天还是继续坚持写博客,然后今天给大家带来比较具有二次元风格的登录界面,也只是用html和css来写的,大家可以来看看! 个人名片: 😊作者简介:一名大一在校生,web前端开发专业 &…

【小程序】封装时间选择组件:用单元格van-cell和插槽slot,包括起始时间和终止时间

效果 可以选择起始时间和终止时间,并显示。 时间选择器放在van-cell的value插槽中。 用的库: https://vant-contrib.gitee.io/vant-weapp/#/home https://dayjs.fenxianglu.cn/category/ 用的组件:Cell单元格、DatetimePicker时间选择、Pop…

Linux——gdb调试器

目录 前言: 二.gdb定义及指令: 如何查看该exe文件是否为Debug版本?两种方法: 三.gdb调试: 调试指令1:l指令(小写L) run指令:运行程序,相当于VS中的直接运行不调试——可简化输入r break指令&#xff1…

解析云盘存储的优缺点:安全靠谱还是存在风险?

云盘是一种基于云计算技术的在线存储服务,用户可以通过互联网将文件上传到云端,并可以随时随地通过网络访问这些文件。 相较于传统的本地存储,云盘具有以下优势: 1.数据安全性更高:云盘使用专业的云计算技术和安全措施…

安装stable-diffusion

安装流程&#xff1a; 下载stable-diffusion源码 <https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.2.1>安装python <https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe>添加host 打开C:\Windows\System32\drivers\etc…

01Redis单线程 VS 多线程

不同版本&#xff0c;情况不同 Redis的版本很多3.x、4.x、6.x&#xff0c;版本不同架构也是不同的&#xff0c;不限定版本问是否单线程也不太严谨。 版本3.x &#xff0c;最早版本&#xff0c;也就是大家口口相传的redis是单线程 数据结构简单避免锁的开销和上下文切换可以有…

chatgpt赋能python:Python中的乘方操作

Python中的乘方操作 作为一种流行的编程语言&#xff0c;Python内置了许多强大的数学运算工具。其中&#xff0c;乘方操作是一个非常常见的数学操作&#xff0c;它可以快速地计算一个数的任意次幂。本文将介绍Python中乘方操作的用法&#xff0c;并提供了一些相关的示例代码。…

论文撰写总结与撰写心得——如何更好的产出几万字的论文

一张图开场&#xff0c;说说为什么会有本篇文章&#xff0c;因为晚上关了灯的屏幕太晃眼睛了&#xff0c;之前好几次不是哥哥我不加班帮小伙伴们搞论文&#xff0c;是当时眼睛顶不住了&#xff0c;所以这篇文章除了说一下论文的码字心得外&#xff0c;哥哥我再说一下如何在夜间…

LeetCode: 二叉树的直径(java)

二叉树的直径 leetcode 543题。原题链接题目描述解题代码二叉树专题 leetcode 543题。原题链接 543题&#xff1a;二叉树的直径 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也…

MySQL分库分表方案及sharding-spher(1)

一、数据库瓶颈 不管是IO瓶颈&#xff0c;还是CPU瓶颈&#xff0c;最终都会导致数据库的活跃连接数增加&#xff0c;进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是&#xff0c;可用数据库连接少甚至无连接可用。接下来就可以想象了吧&#xff08;并发…

液晶显示常用概念

文章目录 数字液晶显示消隐区水平&#xff08;行&#xff09;消隐 HBlank垂直&#xff08;场&#xff09;消隐 VBlank RGB格式RGB555RGB565RGB888 VGA驱动原理时钟信号像素时钟同步信号DE信号&#xff08;有效数据选通信号&#xff09;DE信号与其他信号的关系 数字液晶显示消隐…

【LCD应用编程】绘制点、线、矩形框

之前获取LCD屏幕参数信息时了解到&#xff0c;LCD屏是 FrameBuffer 设备&#xff0c;操作 FrameBuffer 设备 其实就是在读写 /dev/fb0 文件。除此之外&#xff0c;LCD屏上包含多个像素点&#xff0c;绘制点、线、矩形框本质是在修改这些像素点的颜色。 目录 1、定义 lcd_color…

【LeetCode】12,整数转罗马数字。 难度等级:中等。易错点:使用 python 字典构建哈希表时要考虑哈希表是否有序

文章目录 一、题目二、我的解法&#xff1a;基于有序哈希表的贪心算法2.1 使用 dict 构建哈希表2.2 使用两个 list / tuple 构建有序哈希表 一、题目 二、我的解法&#xff1a;基于有序哈希表的贪心算法 2.1 使用 dict 构建哈希表 贪心法则&#xff1a;我们每次尽量使用最大的…

面试被问麻了....

前几天组了一个软件测试面试的群&#xff0c;没想到效果直接拉满&#xff0c;看来大家对面试这块的需求还是挺迫切的。昨天我就看到群友们发的一些面经&#xff0c;感觉非常有参考价值&#xff0c;于是我就问他还有没有。 结果他给我整理了一份非常硬核的面筋&#xff0c;打开…

轻松高效!三种方法教你音频转文字!

我们在日常生活中&#xff0c;总会遇到许多需要音频转文字的情况。这个时候大部分小伙伴会选择一边播放音频一边记录的方式来整理音频的内容&#xff0c;这样既麻烦又费时&#xff0c;整理的效率也不高。其实我们只需要使用软件来协助我们将音频转换成文字&#xff0c;就可以很…

java 注解学习

Java 语言中存在三类注解&#xff0c;分别是元注解&#xff08;Meta-annotations&#xff09;、Java 内置注解&#xff08;Built-in Annotations&#xff09;和自定义注解&#xff08;Custom Annotations&#xff09;。 1、元注解&#xff08;Meta-annotations&#xff09; 元…