PXE高效批量网络装机(无人值守)

文章目录

    • 1.PXE概述
    • 2.配置PXE装机服务器
      • 1.实验环境
      • 2.PXE服务器的配置
      • 3.PXE客户机自动安装--俗称无人值守(以上系统环境不用改变)

1.PXE概述

PXE批量部署的优点
	规模化:同时装配多台服务器
	自动化:安装系统、配置各种服务
	远程实现:不需要光盘、U盘等安装介质
PXE(Preboot eXcution Enviroment)
	预启动执行环境,在操作系统之前运行
服务端
	运行DHCP服务,用来分配地址、定位引导程序
	运行TFTP服务,提供引导程序下载
客户端
	网卡支持PXE协议
	主板支持网络引导

PXE高效批量网络装机(无人值守)_第1张图片

2.配置PXE装机服务器

1.实验环境

一台图形化界面安装Centos 7.4系统的服务器,其中包含三个服务:DHCP、TFTP、FTP

三个服务作用

DHCP让客户端获取IP地址,能主动联网PXE服务器;配置中指向TFTP

TFTP快速加载引导程序,引导程序的容量较小,默认配置文件指向FTP镜像位置

FTP TCP:21端口,连接服务;20端口传输数据,系统镜像存放

2.PXE服务器的配置

需要两张网卡,一张做桥接,一张做VMnet1模式

PXE高效批量网络装机(无人值守)_第2张图片

分配的IP地址

PXE高效批量网络装机(无人值守)_第3张图片

安装所需要的服务(tftp-server/dhcp/ftp)

yum -y install tftp-server
vi /etc/xinetd.d/tftp
        server_args             = -s /var/lib/tftpboot -c (指定存储路径 -c:允许上传)
        disable                 = no (开启tftp)

yum -y install dhcp
vi /etc/dhcp/dhcpd.conf
ddns-update-style none;     //支持DNS动态更新,一般选择关闭//
next-server 192.168.100.10;  //指定TFTP服务器地址//
filename "/pxelinux.0";     //引导文件TFTP上的位置//
subnet 192.168.100.0 netmask 255.255.255.0 {
  range  192.168.100.150 192.168.100.200;
  option routers 192.168.100.10;
  option domain-name-servers 8.8.8.8, 114.114.114.114;
}

将光盘发布以ftp协议发布
yum -y install vsftpd
mount /dev/cdrom /var/ftp/pub  # 让光盘挂载到共享目录下,让ftp客户机可访问光盘,目的是装机用。

复制网络启动所需要文件到服务器的根目录下

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 //图形化启动菜单

修改安装的配置文件

[root@localhost ]# vi /var/lib/tftpboot/pxelinux.cfg/default            
default auto # 默认图形化安装(当你选择的时候什么也不选时自动加载的引导方式)
prompt 1  # 需要用户选择
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.1.100/pub   # 指定图形化界面的光盘引导路径
label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://192.168.1.100/pub # 指定文本的光盘引导路径
label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://192.168.1.100/pub # 指定救援模式的光盘引导路径

启动所有服务器

启动所有服务器:
systemctl start tftp
service dhcpd restart
service vsftpd restart
yum -y install xinetd
service xinetd start
chkconfig --level 35 xinetd on
chkconfig --level 35 tftp  on

service firewalld stop   //不关闭没法下载TFTP中的引导程序//
setenforce 0 

3.PXE客户机自动安装–俗称无人值守(以上系统环境不用改变)

yum -y install system-config-kickstart  #安装文件,可以图形化界面向导来配置安装应答文件。

图形界面打开kickstart进行配置  (注意 FTP目录 指定为pub)
安装后脚本设置:
cd /etc/yum.repos.d
rm -f *
echo -e "[base]" >> aa.repo
echo -e "baseurl=ftp://192.168.100.10/pub" >> aa.repo 
echo -e "gpgcheck=0" >>aa.repo

脚本默认保存在/root/ks.cfg中
备注:修改ks.cfg内容
将服务器本地anaconda.ks.cfg内的%packages......%end内容即为gnome桌面开发环境必装软件添加进ks.cfg


cp /root/ks.cfg /var/ftp/   # 将应答文件考贝至ftp共享目录,目的是让客户机可访问

PXE高效批量网络装机(无人值守)_第4张图片

PXE高效批量网络装机(无人值守)_第5张图片

PXE高效批量网络装机(无人值守)_第6张图片
PXE高效批量网络装机(无人值守)_第7张图片
PXE高效批量网络装机(无人值守)_第8张图片
PXE高效批量网络装机(无人值守)_第9张图片
PXE高效批量网络装机(无人值守)_第10张图片
PXE高效批量网络装机(无人值守)_第11张图片

保存脚本

PXE高效批量网络装机(无人值守)_第12张图片

将/root目录下的anaconda-ks.cfg文件中以下内容复制到ks.cfg的末行

%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@x11
chrony
kexec-tools

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

default auto
prompt 0  # 无需用户选择
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.10/pub ks=ftp://192.168.1.100/ks.cfg
# 指定引导光盘的路径及应答文件的路径
-------------------客户机设置:-------------
客户机重启虚拟机,将bios的boot选项选择为network启动方式。

你可能感兴趣的:(Linux网络服务)