PXE高效批量网络装机

发布时间:2024年01月19日

引言

1、系统装机的三种引导方式

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系统,文件系统驱动等

目录

一、PXE

1.什么是 pxe

1.1实现的硬件条件

2.实现过程讲解

3.搭建过程中服务详解

3.1 TFTP服务

3.2 vsftp:安装系统镜像文件获取方式

3.3 syslinux

3.4 DHCP服务

4、PXE的优点

5、?操作过程

6、Kickstart无人值守安装的步骤


一、PXE

1.什么是 pxe

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

1.1实现的硬件条件

  1. BIOS支持
  2. 网卡支持(现在基本都已支持)
  3. 需要在bios中开启开关,服务器一般没打开(bmc界面里打开)
  4. 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址
  5. 服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)
  6. 自带的站点(/var/lib/tftp) initrd.img(驱动) vmlinuz(内核) pxelinux.cfg/default(引导文件) pxelinux.0(小型的grub程序) tftp 指明

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.1 TFTP服务

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

3.2 vsftp:安装系统镜像文件获取方式

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

3.3 syslinux

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

3.4 DHCP服务

参考博客DHCP详解

4、PXE的优点

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

2.自动化:安装系统、配置各种服务

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

5、?操作过程

①下载有关安装包dhcp,tftp-server ,vsftpd,syslinux?

?②将配置文件模板复制到dhcp目录下,并进行修改

?③修改tftp的配置文件/etc/xinetd.d/tftp

#每项详解
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = no    
//wait no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接,表示是否开启多线程一起工作,否则需要等待
        user                    = root
        server                    = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot    
//指定TFTP根目录(引导文件的存储路径) -c允许上传
        disable                 = no   
//disable no表示开启TFTP服务 
        per_source              = 11    
//通过限制一个主机的最大连接数,从而防止某个主机独占某个服务,这里每个IP地址的连接数是11个
        cps                     = 100 2   
//表示服务器最多启动100个连接,如果达到这个数目将停止启动新服务2秒。在此期间不接受任何请求
        flags                   = IPv4
}

④找到引导程序文件的地址,并拷贝到站点文件里

⑤挂载软件安装源

?⑥将四大文件拷入 (/var/lib/tftpboot )

  • 找到initrd.img和vmlinuz文件,并复制到站点文件夹下。
  • 手写 pxelinux.cfg 文件。

⑦最后关闭防火墙并开启所有服务

6、Kickstart无人值守安装的步骤

①安装应答文件

②打开?Kickstart配置程序窗口(两种方法)

2.1 打开终端输入命令调出

?2.2点击应用程序,选择系统工具,即可找到kickstart

③配置Kickstart选项

--基本配置

--安装方法

?--引导装载程序选项

--分区信息

--网络配置

--防火墙配置

--预安装基本

--保存

?

④配置需要安装的软件包

?将anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中,只需要复制%packages到%end部分即可。

?5、 复制修改后保存的ks.cfg文件到FTP的根目录下

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

⑤测试,再次新建虚拟机,看是否能全部自动完成设置

文章来源:https://blog.csdn.net/weixin_58376680/article/details/135640222
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。