【Linux网络】PXE批量网络装机

目录

一、系统装机

[1.1 三种引导方式](#1.1 三种引导方式)

[1.2 系统安装过程](#1.2 系统安装过程)

[1.3 四大重要文件](#1.3 四大重要文件)

二、PXE

[2.1 PXE实现原理](#2.1 PXE实现原理)

[2.2 PXE手动搭建过程](#2.2 PXE手动搭建过程)

[2.3 kickstart配合pxe完成批量自动安装](#2.3 kickstart配合pxe完成批量自动安装)


一、系统装机

1.1 三种引导方式

  1. 硬盘
  2. 光驱(U盘)
  3. 网络启动

1.2 系统安装过程

  1. 加载boot loader
  2. 加载启动安装菜单
  3. 加载内核和initrd系统(文件才能使用文件)
  4. 加载根系统()
  5. 运行anaconda的安装向导

1.3 四大重要文件

内核 vmlinuz

驱动 initrd.img

网络引导grub程序 pxelinux.0

pxelinux.cfg/default(手写)

二、PXE

2.1 PXE实现原理

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

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

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

4.bios执行引导程序

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

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

7.系统安装过程

2.2 PXE手动搭建过程

服务端IP:192.168.254.10

服务端配置:

1)安装四大软件

bash 复制代码
yum install -y dhcp vsftpd tftp-server syslinux

2) 配置dhcp地址池,开启tftp服务

bash 复制代码
rpm -qc dhcp    #查看dhcp文件位置

cat /etc/dhcp/dhcpd.conf
cp -p /usr/share/doc/dhcp*/dhcpd.conf.example   /etc/dhcp/dhcpd.conf
#将配置模版覆盖配置文件

vim /etc/dhcp/dhcpd.conf    #编写配置文件

dhcpd.conf配置如下:

bash 复制代码
rpm -ql tftp-server

配置文件:/etc/xinetd.d/tftp
站点:/var/lib/tftpboot


vim /etc/xinetd.d/tftp
        ...
        ...
disable  =   yes  ------>   no    #将14行的yes改为no,即为开启tftp服务
        ...
        ...


:wq

3)将四大文件拷贝到tftp站点中

bash 复制代码
rpm -ql syslinux | grep pxelinux.0    #找到pxelinux.0的地址
cp -p /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/    #拷贝到站点中


rpm -ql vstftp    
/var/ftp

cd /var/ftp
mkdir centos7
mount /dev/sr0  /var/ftp/centos7
cd centos7/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot/    #将驱动和内核文件拷贝到站点中


cd /var/lib/tftpboot/    #进入站点
mkdir pxelinux.cfg
cd pxelinux.cfg
vim default     #编写配置文件

default linux
timeout 600

label linux
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.254.10/centos7

label linux text
        kernel vmlinuz
        append text initrd =initrd.img method=ftp://192.168.254.10/centos7

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.254.10/centos7

4)开启vsftpd、dhcp、tftp服务,并且关闭防火墙

bash 复制代码
systemctl stop firewalld.service    #关闭防火墙
setenforce 0

systemctl start dhcp tftp vsftpd    #开启服务

客户端操作:

1)新建一个内存大于2G的虚拟机

2)开启虚拟机,开始被服务端分配IP,并安装centos7系统

2.3 kickstart配合pxe完成批量自动安装

服务端配置:

1)安装kickstart软件

bash 复制代码
yum install -y system-config-kickstart    #安装kickstart软件

2)打开图形化界面,开始配置ks.cfg文件

3)保存ks.cfg文件到/var/ftp下

4)在服务端站点中的pxelinux.cfg/default中,添加以下配置

5)开启各服务,即可在客户端自动安装系统

相关推荐
BestOrNothing_201533 分钟前
(3)Ubuntu 22.04 双系统安装全过程记录
linux·ubuntu22.04·双系统安装
西门吹-禅35 分钟前
【sap fiori cds up error】
java·服务器·sap cap cds
带娃的IT创业者1 小时前
WeClaw 日志分析实战:如何从海量日志中快速定位根因?
运维·python·websocket·jenkins·fastapi·架构设计·实时通信
寂柒2 小时前
Linux——基础IO
linux
杨云龙UP2 小时前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
朽棘不雕2 小时前
Linux权限
linux
互成3 小时前
加密系统哪款最好用?2026年五款加密系统深度对比测评
运维·网络·安全
minji...3 小时前
Linux 库制作与原理(三)深入动静态链接原理
linux·运维·服务器·c++
CDN3603 小时前
游戏服稳定运行:360CDN SDK 游戏盾实测体验
运维·游戏·网络安全
bukeyiwanshui3 小时前
Linux实践
linux·运维·服务器