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

相关推荐
土星云SaturnCloud2 分钟前
土星云智慧服务区方案:AI视觉+边缘计算+视频存管一体化的全场景智能化落地解析
服务器·人工智能·ai·边缘计算
T0uken2 分钟前
Colab:SSH 访问免费 GPU Server
运维·ssh
Python大数据分析@11 分钟前
通过 MCP 实现 AI Agent自动化数据采集
运维·人工智能·爬虫·自动化
Initialize2930834 分钟前
告警一条接一条刷屏?五步治理告警风暴
运维
帷幕落秋40 分钟前
Docker镜像加速
运维·docker
Soneswy1 小时前
Linux系统篇--重定向与文件操作命令
linux
帷幕落秋1 小时前
Docker原理-理论基础
运维·docker
有毒的教程1 小时前
Linux底层存储路由配
linux·运维·网络
liqingdi4372 小时前
[SWPUCTF 2023 秋季新生赛]Easy SMC
服务器·前端·javascript
云智慧AIOps社区2 小时前
MSP 的增长瓶颈不在客户,在交付模式:人效与规模如何兼得?
运维·人工智能·自动化运维