【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)开启各服务,即可在客户端自动安装系统

相关推荐
运维螺丝钉13 小时前
docker安装应用
运维·docker·容器
以太浮标13 小时前
华为eNSP模拟器综合实验之- 路由表RIB和转发表FIB的关联解析
运维·网络·华为·信息与通信
不会代码的小猴13 小时前
Linux环境编程第一天笔记
linux·笔记
optimistic_chen13 小时前
【Docker入门】cgroups 资源控制
linux·运维·ubuntu·docker·容器·cgroup
LXY_BUAA13 小时前
《嵌入式操作系统》_内核编译练习与配置文件讲解_20260119
linux·运维·服务器
触想工业平板电脑一体机14 小时前
【触想智能】MES工位一体机在自动化生产线上的作用和市场应用前景分析
大数据·运维·自动化
芥子沫14 小时前
书签管理工具使用:Readeck-Docker部署和使用技巧
运维·docker·容器·书签管理
ba_pi15 小时前
每天写点什么2026-01-19-docker如何使用GPU
运维·docker·容器
xlq2232215 小时前
4.LInux权限
linux·运维·服务器