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

相关推荐
lzx_0024 小时前
Linux 进程(三) 从进程状态到僵尸进程、孤儿进程
linux·服务器
FlightYe6 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
刘马想放假7 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
kloc8 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW8 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
梦到啥说啥9 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
无足鸟ICT11 小时前
【RHCA+】ipcrm命令(删除IPC资源)
linux
星恒随风11 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Z21-X13 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
陈希12314 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump