Linux-PXE高效批量网络装机

PXE高效批量网络装机

一、PEX概述

1、PEX批量部署的优点

规模化:同时按照多台服务器

自动化:安装系统、配置各种服务

远程实现:不需要光盘、U盘等安装介质
Linux-PXE高效批量网络装机

2、PXE

PXE是有Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统

预启动执行环境,在操作系统之前运行

3、服务端

运行DHCP服务,用来分配地址、定位引导程序

运行TFTP服务,提供引导程序下载

4、客户端

网卡支持PXE协议

主板支持网络引导

二、配置PXE装机服务器

1、搭建PXE网络体系的前提

客户机的网卡要支持PXE协议,且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可

网络中有一台DHCP服务器以便了户籍自动分配地址、指定引导文件位置

服务器要通过TFTP服务来提供引导镜像文件的下载

2、基本部署过程

准备CentOS 7安装源(yum仓库)

安装并启用TFTP服务

提供Linux内核、PXE引导程序

安装并启用DHCP服务

配置启动菜单

3、配置步骤

①yum -y install tftp-server xinetd

vim /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp ------------TFTP使用UDP协议
wait = yes ---------no表示客户机可以多台一起连接,yes表示客户机只能一台一台的连接
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot-----------指定TFTP的根目录
disable = no---------------表示开启TFTP服务
per_source = 11
cps = 100 2
flags = IPv4
}

systemctl start tftp
systemctl start xinetd
systemctl enable xinetd
systemctl enable tftp
Linux-PXE高效批量网络装机

②安装并启用DHCP服务

yum -y install dhcp

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改DHCP动态更新

vim /etc/dhcp/dhcpd.conf

ddns-update-style none;-----------禁用DNS动态更新
next-server 10.0.0.7;----------指定TFTP服务器的地址
filename “pxelinux.0”;指定PXE引导程序的文件名

subnet 10.0.0.0 netmask 255.255.255.0 {--------声明要分配的网段地址
range 10.0.0.100 10.0.0.200;-----------设置地址池
option routers 10.0.0.7;------------默认网关地址指向TFTP服务器的IP地址
}

systemctl restart dhcpd
systemctl enable dhcpd
Linux-PXE高效批量网络装机

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

cd /mnt/images/pxeboot/----------事先把光盘挂载到/mnt目录中

cp vmlinuz /var/lib/tftpboot/-------------复制Linuux系统的内核文件到TFTP根目录下

cp initrd.img /var/lib/tftpboot/-----------------复制初始化镜像文件到TFTP根目录下

④准备PXE引导程序

yum install -y syslinux-----------PXE引导程序由软件包syslinux提供

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

⑤安装FTP服务,准备Centos7安装源

yum install -y vsftpd

mkdir /var/ftp/centos7

cp -rf ./* /var/ftp/centos7/

systemctl start vsftpd
systemctl enable vsftpd

⑥配置启动菜单文件

默认的启动惨淡文件在TFTP根目录的pxelinux.cfg子目录下,文件名为default

mkdir /var/lib/tftpboot/pxelinux.cfg

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://10.0.0.7/centos7 ks=ftp://10.0.0.7/ks.cfg

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

label linux rescue -------------------救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://10.0.0.7/centos7
Linux-PXE高效批量网络装机

⑦关闭防火墙

systemctl stop firewalld
setenforce 0

使用VMware创建虚拟机进行测试,虚拟机内存至少需要2GB,否则在启动安装时可能报错

开启虚拟机,在提示字符串boot后按Enter键,将会自动通过网络下载安装文件,并进入默认的图形安装入口

若执行linux txt命令,则进入文本安装入口:若执行“linux recue”命令,则进入救援模式
Linux-PXE高效批量网络装机

三、实现Kickstart 无人值守安装

1、准备安装应答文件

安装system-config-kickstart工具

yum -y install system-config-kickstar

2、打开“Kickstart配置程序”窗口

通过桌面菜单应用程序——系统工具——Kickstart打开或执行system-config-kickstart命令打开

基本配置

语言设成中文

时区上海

设置ROOT密码

然后把自动安装勾上
Linux-PXE高效批量网络装机

安装方法

执行全新安装

选择FTP

FTP服务器:ftp://10.0.0.7

FTP目录:centos7
Linux-PXE高效批量网络装机

引导装载程序选项

安装新引导装载程序

在主引导记录中安装引导装载程序
Linux-PXE高效批量网络装机

分区信息

清楚引导记录

删除所有现存分区

初始化磁盘标签
Linux-PXE高效批量网络装机

网络配置

添加网络设备
Linux-PXE高效批量网络装机

防火墙配置

禁用防火墙
Linux-PXE高效批量网络装机

安装后脚本

/bin/bash

rm -rf /etc/yum.repos.d/*

echo '[local]

name=local

baseurl=ftp://192.168.241.3/centos7

enabled=1

gpgcheck=0’ > /etc/yum.repos.d/local.repo
Linux-PXE高效批量网络装机
Linux-PXE高效批量网络装机
Linux-PXE高效批量网络装机

3、配置需要安装的软件包

可以根据需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中,只需要复制%packages到%end部分即可

如需要最小化安装,可复制下面的内容

vim ks.cfg

%packages

@^minimal——————最小化安装

%end

Linux-PXE高效批量网络装机

4、编辑引导菜单文件default,添加ks引导参数

vim /var/lib/tftpboot/pxelinux.cfg/default

default auto

prompt 0——————设置是否等待用户选择,0表示不等待用户控制

label auto

kernel vmlinuz————————kernel和append用来定义引导参数

append initrd=initrd.img method=ftp://192.168.241.3/centos7 ks=ftp://192.168.241.3/ks.cfg————添加ks引导参数以指定ks.cfg应答文件URL路径
Linux-PXE高效批量网络装机
最后就可以进行自动安装了

上一篇:企业必备———Linux Centos7 无人值守自动化装机(PXE部署)


下一篇:linux-kickstart+PXE自动批量部署系统