目录

  • PXE概述
  • PXE批量部署的优点
  • PXE (Preboot eXcution Environment)
  • 服务端
  • 客户端
  • 配置PXE无人值守装机服务器
  • 基本部署过程
  • 1.准备CentOS 7安装源
  • 2.安装并启用TFTP服务
  • 3.提供Linux内核、PXE引导程序等
  • 4.开始进行PXE自动安装----无人值守操作设置
  • 5.进入测试机进行测试



前言


PXE预启动执行环境(Preboot eXecution Environment)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。

PXE概述

PXE批量部署的优点

规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质

PXE (Preboot eXcution Environment)

预启动执行环境,在操作系统之前运行

服务端

运行DHCP服务,用来分配地址、定位引导程序
运行TFTP服务,提供引导程序下载

客户端

网卡支持PXE协议
主板支持网络引导

配置PXE无人值守装机服务器

基本部署过程

1.准备CentOS 7安装源

CentOS 7安装源支持HTTP、FTP、NFS等协议发布

yun -y install httpd
yun -y install vsftpd
yun -y install dhcpd

将镜像文件挂载是pub目录下

mount /dev/cdrom /var/ftp/pub

2.安装并启用TFTP服务

安装tftp-server软件包,启用tftp服务
配置文件位于/etc/xinetd.d/tftp

yum -y install tftp-server

修改tftp配置文件

vi /etc/xinetd.d/tftp

puppeteer版本号_puppeteer版本号


修改dhcp服务配置文件

vi /etc/dhcp/dhcpd.conf

进入之后删除之前的配置文件,改为:

ddns-update-style none;                                 #支持DNS动态更新,一般选择为关闭
next-server 192.168.100.10;                             #指定TFTP服务器地址(本机IP)
filename "/pxelinux.0";                                 #引导文件TFTP上的位置
subnet 192.168.100.10 netmask 255.255.255.0 {           #需要下发的网段和子网掩码 
      range 192.168.100.120 192.168.100.180;            #下发IP的范围
      option routers 192.168.100.10;                    #下发IP的网关(本机IP)
      option domain-name-servers 8.8.8.8, 4.4.4.4;      #下发网关的DNS 
}

3.提供Linux内核、PXE引导程序等

Linux内核、初始化镜像文件分别为vmlinuz和initrd.img
引导程序为pxelinux.0,由软件包syslinux提供
安装yum源syslinux

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg                    #创建特定的目录存放菜单文件
cp /mnt/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default  #启动菜单
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/    #Linux引导加载模块
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/        #图形化启动菜单

修改安装的配置文件

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

修改为:

default auto   # 默认图形化安装(当你选择的时候什么也不选择时,自动加载的引导方式)
prompt 0       # 1:手动  2:自动
label auto
        kernel vmlinuz   #指定图形化界面的光盘引导路径
        append initrd=initrd.img method=ftp://192.168.100.10/pub  ks=ftp://192.168.100.10/ks.cfg
label linux text        
        kernel vmlinuz   #指定文本的光盘引导路径
        append text initrd=initrd.img method=ftp://192.100.100.10/pub
label linux rescue      
        kernel vmlinuz   #指定救援模式的光盘引导路径
        append rescue initrd=initrd.img method=ftp://169.254.7.10/pub

启动所有服务器

service dhcpd restart
service vsftpd restart
yum -y install xinetd
service xinetd start
chkconfig --level 35 xinetd on
chkconfig --level 35 tftp  on

4.开始进行PXE自动安装----无人值守操作设置

在服务器上安装文件,可以图形化界面向导来配置安装应答文件

yum -y install system-config-kickstart

puppeteer版本号_配置文件_02

修改Kickstart配置程序

puppeteer版本号_linux_03


puppeteer版本号_配置文件_04


puppeteer版本号_puppeteer版本号_05


puppeteer版本号_服务器_06


之后将服务器本地anaconda. ks. cfg内的从%packages. … 到%end内容即为gnome桌面开发环境必装软件添加进ks. cfg的%end下

vi anaconda-ks.cfg

puppeteer版本号_配置文件_07


puppeteer版本号_服务器_08

5.进入测试机进行测试

puppeteer版本号_服务器_09


现在PXE无人值守服务已经安装成功