问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PXE批量网络装机与Kickstart自动化安装工具

创作时间:
作者:
@小白创作中心

PXE批量网络装机与Kickstart自动化安装工具

引用
CSDN
1.
https://blog.csdn.net/weixin_43099162/article/details/145913696

PXE(Preboot Execution Environment)和Kickstart是两种常用的自动化系统部署工具,它们可以大大简化系统安装和部署的工作量。本文将详细介绍PXE批量网络装机和Kickstart自动化安装工具的原理和搭建步骤,帮助读者掌握这些工具的使用方法。

一、系统装机的原理

1.1 系统装机方式

  • U盘装机:U盘作为启动介质,将操作系统镜像写入U盘,然后通过U盘启动计算机进行系统安装。
  • 光盘装机:将操作系统镜像刻录到光盘中,通过光驱启动计算机进行装机。
  • 网卡装机:从网络中的服务器上加载操作系统镜像来进行装机。

1.2 系统安装过程

  • 加载bootloader:它位于硬盘的引导扇区(MBR、GPT)中,负责初始化硬件并加载操作系统内核。
  • 加载启动安装菜单
  • 加载内核与initrd系统
  • 加载根系统
  • 运行anaconda的安装向导

二、PXE批量网络装机

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

PXE实现网卡引导启动的条件:

  • BIOS支持
  • 网卡支持
  • BIOS中开启网络装机,默认关闭状态。
  • DHCP服务器用于分配IP地址并引导客户端到TFTP服务器提供启动程序和操作系统镜像。

2.1 PXE实现原理

  • 客户端启动:客户端开机后通过网卡发送DHCP请求。
  • DHCP响应:DHCP服务器分配IP地址,并告知TFTP服务器器地址及引导文件路径。
  • 下载引导文件:客户端从TFTP服务器获取引导文件(pxelinux.0、grub)。
  • 加载内核和镜像:通过引导文件加载内核(vmlinuz)和初始化内存盘(initrd.img)。
  • 自动化安装:从文件服务器(HTTP、FTP、NFS)获取操作系统镜像和配置文件,完成网络装机。

2.2 搭建PXE实际案例

2.2.1 安装必要软件

为实现网络远程装机,需要DHCP服务、syslinux引导加载程序(pxelinux.0)、TFTP服务与FTP服务,所以预先安装这四个软件。

[root@localhost ~]# systemctl stop firewalld.service     //关闭防火墙
[root@localhost ~]# setenforce 0                         //关闭selinux
[root@localhost ~]# yum install tftp-server vsftpd syslinux dhcp -y
已安装:
  dhcp.x86_64 12:4.2.5-83.el7.centos.2  syslinux.x86_64 0:4.05-15.el7  tftp-server.x86_64 0:5.2-22.el7  vsftpd.x86_64 0:3.0.2-29.el7_9 
作为依赖被升级:
  dhclient.x86_64 12:4.2.5-83.el7.centos.2   dhcp-common.x86_64 12:4.2.5-83.el7.centos.2   dhcp-libs.x86_64 12:4.2.5-83.el7.centos.2  
完毕!
[root@localhost ~]# 
2.2.2 搭建DHCP服务器
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf    //查看模板配置文件路径
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y        //拷贝模板配置文件并覆盖源文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
//拷贝子网配置,粘贴并进行修改
 27 subnet 192.168.153.0 netmask 255.255.255.0 {    //改为DHCP服务器IP地址与子网掩码
 28   range 192.168.153.20 192.168.153.100;         //设置自动分配地址段范围
 29   option routers 192.168.153.2;                 //网关
 30   next-server 192.168.153.223;                  //指向TFTP服务器的IP地址
 31   filename "pxelinux.0";                        //引导程序文件的名称
 32 }
2.2.3 搭建TFTP服务器
[root@localhost ~]# rpm -qc tftp-server         //查看配置文件路径
/etc/xinetd.d/tftp
[root@localhost ~]# vim /etc/xinetd.d/tftp      //编辑配置文件
 14         disable                 = no        //yes改为no,关闭禁用
2.2.4 挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# rpm -ql syslinux |grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/vmlinuz /var/lib/tftpboot/
[root@localhost ~]# cp /var/ftp/centos7/isolinux/initrd.img /var/lib/tftpboot/
2.2.5 编辑pxelinux.cfg配置文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# cd /var/lib/tftpboot/pxelinux.cfg
[root@localhost pxelinux.cfg]# vim default
  1 default linux
  2 timeout 600
  3 
  4 label linux
  5         kernel vmlinuz
  6         append initrd=initrd.img method=ftp://192.168.153.223/centos7
  7 
  8 label linux text
  9         kernel vmlinuz
 10         append text initrd =initrd.img method=ftp://192.168.153.223/centos7
 11 
 12 label linux rescue
 13         kernel vmlinuz
 14         append rescue initrd=initrd.img method=ftp://192.168.153.223/centos7
2.2.6 启动服务
[root@localhost pxelinux.cfg]# systemctl start dhcpd vsftpd tftp
[root@localhost pxelinux.cfg]# systemctl status dhcpd vsftpd tftp
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 四 2025-02-27 22:05:33 CST; 31min ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 63999 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1
   CGroup: /system.slice/dhcpd.service
           └─63999 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
2月 27 22:05:33 localhost.localdomain systemd[1]: Started DHCPv4 Server Daemon.
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 四 2025-02-27 22:37:11 CST; 5s ago
  Process: 64508 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 64512 (vsftpd)
    Tasks: 1
   CGroup: /system.slice/vsftpd.service
           └─64512 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
2月 27 22:37:11 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
2月 27 22:37:11 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: active (running) since 四 2025-02-27 22:37:11 CST; 5s ago
     Docs: man:in.tftpd
 Main PID: 64510 (in.tftpd)
    Tasks: 1
   CGroup: /system.slice/tftp.service
           └─64510 /usr/sbin/in.tftpd -s /var/lib/tftpboot
2月 27 22:37:11 localhost.localdomain systemd[1]: Started Tftp Server.
2.2.7 验证PXE批量网络装机

关闭虚拟机的DHCP服务,避免冲突。新建虚拟机,建议内存分配2G以上,以免引导文件没有足够内存展开。启动后,自动获取IP地址,并加载引导程序,PXE批量网络装机完成。

三、kickstart自动化安装操作系统工具

它通过一个配置文件(通常称为ks.cfg)定义安装过程中的所有选项,从而实现无人值守安装。避免安装linux图形界面后,仍需要人工完成系统引导。

3.1 安装kickstart

[root@localhost ~]# yum install system-config-kickstart -y

3.2 基本配置

3.3 安装方法

3.4 引导装载程序选择

3.5 分区信息

3.6 防火墙配置

3.7 显示配置

3.8 保存配置

3.9 编辑default配置文件

[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 
  4 label linux
  5         kernel vmlinuz
  6         append initrd=initrd.img method=ftp://192.168.153.223/centos7 ks=ftp://192.168.153.223/ks.fcg  //指向ks.fcg文件,实现无人值守完成系统引导  

3.10 验证

开始自动进行系统引导操作,验证完成

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号