PXE和kickstart无人值守安装

2024-01-18 10:12

本文主要是介绍PXE和kickstart无人值守安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PXE高效批量网络装机

引言

1.系统装机的引导方式

启动 操作 系统

1.硬盘

2.光驱(u盘)

3.网络启动 pxe

重装系统?

在已有操作系统

新到货了一台服务器,

装操作系统

系统镜像 u盘 光盘

pe: 小型的 操作系统 在操作系统 再装操作系统

pxe

2.系统安装过程

  • 加载boot loader

Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境

  • 加载启动安装菜单

  • 加载内核和initrd系统(文件才能使用文件)

  • 加载根系统()

  • 运行anaconda的安装向导

Linux安装光盘的安装相关文件

在系统光盘的isolinux目录下有和安装相关的文件

  • boot.cat: 相当于grub的第一阶段

  • isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目

  • isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件

  • vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单

  • memtest:内存检测程序

  • splash.png:光盘启动菜单界面的背景图

  • vmlinuz:是内核映像

  • initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等)

1.PXE介绍

PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。

pxe是通过网卡引导启动

1.1实现的硬件条件

1.BIOS支持

2.网卡支持(现在基本都已支持)

3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置    网卡自带DHCP功能    dhcp 指明分配的ip地址  

vsftpd   tftp

5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)

2.实现过程简述

1.网卡需要查找相关的dhcp服务器(获取地址时间)

2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

3.网卡使用tftp客户端吧引导程序加载到内存中来

4.bios执行引导程序

5.引导程序会去TFTP去查找配置文件

6.根据配置文件去引导安装系统

7.系统安装过程

3.搭建过程叙述

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

3.1TFTP

TFTP(简单文件传输协议):内核和引导文件

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

3.2vsftp:安装系统

可以使用http ftp等方式,ftp文件传输的一种。

3.3syslinux

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。

pxelinux.0 启动pxe pxe可以支持

4.pxe优点

1.规模化:同时装配多台服务器
2.自动化:安装系统、配置各种服务
3.远程实现:不需要光盘、U盘等安装介质

5.PXE和kickstart无人值守安装的操作过程

systemctl  stop firewalld

setenforce  0

#关闭防火墙和核心防护

yum install tftp-server   vsftpd   syslinux  dhcp   -y 

#安装软件

cat  /etc/dhcp/dhcpd.conf

#dhcp的配置文件

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

#将配置文件模板复制到dhcp目录下

vim /etc/dhcp/dhcpd.conf

#编辑dhcp配置文件

systemctl start dhcpd

#开启dhcp服务

vim  /etc/xinetd.d/tftp

#编辑tftp服务的配置服务

cd  /var/lib/tftpboot

#切到tftp的主目录下

mount  /dev/sr0  /mnt

#挂载到mnt下

cp  /mnt/isolinux/initrd.img    .

#拷贝镜像文件到tftpboot下

cp  /mnt/isolinux/vmlinuz    .

#拷贝内核文件到tftpboot下

rpm  -ql  syslinux | grep pxelinux.0

#查找syslinux中的pxelinux.0的文件

cp /usr/share/syslinux/pxelinux.0          .

#将syslinux中的pxelinux.0文件复制到当前目录下

mkdir pxelinux.cfg

#创建文件夹

vim pxelinux.cfg/default

#创建default文件

mkdir  /var/ftp/centos7

#新建文件夹

mount /dev/sr0  /var/ftp/centos7

#挂载

systemctl start tftp.socket

#开启tftp服务

systemctl start vsftpd

#开启ftp服务

 虚拟机内存一定要大于2G

yum  install  system-config-kickstart.noarch  -y

#安装图形化工具

进入虚拟机操作

回到服务器

要在一台新建的虚拟机下重启实验!并且内存要大于2GB!

6.Cobbler原理

  • client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP

  • DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址

  • client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求

  • cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port

  • client裸机通过上面告知的TFTP server地址通信,下载引导文件

  • client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image

  • cobbler server发送请求的kickstart和os iamge

  • client裸机加载kickstart文件

  • client裸机接收os image,安装该os image

6.1实际操作

[root@centos7 ~]#yum install epel-release.noarch -y
[root@centos7 ~]#yum install cobbler dhcp httpd   -y
[root@centos7 ~]#systemctl enable --now cobblerd httpd tftp dhcpd

[root@centos7 ~]#cobbler check

 openssl passwd -1 '123123'

#生成一个密钥文件

vim /etc/cobbler/settings 

$1$cWzI./u.$uoGgVITPzCR1NbSYCbn/t.

#修改主配置文件

 

 

 

vim /etc/cobbler/dhcp.template

#dhcp的配置模板

 

mount   /dev/sr0  /mnt

#挂载

cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64

#把镜像文件拷贝到固定目录下

du -sh /var/www/cobbler/ks_mirror/*

#拷贝到了这边,输入命令可以看到

 

在新建的无配置过的虚拟机里,重新启动,检验实验有没成功 

这篇关于PXE和kickstart无人值守安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/618719

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20