PXE装机及自动值守

一、PXE批量部署的优点

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

二、搭建 PXE 网络体系,必须满足的前提条件

服务端

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

客户端

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

三、PXE的基本部署过程

  1. 客户机通过网卡查找DHCP服务,获取IP地址和时间
  2. DHCP服务器给客户机分配IP地址和引导程序的地址,同时通过offer报文把TFTP服务器的地址发给客户机
  3. TFTP服务器把引导文件(pxelinux.0)传给客户机
  4. 客户机把引导程序加载到内存中
  5. 引导程序在TFTP服务器中查找配置文件,服务器把配置文件传给客户机(配置文件通过FTP获取)
  6. 服务端通过vsftpd服务和客户端互传文件,客户端获得系统的镜像文件

四、搭建 PXE 远程安装服务器

4.1 安装并启动TFTP服务

[root@localhost ~]# yum -y install tftp-server xinetd            #安装并启用 TFTP 服务
[root@localhost ~]# vim /etc/xinetd.d/tftp                       #修改TFTP服务的配置文件
protocol            = udp		             #TFTP默认使用UDP协议	
wait                = no		             #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args         = -s /var/lib/tftpboot	 #指定TFTP根目录(引导文件的存储路径)
disable             = no		             #no表示开启TFTP服务
:wq!

[root@localhost ~]# systemctl start tftp                         #开启tftp服务
[root@localhost ~]# systemctl enable tftp                        #开启tftp服务开机自启
[root@localhost ~]# systemctl start xinetd                       #开启xinetd服务
[root@localhost ~]# systemctl enable xinetd                      #开启xinetd服务开机自启

4.2 安装并启用 DHCP 服务

[root@localhost ~]# yum -y install dhcp             #安装dhcp软件包
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
                   									#将dhcp配置模板复制到dhcp配置文件中
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf    	#修改DHCP服务的配置文件
ddns-update-style none;					         	#禁用 DNS 动态更新
next-server 192.168.233.21; 					    #指定TFTP服务器的地址
filename "pxelinux.0";						        #指定要下载的PXE引导程序的文件

subnet 192.168.147.0 netmask 255.255.255.0 {	    #声明要分配的网段地址
range 192.168.147.100 192.168.147.200;				#设置地址池
option routers 192.168.147.100;						#默认网关地址指向TFTP服务器的IP地址
}
:wq!

[root@localhost ~]# systemctl start dhcpd           #开启dhcp服务 
[root@localhost ~]# systemctl enable dhcpd          #开启dhcp服务开机自启

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

[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]# cd /mnt/images/pxeboot						
[root@localhost ~]# cp vmlinuz /var/lib/tftpboot/			#复制 Linux系统的内核文件到TFTP根目录下
[root@localhost ~]# cp initrd.img /var/lib/tftpboot/     	#复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

4.4 准备 PXE 引导程序

[root@localhost ~]# yum -y install syslinux									#PXE引导程序由软件包syslinux 提供
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/	#复制PXE引导程序到TFTP根目录下

4.5 安装FTP服务,准备CentOS 7 安装源

[root@localhost ~]# yum -y install vsftpd               #安装vsftpd服务
[root@localhost ~]# mkdir /var/ftp/centos7              #在ftp根目录下创建目录centos7
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7/     #将镜像文件强制复制到centos7目录中,可加&让它自己后台运行
[root@localhost ~]# systemctl start vsftpd              #开启vsftpd服务
[root@localhost ~]# systemctl enable vsftpd             #开启vsftpd服务开机自启

4.6 配置启动菜单文件默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto 							                #指定默认入口名称
prompt 0 								                #设置是否等待用户选择,“1”表示等待用户控制

label auto								                #图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz							                #kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.147.100/centos7 ks=ftp://192.168.147.100/ks.cfg
														#添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径


label linux text						                #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.147.100/centos7

label linux rescue						                #救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.147.100/centos7
[root@localhost ~]# systemctl stop firewalld            #关闭系统防火墙
[root@localhost ~]# setenforce 0                        #关闭系统安全机制

五、实现 Kickstart 无人值守安装

5.1 准备安装应答文件

[root@localhost ~]# yum install -y system-config-kickstart

5.2 虚拟机设置

5.2.1 打开“Kickstart 配置程序”窗口

在这里插入图片描述

5.2.2 基本配置

在这里插入图片描述

5.2.3 安装方法

在这里插入图片描述

5.2.4 引导装载程序选项

在这里插入图片描述

5.2.5 分区信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.2.6 网络配置

在这里插入图片描述

5.2.7 防火墙配置

在这里插入图片描述

5.2.8 安装后脚本

在这里插入图片描述

rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.147.100/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo

5.2.9 保存自动应答文件

在这里插入图片描述

在这里插入图片描述

5.3 配置需要安装的软件包

[root@localhost ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[root@localhost ~]# vim ks.cfg
#复制下面内容(最底下复制)
%packages
 
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
 
%end
desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
 
%end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值