PXE批量装机

网络装机概述

网络装机优势

  • 规模化:同时装配多台主机
  • 自动化:装系统,配置各种服务
  • 远程实现:不需要光盘,U盘等物理安装介质
    在这里插入图片描述

什么是PXE网络

PXE Pre-boot eXecution Environment
预启动执行环境,在操作系统之前运行
可用于远程安装
工作模式

  • PXE client 集成在网卡的启动芯片中
  • 当计算机引导时,从网卡芯片中PXE client调入内存执行,获取PXE
    server配置,显示菜单,根据用户选择将远程引导程序下载到本机运行

PXE组件及过程分析

服务端

  • DHCP服务:分配IP地址,定位引导程序
  • TFTP服务:提供引导程序下载
  • HTTP服务(或FTP/NFS):提供YUM源的安装

客户端

  • 网卡芯片必须支持PXE协议
  • 主板支持从网卡启动
    在这里插入图片描述

一.部署DHCP服务

DHCP概述即原理
动态主机配置协议,由IETF(internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理
主要分配一下入网参数

  • IP地址/子网掩码/广播地址
  • 默认网关地址,DNS服务器地址

DHCP地址分配的四次会话,以广播形式进行
DISCOVERY > OFFER > REQUEST > ACK
建议:一个网络中只能有一台DHCP服务

  1. 配置安装包
[root@svr7 ~]# yum install -y dhcp
  1. 修改DHCP文件
[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf

末行模式输入:r /usr/share/doc/dhcp/dhcpd.conf.example
dd删除多余参数最后就只留这莫一丢丢,然后进行配置修改

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
subnet 192.168.4.0 netmask 255.255.255.0 {		//注!此配置内不能出现中文,几遍注释中文也不可以
  range 192.168.4.100 192.168.4.200;			//配置分配ip地址范围
  option domain-name-servers 192.168.4.7;    	//配置DNS
  option domain-name "internal.example.org";	//dd干掉它!!!
  option routers 192.168.4.254;
  option broadcast-address 10.5.5.31;			//广播地址,dd干掉它!!!
  default-lease-time 600;						//租期时间600s
  max-lease-time 7200;							//最大租约时间7200s
  next-server 192.168.4.7;						//指定下一个服务器地址,此行为30年手打添加
  filename "pxelinux.0";	//指定网卡引导文件名称,此行为30年手打添加,"pxelinux.0":网卡引导文件(网络安装说明书)二进制文件,安装一个软件即可自动生成该文件)
}
  1. 重启服务
[root@svr7 ~]# systemctl restart dhcpd

二.搭建TFTP服务,提供众多的引导文件

TFTP:简单的文件传输协议,默认端口69
默认共享数据的路径:/var/lib/tftpboot

  1. 安装软件tftp-server
[root@svr7 ~]# yum install -y tftp-server
[root@svr7 ~]# systemctl restart tftp
  1. 部署pxelinux.0
[root@svr7 ~]# yum -y provides */pxelinux.0	//查找仓库中哪个软件生成该文件
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
my_yum/filelists_db                                      | 2.2 kB     00:00     
syslinux-4.05-13.el7.x86_64 : Simple kernel loader which boots from a FAT
                            : filesystem
源    :local_repo
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0



syslinux-tftpboot-4.05-13.el7.x86_64 : SYSLINUX modules in /var/lib/tftpboot,
                                     : available for network booting
源    :local_repo
匹配来源:
文件名    :/var/lib/tftpboot/pxelinux.0
[root@svr7 ~]# yum -y install syslinux
[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0	//查看软件安装清单并过滤出pxelinux.0
[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
  1. 在虚拟机A系统中显示光盘内容
[root@svr7 ~]# mount /dev/cdrom /mnt/	//挂载光盘镜像
mount: /dev/sr0 写保护,将以只读方式挂载
  1. 部署菜单文件
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  1. 部署图形模块与背景图片
[root@svr7 ~]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/
  1. 部署启动内核(vmlinuz)与驱动程序(initrd.img)
[root@svr7 ~]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/
  1. 修改菜单文件

末行模式:set nu #开启行号

[root@svr7 ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default 
  1 default vesamenu.c32	//默认加载图形模块
  2 timeout 600	//读秒时间 1/10
 10 menu background splash.png	//背景图片
 11 menu title CentOS 7	//菜单标题显示内容
 62   menu label ^Install CentOS 7	//菜单的显示内容
 63   menu default	//读秒结束后默认选择
 64   kernel vmlinuz	//加载启动内核
 65   append initrd=initrd.img	//加载驱动程序

初步测试

  1. 重启所需服务

[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl restart tftp

三.构建Web服务共享光盘的所有内容

  1. 安装软件
[root@svr7 ~]# yum install -y httpd
  1. 重启服务
[root@svr7 ~]# systemctl restart httpd
  1. 挂载镜像
[root@svr7 ~]# mkdir /var/www/html/centos
[root@svr7 ~]# mount /dev/cdrom /var/www/html/centos/

四.部署无人值守安装,生成应答文件

  1. 安装system-config-kickstart
[root@svr7 ~]# yum install -y system-config-kickstart
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[development]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.4.254/centos-1804"
enabled=1
gpgcheck=0
[root@svr7 ~]# LANG=en system-config-kickstart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 利用Web服务共享应答ks文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
  1. 修改菜单文件
[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
65   append initrd=initrd.img ks=http://192.168.4.207/ks.cfg
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值