pxe自动装机(centos)

ops/2024/11/19 12:16:47/

概述

        PXE(Preboot Execution Environment)是一种允许计算机通过网络启动自己的操作系统的技术。它允许计算机在缺少本地存储设备或操作系统的情况下,从远程服务器上下载并执行操作系统。PXE通常用于无盘站点或远程支持,可以通过网络直接引导计算机,而无需使用本地硬盘或光盘。

pxe的工作原理

  • DHCP:为计算机分配IP地址。
  • FTP:进行系统文件的传输。
  • TFTP:提供操作系统镜像文件。
  • 客户端:在启动时通过DHCP获取IP地址,然后通过TFTP和FTP下载启动文件,完成操作系统的加载和安装。

pxe的优点

  • 规模化:同时装配多台服务器(一台服务器一般可以装配20-30台)
  • 自动化:系统安装和服务配置不需要人工干预
  • 远程实现:既不需要光盘,也不需要U盘

一、pxe

pxe----->自动安装系统必要的运行环境

1.安装并启动tftp服务

yum -y install tftp-server xinetd #安装tftp和xinetd服务
vim   /etc/xinetd.d/tftp
wait=no     #yes串行,no并行
disable=no   #开启tftp服务


systemctl   restart  tftp
systemctl   enable  tftp #开机自启,可以不设置
systemctl   restart  xinetd

2.安装并启用 dhcp 服务

yum -y install dhcp #安装dhcp

cd /usr/share/doc/dhcp-4.2.5/

cp dhcpd.conf.example /etc/dhcp/dhcpd.conf  #复制覆盖掉/etc/dhcp/dhcpd.conf

vim  /etc/dhcp/dhcpd.conf

next-server 192.168.206.10;   #指定TFTP服务器的ip地址(本机)

filename "pxelinux.0";   #指定要下载pxe引导程序的文件

subnet 192.168.206.0 netmask 255.255.255.0 {

range 192.168.206.60 192.168.206.70;

option routers 192.168.206.10; #指向本机

}

systemctl  restart  dhcpd

 

3.准备 Linux 内核、初始化镜像文件

mount   /dev/cdrom   /mnt  #挂载

cd  /mnt/images/pxeboot/

cp   initrd.img   /var/lib/tftpboot/  #initrd.img:linux引导加载模块

cp   vmlinuz     /var/lib/tftpboot/  #vmlinuz:内核文件

4.pxe的引导文件

yum  -y  install  syslinux

cd   /usr/share/syslinux/

cp   pxelinux.0   /var/lib/tftpboot/

ls   /var/lib/tftpboot/   #三个文件必不可少

 

 5.安装vsftp,进行系统文件的传输

yum  -y  install  vsftpd

mkdir   /var/ftp/centos7 #在匿名用户工作的目录/var/ftp下创建目录centos7

cp   -rf   /mnt/*    /var/ftp/centos7 #把整个光盘镜像强制复制到匿名用户工作的目录

 

6. 设置启动菜单的文件

cd   /var/lib/tftpboot/

mkdir   pxelinux.cfg #pxelinux.cfg目录名是固定的

cd  pxelinux.cfg/

vim default   #在该目录下创建default文件

default auto #声明pxe入口文件的位置 指定默认的接口

prompt 0 #表示不等待用户选择,自行操作

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.206.10/centos7

#图形化界面的安装入口,kernel和append来引导定义系统配置的文件

label linux text

kernel vmlinuz

append text initrd=initrd.img method=ftp://192.168.206.10/centos7

#字符串界面的入口

label linux rescue

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://192.168.206.10/centos7

#救援模式


systemctl stop firewalld  #关闭系统防火墙
setenforce 0   #关闭系统安全机制

 二、无人值守

1.安装system-config-kickstart 工具

yum  -y  install  system-config-kickstart

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

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开

或执行 “system-config-kickstart” 命令打开

 

3.配置kickstart选项 

 

 

 

4.保存自动应答文件

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

cp    /root/ks.cfg    /var/ftp/ks.cfg

5.配置需要安装的软件包

vim   /var/ftp/ks.cfg

%end的下面粘贴

#完全安装

%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

#最小化安装

%packages

@^minimal

%end

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

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

append initrd=initrd.img method=ftp://192.168.206.10/centos7 ks=ftp://192.168.206.10/ks.cfg

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

 7.验证无人值守安装

新建虚拟机(centos7 64位)-->开启虚拟机-->自动安装-->设置root账户密码-->等待安装完毕


http://www.ppmy.cn/ops/134966.html

相关文章

Java进阶(JVM)

Java进阶(一) 一. JVM 1.1 为什么学习JVM 首先面试需要 高级程序员也更需要了解JVM 1.2 JVM作用 JVM负责把编译后的字节转换为机器码 1.3 JVM内部构造 1.3.1 类加载部分: 负责把硬盘上字节码加载到内存中(运行时数据区) 1.3.2 运行时数据区: …

RN开发搬砖经验之—React Native(RN)应用转原生化-Android 平台

在过去的一年中,我的主要工作聚焦于将一个基于React Native(RN)框架开发的Android应用逐步转化为原生应用。我们采取了分阶段实施的策略,首先着手将应用中的二级和三级页面的核心功能以原生代码的形式进行重构。在这一过程中&…

鸿蒙next版开发:相机开发-元数据(ArkTS)

在HarmonyOS 5.0中,ArkTS提供了对相机元数据的访问能力,这对于开发者在相机应用中获取图像的详细信息非常有用。元数据(Metadata)是对相机返回的图像信息数据的描述和上下文,比如照片或视频中识别人像的取景框坐标等信…

Spring Boot汽车资讯:科技与速度的新纪元

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了汽车资讯网站的开发全过程。通过分析汽车资讯网站管理的不足,创建了一个计算机管理汽车资讯网站的方案。文章介绍了汽车资讯网站的系统分析部分&…

缓存及其不一致

在实际开发过程中,一般都会遇到缓存,像本地缓存(直接在程序里搞个map也可以,但是可能会随着数据的增长出现OOM,建议使用正经的本地缓存框架,因为自己实现淘汰策略啥的挺费劲的)、分布式缓存&…

Acwing342

这个代码实现了一种结合 连通块分解、拓扑排序 和 Dijkstra 算法 的复杂图的最短路径计算方法,适用于含有两类边的图结构:普通边(在连通块内)和特殊边(跨连通块)。 以下是详细的代码讲解,逐步解…

排序算法——快速排序

目录 一、快速排序的原理 二、快速排序的过程 三、代码的实现 四、代码的优化 总结 一、快速排序的原理 快速排序的思想是分治法,将一个大问题分割成几个小问题解决,首先选择一个数作为分水岭,然后让比该数大的都在它的右边&#xff0c…

【数据结构初阶】栈和队列的建立

栈 概念和结构 栈是一种特殊的线性表,它只允许一端进行插入和删除数据操作,这一端被称为栈顶,则另一端被称为栈底,而栈内的数据遵循后进后出,先进后出的原则 入栈:栈的插入操作被称为进栈、入栈、压栈&a…