PXE----批量自动装机

PXE批量部署具备以下三个优点:

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

PXE 是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。若要搭建 PXE 网络体系,必须满足以下几个前提条件。

  • 客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。
  • 网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
  • 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。

基础部署过程

  1. 准备CentOS7安装源
  2. 安装并且启用TFTP、FTP服务
  3. 提供Linux内核、PXE引导程序等
  4. 安装并启用DHCP服务
  5. 配置启动菜单

规划:
一台Linux系统搭建服务------------- 20.0.0.15

一台Linux系统做PXE测试 -------------DHCP获取

软件版本:Centos 7.6

下面就是开始装机完整步骤:

先搭建好服务

vi /etc/sysconfig/network-scripts/ifcfg-ens33 
BOOTPROTO=static
.......
ONBOOT=yes
IPADDR=20.0.0.15
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS1=8.8.8.8
DNS2=114.114.114.114 

 systemctl restart network				##重启网卡
  vi /etc/selinux/config					##关闭核心防火墙
  ......
  SELINUX=disabled
  ......
  systemctl stop firewalld				##关闭防火墙
  systemctl disable firewalld			##开机自动关闭防火墙  
  最小化

安装需要编译安装yum
yum list ---------检测是否有yum安装

1、准备CentOS7安装源

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7

[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

2、安装并启用 TFTP 、FTP服务

[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp
service tftp
{
......
protocol = udp                             ###TFTP 采用 UDP 传输协议
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot             ###指定 TFTP 根目录
disable = no
......
}
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl enable tftp

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

[root@localhost ~]#   cd /mnt/images/pxeboot/          ####切换到挂载目录/mntimages/pxeboot/   
[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/  ###两个文件并将其复制到 tftp 服务的根目录下
[root@localhost ~]# yum -y install syslinux
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

4、安装并启用DHCP服务

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
......
subnet 20.0.0.0 netmask 255.255.255.0 {
option routers 20.0.0.15;
option subnet-mask 255.255.255.0;
option domain-name "bdqn.com";
option domain-name-servers 20.0.0.254,202.106.0.20;
default-lease-time 21600;
max-lease-time 43200;
range 20.0.0.100 20.0.0.200;
next-server 20.0.0.15;				#####指定 TFTP 服务器的地址
filename "pxelinux.0";				####指定 PXE 引导程序的文件名
}

 [root@localhost ~]# systemctl start dhcpd
 [root@localhost ~]# systemctl enable dhcpd
 Created symlink from
 /etc/systemd/system/multi-user.target.wants/dhcpd.service to
 /usr/lib/systemd/system/dhcpd.service.

5、配置启动菜单

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
	kernel vmlinuz	
	append initrd=initrd.img method=ftp://20.0.0.15/centos7
label linux text
	kernel vmlinuz
	append text initrd=initrd.img method=ftp://20.0.0.15/centos7
label linux rescue
	kernel vmlinuz
	append rescue initrd=initrd.img method=ftp://20.0.0.15/centos7

上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。其中, prompt 用来设置是否等待用户选择; label 用来定义并分隔启动项; kernel 和 append用来定义引导参数。引导入口的个数及内容根据需要自行定义。例如,实现无人值守安装时只需要一个入口就够了。

实现 Kickstart 无人值守安装

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

########基本配置##########
基本配置:

  • 默认语言:Chinese (P.R. of China)—中文(简体)
  • 键盘:U.S English
  • 时区:Asia/Shanghai
  • Root密码:Abc123
  • 默认密码:Abc123
  • 勾选√:给root密码加密

高级配置:

  • 目标架构:X86、AMD64、活IntelEm64T
  • 勾选√:安装后重启
  • 不勾选:在文本模式中执行安装(默认为图形化模式)

########安装方法##########
安装方法:

  • 勾选√:执行全新安装
    安装方法:
  • 勾选√:FTP
  • FTP服务器:ftp://20.0.0.254
  • FTP目录:centos

########引导装载程序选项######
安装类型:

  • 勾选√:安装新引导装载程序

########分区信息##########
在“分区信息”界面中,需正确规划硬盘分区方案。例如,可划分一个 500MB 的/boot分区、 4GB 的/home 分区、 2GB 的 swap 分区,将剩余空间划分给根分区
/boot -----xfs-----是-----500
/home-----xfs-----是-----4096
swap-----swap-----是-----2048
/-----xfs-----是-----剩余所有内存

###其他信息###
若没有特殊需求,在“验证”界面、“显示配置”界面中,保持默认设置就可以了

####安装脚本后####
勾选√:使用解释程序:/bin/bash
在下面键入您的%post脚本:

  rm -rf /etc/yum.repos.d/*
  echo -e'[base]\nname=CentOS7.6\nbaseurl=ftp://20.0.0.15/centos7\nenabled=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/centos7.repo

####保存自动应答文件####
[root@localhost ~]# vi /ks.cfg

切到最下面添加:

%packages
@^minimal
%end

####实现批量自动装机####

有了自动安装的应答文件之后,只要将其放置 PXE 安装服务器的 FTP 目录下,并适当修改引导菜单,就可以实现基于网络的批量自动装机了。

1、启用自动应答文件在 PXE 远程安装服务器中,将上一节建立的应答文件复制到/var/ftp/centos7 目录下,使客户机能够通过 ftp://20.0.0.254/centos7/ks.cfg 访问;然后编辑引导菜单文件default,添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径。

[root@localhost ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto        
	kernel vmlinuz
        append initrd=initrd.img method=ftp://20.0.0.15/centos7 ks=ftp://20.0.0.15/ks.cfg
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值