自学内容网 自学内容网

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


原文地址:https://blog.csdn.net/2401_87121330/article/details/143796073

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!