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

相关推荐
施努卡机器视觉42 分钟前
SNK施努卡 | 电子油泵自动化生产线:精密制造的技术跃迁与产业价值
运维·自动化·制造
♛识尔如昼♛43 分钟前
Linux 设备驱动程序(3)- 字符驱动(2)
linux·驱动开发·字符设备驱动
ShyanZh1 小时前
【skill】Agent-Browser:AI代理的浏览器自动化实战指南
运维·人工智能·自动化·skill·agent-browser
KKKlucifer1 小时前
智能研判、本地运算、一键运维:新一代安全管控产品的三大核心能力
运维·安全
MXsoft6181 小时前
##务健康度评分:将运维指标转化为业务价值的实践指南
运维
浊酒南街1 小时前
列表和元组知识总结
linux·python
難釋懷1 小时前
Nginx使用sticky模块完成对Nginx的负载均衡
运维·nginx·负载均衡
ScilogyHunter1 小时前
BusyBox完全指南
linux·busybox
ScilogyHunter1 小时前
QEMU完全指南
linux·qemu
2301_777998341 小时前
磁盘与文件系统
linux