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账户密码-->等待安装完毕

相关推荐
AlfredZhao3 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334669 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪10 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理