PXE批量安装——————rhel7

news2024/11/15 22:51:24

实验前准备

什么是PXE?

    PXE是一种基于网络的启动技术,它集成了在计算机的BIOS或UEFI中,允许计算机从网络服务器下载并启动操作系统或其他软件。

应用场景 

  • 无盘工作站:在教育和科研机构中,无盘工作站通过PXE启动操作系统,从网络服务器获取所有需要的文件和应用程序,便于系统管理和维护。
  • 服务器部署:在数据中心,PXE被广泛用于自动化服务器部署,管理员可以通过PXE大规模部署操作系统和应用程序,显著提高部署效率和一致性。
  • 系统恢复和应急启动:当计算机的本地存储设备故障时,可以通过PXE启动应急操作系统,进行数据恢复和系统修复。
  • 虚拟化环境:在虚拟化环境中,PXE被用于启动虚拟机,使其可以从网络加载操作系统和应用程序,简化虚拟机的管理和配置。

 优点

  • 规模化:能够同时装配多台服务器,提高部署效率。
  • 自动化:实现安装系统和配置各种服务的自动化,减少人工干预。

 总结

    PXE是一种强大的网络引导技术,它提供了一种快速、高效、集中化的方式来处理计算机的操作系统安装、配置和维护。随着计算机网络的发展和虚拟化技术的普及,PXE在各种IT环境中得到了广泛的应用,特别是在大规模计算机部署和维护中发挥着重要作用。

安装需求

 VMware虚拟机    rhel7镜像文件

VMware虚拟机安装rhel7

 VMware安装虚拟机

 正式实验

 环境配置

[root@172 ~]# systemctl stop firewalld && systemctl disable firewalld   ##关闭防火墙以及开机自启

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@172 ~]# 
[root@172 ~]# 
[root@172 ~]# setenforce 0  ###关闭SELinux以及开机自启
[root@172 ~]# 
[root@172 ~]# vim /etc/selinux/config
-bash: vim: 未找到命令
[root@172 ~]# 
[root@172 ~]# vim /etc/selinux/config
-bash: vim: 未找到命令
[root@172 ~]# 
[root@172 ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing    ##SELINUX=enforcing 改为SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


[root@172 ~]# vi /etc/selinux/config  
[root@172 ~]#

 

[root@172 ~]# systemctl stop NetworkManager && systemctl disable NetworkManager
               关闭图形化网络工具以及开机自启
                  
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@172 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
-bash: vim: 未找到命令
[root@172 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 
                配置静态网络              
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.111.254
PREFIX=24
配置内容
[root@172 ~]# systemctl restart network   重启网络



       

cd /etc/yum.repos.d/
ls

 

创建备份目录进行备份(我们这里使用本地源就可以)

mkdir backup
yum.repos.d]# mv CentOS-* backup/

vim local.repo 
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

进行挂载 

 mount /dev/sr0 /mnt/

 

启动FTP 

systemctl start vsftpd

 拷贝系统文件

 mkdir /var/ftp/centos7
cp -r /mnt/* /var/ftp/centos7/
sync

 

安装DHCP 

yum install -y dhcp 

 

配置DHCP 

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

vim /etc/dhcp/dhcpd.conf

 启动服务

systemctl start dhcpd

安装TFTP  

 yum install -y xinetd
yum install -y tftp-server

 

 配置TFTP

vim /etc/xinetd.d/tftp  

 启动服务

systemctl start tftp 

  安装SELinux 

yum install -y syslinux  

 

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cd /mnt/images/pxeboot/
ls 

 

cp initrd.img vmlinuz /var/lib/tftpboot/

创建default文件 

mkdir /var/lib/tftpboot/pxelinux.cfg
cd /var/lib/tftpboot/pxelinux.cfg/ 

vim default

 

default auto
prompt 1
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.111.254/centos7

 配置Kickstart

 安装system-config-kickstart,使用图形界面配置

yum install -y system-config-kickstart

 

 配置文件位置 

vim /root/anaconda-ks.cfg

%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
%end
 进入图形界面

system-config-kickstart

 

 

 

 

更改配置文件

 vim /root/ks.cfg

%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
%end

 

 cp /root/ks.cfg /var/ftp

vim /var/lib/tftpboot/pxelinux.cfg/default 

default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.111.254/centos7 ks=ftp://192.168.111.254/ks.cfg

 

 进行装机检测

 

 

 

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

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

相关文章

字符串切割split

let obj {} let str "aa占比:17.48%,aa计费占比:0.00%" let arr str.split(,) // [aa占比:17.48%,aa计费占比:0.00%] arr.forEach(item > { let [key,value] item.split(:) obj[key] value }) console.log(obj) //{aa占比: 17.48%, aa计费占比: 0.00%} con…

Markdown文本编辑器:Typora for Mac/win 中文版

Markdown 是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档。Typora 支持且仅支持 Markdown 语法的文本编辑,生成的文档后缀名为 .md。 这款软件的特点包括: 实时预览:Typora 的一个显著特点是实时预览&#x…

lombok安装成功但是找不到方法

2024.1.1版本的IDE的插件安装了默认的lombok(如图1),pom文件中也引入了lombok的依赖,在实体类写了Data的注解,当调用实体类的get和set方法运行时,报错找不到相应的方法,但是在调用get、set方法的…

Java实现全局异常统一处理

Java实现全局异常统一处理 【一】介绍【二】为什么要使用全局异常处理【三】案例实现【1】GlobalException【2】GlobalExceptionHandler【3】使用 【一】介绍 全局异常处理器是一种在应用程序中几种处理异常的机制,它允许在应用程序的任何地方抛出异常时&#xff0…

2024年6月scratch图形化编程等级考试一级真题

202406 scratch编程等级考试一级真题 选择题(共25题,每题2分,共50分) 1、音乐Video Game1的时长将近8秒,点击一次角色,下列哪个程序不能完整地播放音乐两次 A、 B、 C、 D、 答案:D 考点分…

CasaOS系统小主机Docker部署memos结合内网穿透打造私有云笔记

文章目录 前言1. 使用Docker部署memos2. 注册账号与简单操作演示3. 安装cpolar内网穿透4. 创建公网地址5. 创建固定公网地址 前言 本文主要介绍如何在CasaOS轻NAS系统设备中使用Docker本地部署开源云笔记服务memos,并结合cpolar内网穿透工具配置公网地址&#xff0…

STL-queue容器适配器

目录 一、queue 1.1 使用 1.2 模拟实现 二、priority_queue 2.1 使用 2.2 仿函数 2.2.1 概念 2.2.2 使用 2.3 模拟实现 一、queue 1.1 使用 具体解释详见官方文档:queue - C Reference (cplusplus.com) queue就是数据结构中的队列:数据结构之…

体系结构论文导读(三十四):Design of Reliable DNN Accelerator with Un-reliable ReRAM

文章核心 这篇文章主要讨论了一种在不可靠的ReRAM(阻变存储器)设备上设计可靠的深度神经网络(DNN)加速器的方法。文章提出了两种关键技术来解决ReRAM固有的不可靠性问题:动态定点(DFP)数据表示…

日撸Java三百行(day14:栈)

目录 一、栈的基本知识 1.栈的概念 2.栈的功能 3.栈的实现 二、栈的代码实现 1.栈的基本属性与方法 2.栈的遍历 3.入栈实现 4.出栈实现 5.数据测试 6.完整的程序代码 总结 一、栈的基本知识 1.栈的概念 根据百度百科,我们知道“栈”是存储货物或供旅客…

小怡分享之Java图书管理系统

前言: 🌈✨前面小怡给大家分享了抽象类和接口,今天小怡给大家分享用Java实现图书管理系统。 1.功能 不同的用户看到的菜单是不一样的,我们分为两个用户身份,管理员和普通用户。 2.知识点 数据类型、变量、数组、方法…

跳妹儿学编程之ScratchJr(12):综合篇-五只小猴子床上跳

博主资深软件架构师,拥有13年大型软件与互联网系统开发、设计和架构经验,曾就职于华为,现任职于国内知名互联网公司。平时在家教咱家“跳妹儿”编程,并将心得和过程记录下来。希望可以帮助更多对编程感兴趣的家庭。 引言 在前面的…

略读ArrayList源码

ArrayList是Java集合框架中的一部分,底层是通过数组实现的,可以动态增长和缩减。 一、首先看成员变量 序列化ID定义。在Java中,如果一个类实现了Serializable接口,那么它的serialVersionUID就非常重要了。serialVersionUID用于确…

Cesium初探-CallbackProperty

在Cesium中,CallbackProperty 是一种非常有用的特性,可以用来动态更新实体的属性,如位置、方向、高度等。CallbackProperty 允许你在指定的时间点计算属性值,这样就可以实时地改变实体的状态而不需要频繁地重新设置整个属性。 下…

PCIe学习笔记(16)

层次结构(Hierarchy)ID Message (PCIe I/O 互连的树形拓扑结构称为 PCIe 的 Hierarchy,或称层级、层次(不是事务层、数据链路层的“层”)。层次区域是指与 RC 某一 RP 相关联的所有设备和链路组成的线路结…

【Linux课程学习】:对于权限的理解(粘滞位)

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 这篇文章主要理解权限的概念,以及如何更改…

CSS:图片间空白间距问题的解决方案

一、问题描述 今天有小伙伴遇到多张图片排版显示时中间存在空白间隙&#xff0c;问如何处理&#xff1a; <div> <img width"100%" src"https:/xxx.png" id"1747098" style"max-width:100%;"><img width"100%&qu…

学习进行到了第十七天(2024.8.5)

1.Mybatis的定义 数据持久化是将内存中的数据模型转换为存储模型&#xff0c;以及将存储模型转换为内存中数据模型的统称。例如&#xff0c;文件的存储、数据的读取以及对数据表的增删改查等都是数据持久化操作。MyBatis 支持定制化 SQL、存储过程以及高级映射&#xff0c;可以…

【leetcode详解】另一棵树的子树 (C++递归:思路精析 过程反思)

思路详解&#xff1a; 总体框架&#xff1a; 对root树进行先序遍历&#xff0c;如果当前结点&#xff08;记为cur&#xff09;的值和subRoot的根节点值相等时&#xff0c;就开始判断 以cur为根节点的树 和 子树 是否结构一样? 如何判断两棵树是否结构完全相同&#xff1f; …

Docker Remote API未授权访问漏洞

9.Docker Remote API未授权访问漏洞 步骤一:使用以下Fofa语句对Docker产品进行搜索. port"2375" 步骤二:直接使用浏览器访问以下路径 /version#查看版本信息 /info#查看容器信息 漏洞修复 1.端口访问控制 对2375端口做网络访问控制&#xff0c;如设置iptables…

人工智能时代程序员生存法则

随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#xff0c;也有人认为AI是提高效率的得力助手。面对这一趋势,…