PXE自动装机

一、PXE概述

PXE:c/s架构,允许客户端通过网络从远程服务器(服务端)下载引导镜像,加载安装文件,实现自动化安装操作系统。

c/s 架构:服务端和客户端都可以是多台。

无人值守:安装选项不需要人为干预,可以自动化实现。

PXE的优点:

  1. 规模化,同时装配多台服务器,20台左右为佳,再多容易卡;
  2. 自动化
  3. 远程实现,不需要光盘、U盘等介质。

PXE的安装条件

硬件:网卡要支持PXE协议,主板要支持网络引导。

软件:服务端要有DHCP:可以在客户机启动时,自动分配IP地址。TFTP:简单文件传输协议,传小文件,引导镜像文件很小,使用TFTP。VSFTP:文件传输协议,传大文件,安装文件。

二、PXE安装流程

test1 :root@20.0.0.10作为服务端

2.1 安装TFTPxinetd服务

注意(TFTP软件名 tftp-server)

xinetd服务:网络守护进程服务程序,用来管理轻量级的网络服务。管理TFTP的文件传输,TFTP是一个后台进程,使用的是UDP协议,端口69

systemctl stop firewalld
setenforce 0
yum -y install tftp-server xinetd
systemctl start tftp
systemctl enable tftp
systemctl start xinetd.service
systemctl enable xinetd.service

vim /etc/xinetd.d/tftp管理tftp服务配置

#编辑文本内容
wait = no
#修改成 no :可以并行安装多台客户机
disable = no
#修改成 no: 后台启动tftp

重启两个服务
systemctl restart tftp
systemctl restart xinetd

2.2 配置DHCP

先安装dhcp服务

yum -y install dhcp

​ 对dhcp服务进行配置:复制dhcp样板配置文件,覆盖dhcp实际的配置文件

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#对dhcpd.conf进行以下设置
#解注释下一行内容
ddns-update-style none;
#禁用DNS动态更新
#新增下两行内容
next-server 20.0.0.10;
#指定tftp的服务器,用于引导网络设备
filename "pxelinux.0";
#指定了网络引导时客户端应该请求的文件名pxelinux.0

#配置地址池
subnet 20.0.0.0 netmask 255.255.255.0 {
  range 20.0.0.60 20.0.0.80;
  option routers 20.0.0.10;
}
#注意,网关选择本机IP地址20.0.0.10!!!
#配置完成,重启dhcp服务
systemctl restart dhcpd

#注意,网关选择本机IP地址20.0.0.10!!!

2.3 准备PXE的引导程序

通过光盘镜像把光盘目录下/images/pxeboot/目录中的文件vmlinuzinitrd.img复制到目录/var/lib/tftpboot/下。

vmlinuz :Linux系统的内核文件

initrd.img :初始化镜像文件,引导加载的模块文件

/mount /dev/cdrom /mnt/
cd /mnt/images/pxeboot/
cp vmlinuz /var/lib/tftpboot/
cp initrd.mrg /var/lib/tftpboot/

#安装PXE的引导程序syslinux
yum -y install syslinux
cd /usr/share/syslinux
cp pxelinux.0 /var/lib/tftpboot/

pxelinux.0:在dhcp配置中设置的,网络引导时客户端应该请求的文件pxelinux.0

2.4 VSFTPD配置

安装vsftpd服务

yum -y install vsftpd
cd /var/ftp
mkdir centos7
cp -rf /mnt/* /var/ftp/centos7
#把光盘镜像的内容全部复制到目标目录/var/ftp/centos7
#重启vsftpd服务
systemctl restart vsftpd

2.5 配置启动菜单文件

mkdir /var/lib/tftpboot/pxelinux.cfg 
cd /var/lib/tftpboot/pxelinux.cfg 
vim default
#写入下列启动菜单内容
default auto 
#指定安装程序的入口,使用这个文件作为安装程序的入口,自动选择。
prompt 0
#是否等待用户选择,0不等待用户输入,自动完成。1需要手动输入。

label auto
#图形化界面的默认安装入口
kernel vmlinuz
#加载内核文件,vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7 ks=ftp://20.0.0.10/ks.cfg
#指定初始化文件initrd.img。
#指定method=安装源的位置。
#指定kickstart文件位置,用于无人值守自动化安装。(见下文)

label linux text
#字符界面,最小化安装
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7

label linux rescue
#救援模式的引导入口
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7

#配置完成

2.6 无人值守配置流程

安装服务 system-config-kickstart

yum -y install system-config-kickstart
#运行这个程序
system-config-kickstart

注:system-config-kickstart不能用xshell打开,需要xmanager软件;也可以可以用mobaxteam软件打开;或者直接在虚拟机上打开。

配置流程图略,配置完成后成对应的kickstrat配置文件ks.cfg,保存到/root,文件内容如下:

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext 123
# Use network installation
url --url="ftp://20.0.0.10/centos7"
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=512
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1
# Packages
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python

%end                                 

文件指定了自动化安装的各项配置。

可在文件最后添加安装后自动执行的脚本,进行各项配置。

复制ks.cfg/var/ftp,无人值守配置完成。

2.7 客户端安装

test2 :作为客户机(内存至少4G,否则不能启动PXE)

打开客户机,等待自动化安装完成。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值