pxe自动装机(centos)

概述

PXE(Preboot Execution Environment)是一种允许计算机通过网络启动自己的操作系统的技术。它允许计算机在缺少本地存储设备或操作系统的情况下,从远程服务器上下载并执行操作系统。PXE通常用于无盘站点或远程支持,可以通过网络直接引导计算机,而无需使用本地硬盘或光盘。

pxe的工作原理

  • DHCP:为计算机分配IP地址。
  • FTP:进行系统文件的传输。
  • TFTP:提供操作系统镜像文件。
  • 客户端:在启动时通过DHCP获取IP地址,然后通过TFTP和FTP下载启动文件,完成操作系统的加载和安装。

pxe的优点

  • 规模化:同时装配多台服务器(一台服务器一般可以装配20-30台)
  • 自动化:系统安装和服务配置不需要人工干预
  • 远程实现:既不需要光盘,也不需要U盘

一、pxe

pxe----->自动安装系统必要的运行环境

1.安装并启动tftp服务

yum -y install tftp-server xinetd #安装tftp和xinetd服务

vim /etc/xinetd.d/tftp

wait=no #yes串行,no并行

disable=no #开启tftp服务

systemctl restart tftp

systemctl enable tftp #开机自启,可以不设置

systemctl restart xinetd

2.安装并启用 dhcp 服务

yum -y install dhcp #安装dhcp

cd /usr/share/doc/dhcp-4.2.5/

cp dhcpd.conf.example /etc/dhcp/dhcpd.conf #复制覆盖掉/etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

next-server 192.168.206.10; #指定TFTP服务器的ip地址(本机)

filename "pxelinux.0"; #指定要下载pxe引导程序的文件

subnet 192.168.206.0 netmask 255.255.255.0 {

range 192.168.206.60 192.168.206.70;

option routers 192.168.206.10; #指向本机

}

systemctl restart dhcpd

3.准备 Linux 内核、初始化镜像文件

mount /dev/cdrom /mnt #挂载

cd /mnt/images/pxeboot/

cp initrd.img /var/lib/tftpboot/ #initrd.img:linux引导加载模块

cp vmlinuz /var/lib/tftpboot/ #vmlinuz:内核文件

4.pxe的引导文件

yum -y install syslinux

cd /usr/share/syslinux/

cp pxelinux.0 /var/lib/tftpboot/

ls /var/lib/tftpboot/ #三个文件必不可少

5.安装vsftp,进行系统文件的传输

yum -y install vsftpd

mkdir /var/ftp/centos7 #在匿名用户工作的目录/var/ftp下创建目录centos7

cp -rf /mnt/* /var/ftp/centos7 #把整个光盘镜像强制复制到匿名用户工作的目录

6. 设置启动菜单的文件

cd /var/lib/tftpboot/

mkdir pxelinux.cfg #pxelinux.cfg目录名是固定的

cd pxelinux.cfg/

vim default #在该目录下创建default文件

default auto #声明pxe入口文件的位置 指定默认的接口

prompt 0 #表示不等待用户选择,自行操作

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.206.10/centos7

#图形化界面的安装入口,kernel和append来引导定义系统配置的文件

label linux text

kernel vmlinuz

append text initrd=initrd.img method=ftp://192.168.206.10/centos7

#字符串界面的入口

label linux rescue

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://192.168.206.10/centos7

#救援模式

systemctl stop firewalld #关闭系统防火墙

setenforce 0 #关闭系统安全机制

二、无人值守

1.安装system-config-kickstart 工具

yum -y install system-config-kickstart

2.打开"Kickstart 配置程序"窗口

通过桌面菜单"应用程序"-->"系统工具"-->"Kickstart" 打开

或执行 "system-config-kickstart" 命令打开

3.配置kickstart选项

4.保存自动应答文件

选择"Kickstart 配置程序"窗口的"文件"-->"保存"命令,选择指定保存位置,文件名为ks.cfg

默认保存在/root/ks.cfg

cp /root/ks.cfg /var/ftp/ks.cfg

5.配置需要安装的软件包

vim /var/ftp/ks.cfg

%end的下面粘贴

#完全安装

%packages

@base

@core

@desktop-debugging

@dial-up

@directory-client

@fonts

@gnome-desktop

@guest-desktop-agents

@input-methods

@internet-browser

@java-platform

@multimedia

@network-file-system-client

@print-client

@x11

binutils

chrony

ftp

gcc

kernel-devel

kexec-tools

make

open-vm-tools

patch

python

%end

#最小化安装

%packages

@^minimal

%end

6.编辑引导菜单文件 default,添加 ks 引导参数

vim /var/lib/tftpboot/pxelinux.cfg/default

append initrd=initrd.img method=ftp://192.168.206.10/centos7 ks=ftp://192.168.206.10/ks.cfg

##添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

7.验证无人值守安装

新建虚拟机(centos7 64位)-->开启虚拟机-->自动安装-->设置root账户密码-->等待安装完毕

相关推荐
破-风2 小时前
linux的用法
linux·运维·服务器
涛ing5 小时前
32. C 语言 安全函数( _s 尾缀)
linux·c语言·c++·vscode·算法·安全·vim
__雨夜星辰__5 小时前
Linux 学习笔记__Day2
linux·服务器·笔记·学习·centos 7
大耳朵土土垚5 小时前
【Linux】日志设计模式与实现
linux·运维·设计模式
学问小小谢5 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
yaoxin5211236 小时前
第十二章 I 开头的术语
运维·服务器
ProgramHan6 小时前
1992-2025年中国计算机发展状况:服务器、电脑端与移动端的演进
运维·服务器·电脑
马立杰9 小时前
H3CNE-33-BGP
运维·网络·h3cne
云空11 小时前
《DeepSeek 网页/API 性能异常(DeepSeek Web/API Degraded Performance):网络安全日志》
运维·人工智能·web安全·网络安全·开源·网络攻击模型·安全威胁分析
深度Linux11 小时前
Linux网络编程中的零拷贝:提升性能的秘密武器
linux·linux内核·零拷贝技术