部署PXE远程安装服务

文章目录

  • 部署PXE远程安装服务
    • 一、PXE
      • 1、系统装机的三种引导方式
      • 2、系统安装过程
      • 3、PXE简介
      • 4、PXE原理
    • 二、PXE安装系统的过程
      • 1、需要的四个文件
      • 2、PXE安装系统的命令格式过程
      • 3、PXE安装系统的过程(图文详解)
      • 4、 kickstart 无人值守安装(一键安装)
        • 4.1 命令段
        • 4.2 程序包段
        • 4.3 脚本段
        • 4.4 命令格式
        • 4.5 kickstart 无人值守安装(图文详解)

部署PXE远程安装服务

一、PXE

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

启动操作系统

1.硬盘

2.光驱(u盘)

3.网络启动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系统,文件系统驱动等)

3、PXE简介

PXE:预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。预启动执行环境,在操作系统之前运行。

相关软件包 说明
dhcp 实现地址自动分配
ftp 将安装文件传输给客户机(共享目录)
xinetd 新一代网络守护进程服务程序,管理轻量级的Internet服务
tftp 简单文件传输协议udp协议,服务端和客户端之间进行简单文件传输(小文件),依赖于xinetd管理,端口号69

4、PXE原理

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

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

  • 网卡使用tftp客户端把引导程序加载到内存中来

  • bios执行引导程序

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

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

  • 系统安装过程

pxe批量部署的优点

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

二、PXE安装系统的过程

  • 服务端
    • 运行DHCP服务,用来分配地址,定位引导程序。
    • 运行TFTP服务,提供引导程序下载。
  • 客户端
    • 网卡支持PXE协议
    • 主板支持网络引导

1、需要的四个文件

image-20240117230037929

  • pxelinux.0:引导程序。(来自syslinux程序)
  • pxelinux.cfg :存放default:引导程序的配置文件。(需要手写,可参考光盘 isolinux 目录下的 isolinux.cfg 文件)
  • vmlinuz:内核文件。(从光盘中获取,位于 isolinux 目录下)
  • initrd.img: 系统启动镜像文件。(从光盘中获取,位于 isolinux 目录下)

2、PXE安装系统的命令格式过程

##服务端:
yum install dhcp vsftpd tftp-server.x86_64 syslinux -y    #安装需要的软件

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf    #复制配置文件模板

vim /etc/dhcp/dhcpd.conf    #编辑配置文件
subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.20 192.168.10.30;
  option routers 192.168.10.2;
  next-server 192.168.10.11;
  filename "pxelinux.0";
}
#第一行表示分配的子网和子网掩码
#第二行表示分配的ip地址的范围
#第三行表示网关
#第四行表示客户端从ip地址192.168.10.11的服务器找引导文件
#第五行表示指定启动文件

rpm -ql tftp-server   #查看tftp-server安装包的所有文件

vim /etc/xinetd.d/tftp    #编辑配置文件
disable                 = no
#将14行的yes改为no

cd /var/lib/tftpboot    #切换目录

mount /dev/sr0 /mnt    #挂载

ls /mnt/isolinux/    #查看/mnt/isolinux/目录下的文件

cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img  .    #将需要的vmlinuz、initrd.img文件复制到当前目录

rpm -ql syslinux |grep pxelinux.0    #查找pxelinux.0的文件位置

cp /usr/share/syslinux/pxelinux.0 .    #将pxelinux.0文件复制到当前目录

mkdir pxelinux.cfg    #建立文件夹

cd pxelinux.cfg/    #切换目录

vim default    #编辑配置文件
default linux    #指定默认的启动标题
timeout 600    #等待时间

label linux    #引导标签
        kernel vmlinuz    #指定内核映像文件
        append initrd=initrd.img method=ftp://192.168.10.11/centos7    #启动参数

tree    #查看当前目录下的文件

mkdir /var/ftp/centos7 -p    #建立文件夹(在/var/lib/tftpboot目录下新建)

mount /dev/sr0 /var/ftp/centos7    #挂载

systemctl start tftp    #开启服务

systemctl start vsftpd    #开启服务

systemctl start dhcpd    #开启服务

##客户端:安装系统的客户机内存最少2G,否则配置的文件运行不起来

3、PXE安装系统的过程(图文详解)

  • 服务端

部署PXE远程安装服务_第1张图片

部署PXE远程安装服务_第2张图片

部署PXE远程安装服务_第3张图片

部署PXE远程安装服务_第4张图片

部署PXE远程安装服务_第5张图片

部署PXE远程安装服务_第6张图片

  • 客户端

部署PXE远程安装服务_第7张图片

获取到安装文件(半自动化),剩下步骤还需要手动安装

部署PXE远程安装服务_第8张图片

4、 kickstart 无人值守安装(一键安装)

  • kickstart文件主要包括三个部分:命令段,程序包段,脚本段
4.1 命令段
  • 指明各种安装前配置,如键盘类型等

命令段中的常见命令

常见命令 说明
keyboard 设定键盘类型
lang 语言类型
zerombr 清除mbr
clearpart 清除分区
part 创建分区
rootpw 指明root的密码
timezone 时区
text 文本安装界面
network 指定网络设置
firewall 设置防火墙设置
selinux 设置selinux设置
reboot 安装完自动重启
user 安装完成后为系统创建新用户
url 指明安装源
4.2 程序包段
  • 指明要安装的程序包组或程序包,不安装的程序包等

  • %packages

  • @^environment group: 指定环境包组,如:@^minimal-environment

  • @group_name

  • package

  • -package

  • %end

4.3 脚本段
  • %pre:安装前脚本

  • %post:安装后脚本

4.4 命令格式
##服务端:
yum install system-config-kickstart.noarch -y    #安装kickstart软件包

服务端后续过程是图形界面,详细情况见下面图文详解,完成后将引导程序写入配置文件

vim pxelinux.cfg/default    #修改配置文件
default linux
timeout 600

label linux
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.10.11/centos7
   ks=ftp://192.168.10.11/ks.cfg
#将引导程序写入配置文件

##客户端:启动客户机,不需要进行后续操作
4.5 kickstart 无人值守安装(图文详解)
  • 服务端

部署PXE远程安装服务_第9张图片

部署PXE远程安装服务_第10张图片

部署PXE远程安装服务_第11张图片

部署PXE远程安装服务_第12张图片

部署PXE远程安装服务_第13张图片

部署PXE远程安装服务_第14张图片

部署PXE远程安装服务_第15张图片

部署PXE远程安装服务_第16张图片

部署PXE远程安装服务_第17张图片

部署PXE远程安装服务_第18张图片

部署PXE远程安装服务_第19张图片

部署PXE远程安装服务_第20张图片

  • 客户端(重新启动客户机,不需要进行后续操作)

部署PXE远程安装服务_第21张图片

你可能感兴趣的:(linux,运维,服务器)