pxe,kickstart

2023-12-27 21:38
文章标签 kickstart pxe

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

一,PXE(Pre-boot Execution Environment,预启动执行环境)简介:
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,所以服务器需要配置dhcp服务器,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议从服务器下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导**预先安装在服务器中的终端操作系统。**PXE可以引导多种操作系统。

PXE的工作过程:

  1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
  2. DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;
  3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;
  4. PXE Client 取得pxelinux.0 文件后之执行该文件;
  5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;
  6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;

这里写图片描述

二,对linux安装过程的解析:
pxe安装是通过dhcp获取ip,并通过http获取相应的内核文件和初始化境像文件。pxe程序(pxelinux.0)会让网卡读取isolinux这个文件。

pxe程序对应的软件:(这就是为什么安装syslinux的原因咯)
这里写图片描述
[root@foundation92 isolinux]# rpm -ql syslinux
这里写图片描述
[root@foundation92 isolinux]# cd /usr/share/doc/syslinux-4.05/
这里写图片描述
查看pxelinux.txt.文件的内容,此文件中指定了pxe安装系统的做法和需要的东西:
这里写图片描述
isolinux目录内容:
这里写图片描述
可以看见isolinux中包含了安装过程中需要的内核和初始化文件等一系列东西。怪不得在使用pxe安装主机时,pxelinux.0这个程序会让网卡读取isolinux这个目录了。

解析isolinux目录下内核文件和初始化文件:
这里写图片描述

isolinux.cfg文件中记录了开机应做的动作和安装系统的一些设置和必要的东西。

三,操作步骤:
1,pxe的安装和配置

[root@server ~]#yum install -y httpd dhcp tftp-server syslinux
安装tftp-server时会安装两个包,一个是tftp-server另一个是xinetd。
[root@server ~]# vim /etc/xinetd.d/tftp

 14         disable                 = no

[root@server ~]# systemctl restart xinetd.service #xinetd是tftp的守护进程
[root@server ~]# cd /var/lib/tftpboot/ #注意要将必要的文件放在此目录下
[root@server tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
[root@server tftpboot]# ls #从镜像中获取以下的安装系统所需要的东西
boot.cat initrd.img memtest splash.png vesamenu.c32 boot.msg isolinux.bin pxelinux.0 TRANS.TBL vmlinuz grub.conf isolinux.cfg pxelinux.cfg upgrade.img
[root@server tftpboot]# mkdir pxelinux.cfg
[root@server tftpboot]# cp isolinux.cfg pxelinux.cfg/default

[root@server ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf -p
[root@server tftpboot]# vim /etc/dhcp/dhcpd.conf

  1 option domain-name "example.com";2 option domain-name-servers 172.25.254.93;3 default-lease-time 600;4 max-lease-time 7200;5 log-facility local7;6 subnet 172.25.254.0 netmask 255.255.255.0 {7   range 172.25.254.95 172.25.254.99;8   option routers 172.25.254.93;9   next-server 172.25.254.93;#tftp主机的地址10   filename "pxelinux.0";#pxe启动程序11 }

systemctl stop firewalld
systemctl restart dhcpd
systemctl restart httpd
systemctl restart xinetd.service

测试:
拔掉网线,在主机上的任意一台虚拟机上选择网络启动(网卡启动)
这里写图片描述
可以看见新装的虚拟机从配置的服务器上获取ip并下载内核和初始化所需要的东西:
这里写图片描述
可以看见,新装的主机从172.25.254.93上获取到的ip为:172.25.254.95。但是到此为止还不能安装系统,因为没有在93主机上指定安装所需要的镜像。到此只能证明可以通过93 主机以pxe方式安装主机了。

[root@server tftpboot]# vim pxelinux.cfg/default
这里写图片描述

default文件部分参数解析:
[root@server tftpboot]# vim pxelinux.cfg/default

 2 timeout 50  #倒计时5秒10 menu background haha.png  #安装界面的背景图11 menu title Red Hat Enterprise Linux 7.0   #主标题61 label linux62   menu label ^Install Red Hat Enterprise Linux 7.0 63   menu default  #设置默认时install而不是test64   kernel vmlinuz  #读取内核文件65   append initrd=initrd.img repo=http://172.25.254.92/rhel7 ks=http://172.25.254.93/ks.cfg #此处指定了安装系统的镜像位置和自动部署所需的ks.cfg的位置

关于安装界面背景图的设置:
背景图的格式:
这里写图片描述
制作此种格式大小的方法:
yum install ImageMagick-6.7.8.9-10.el7.i686 -y
convert -resize 640x480! timg.jpg(原名) test.jpg(自取名)
mv test.jpg /var/lib/tftpboot/
然后就可以通过修改default文件中的对应位置改变背景图了。

2,ksckstart的安装和自动应答脚本的生成:

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件,此文件在安装系统时会被读取,所以就可以获得安装过程中需要的参数信息,这样就可以实现自动化安装系统了。

这里写图片描述

yum install system-config-kickstart -y
system-config-kickstart
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
保存在/var/www/html下:
这里写图片描述

中文参考:http://www.linuxidc.com/Linux/2015-09/123312.htm
ks.cfg生成后可以在文件中添加一些开机执行的脚本
这里写图片描述
安装完成后可以在浏览器访问到:
这里写图片描述

创建一个自动安装的脚本:
vim auto-installvm.sh

#!/bin/bash
virt-install \
--name $1 \
--vcpus 1 \
--ram 512 \
--file /var/lib/libvirt/images/$1.qcow2 \
--location http://172.25.254.92/rhel7 \
--extra-args "ks=http://172.25.254.91/ks.cfg" &

执行命令:sh auto-installv.sh test
就会自动安装一个名为test的虚拟机。
到此完成kickstart的半自动安装。

这篇关于pxe,kickstart的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

DHCP和PXE

目录 1. 如何使用DHCP服务? 2. Linux主机如何配置DHCP客户端服务? 3. 什么是DHCP? 4. DHCP的工作过程? 5. 什么是PXE? 1. 如何使用DHCP服务? 路由器一般会开启DHCP服务,电脑需要开启DHCP client服务。   2. Linux主机如何配置DHCP客户端服务? vim /etc/sysconfig/network-scr

搭建 PXE 远程安装服务器和设置 Kickstart 无人值守安装

目录 搭建 PXE 远程安装服务器 1.安装并启用 TFTP 服务 2.安装并启用 DHCP 服务 3.准备 Linux 内核、初始化镜像文件 4.准备 PXE 引导程序 5.安装FTP服务,准备CentOS 7 安装源 6.配置启动菜单文件 7.关闭防火墙,验证 PXE 网络安装 设置 Kickstart 无人值守安装 1.准备安装应答文件 安装system-config-

6 - Linux PXE高效批量网络装机

目录 一、PXE概述 1.简介 2.优点 3.前提条件 二、搭建PXE远程安装服务器 三、实现Kickstart无人值守安装 一、PXE概述 1.简介 PXE(Preboot eXcution Environment)预启动执行环境,是由Intel公司开发的网络引导技术,工作在Client\Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或

PXE无人值守批量装机操作步骤

目录 PXE PXE所需环境 开机过程 部署PXE有人值守操作步骤 一. 配置环境 FTP DHCP和TFTP 二. 测试 部署无人值守操作步骤 一. 环境配置 二. 测试 总结 1. 实现PXE远程装机所需要的组件 2. PXE网络引导安装过程 PXE PXE:Preboot eXecution Environment(预启动执行环境) PXE是一个规范

6 PXE高效批量网络装机

6.1部署PXE远程安装服务 在大规模的Liunx应用环境中,如web群集,分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何为数十乃至上百台服务器裸机快速安装系统呢?传统的USB光驱,移动硬盘等安装方法显然已经难以满足需求。 PXE技术的网络装机方法,并结合Kisckstart配置实现无人值守自动安装。 规模化:同时装配多台服务器; 自动化:安装系统,配置各种服务; 远程实现

PXE的搭建

这两天因为需要对一堆的服务器进行装系统。一个个来太过于麻烦,因此试着搭建PXE这中通过网络来进行系统装配。下面来说说把。 PXE(preboot execute environment,预启动执行环境)。在启动过程中,终端要求服务器分配ip地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transf

RHEL8/Centos8 install for PXE

PXE介绍 PXE(Preboot Execution Environment)是预引导执行环境的缩写。它是由Intel设计的,允许客户端计算机通过网络从服务器上加载操作系统镜像。PXE通常用于大规模部署操作系统,例如在企业或学校环境中。 PXE工作流程如下: 当计算机启动时,BIOS 会进行 POST(Power-On Self-Test)自检,检查硬件是否正常运行。BIOS 随后会从默认

pxe自动装机与无人值守

一、pxe与无人值守 pxe:c/s 模式,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。 pxe的优点: 1、规模化 同时装配多台服务器(20多)不超过30台 2、自动化 3、远程实现,不需要光盘,u盘 c/s客户端和服务端都可以是多台。 pxe的安装条件: 硬件方面:网卡 支持pxe协议。主板支持网络引导。 软件方面:服务端要有d

Linux——PXE_FTP_EL8

PXE +Kickstart ( el8 ) 使用两个网口一个用net接口用于下载服务和软件包,另一个为仅主机用于与其他的空主机相连 PXE(preboot execute environment)         预启动执行环境。支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器

PXE | ks脚本加强

目录   1.DHCP 2.TFTP 3.HTTP 接下来,使用nginx做http的部分 1)安装软件包 2)修改配置文件 4.ks脚本   5.额外准备的文件,客户机要从服务器下载的 1)hosts文件 2)repo文件 6.客户机安装 1.DHCP cat /etc/dhcp/dhcpd.conf## DHCP Server Configur