PEX批量装机+shell一键部署PEX服务器

PXE概述

PXE (Preboot eXcution Environ

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

服务端

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

客户端

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

PEX装机基本部署过程

  • 准备CentOS7安装源(YUM仓库)
  • 安装并启用TFTP服务
  • 提供Linux内核、PXE引导程序等
  • 安装并启用DHCP服务
  • 配置启动菜单

PEX实战部署

一、安装tftp服务
1、安装tftp

[root@pxe ~]# yum -y install tftp-server.x86_64

2、修改配置文件

[root@pxe ~]# vim /etc/xinetd.d/tftp
disable                 = no			#yes修改为no
server_args             = -s /var/lib/tftpboot -c		#增加-c

二、安装dhcp服务
1、安装dhcp服务

[root@pxe ~]# rpm -ivh /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm

2、设置dhcp配置文件(设置的dhcp网段需要和自己网卡在一个网段)

[root@pxe ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
next-server 20.0.0.10;
filename "pxelinux.0";
subnet 20.0.0.0 netmask 255.255.255.0 { 		  #设置dhcp网段和子网掩码
range 20.0.0.100 20.0.0.200;                  #设置dhcp地址池范围
option routers 20.0.0.10;                     #设置网关
 		      option domain-name-servers 20.0.0.10;         #dns服务器IP地址
}

3、启动dhcp服务

[root@pxe ~]# systemctl start dhcpd

4、查看启动进程

[root@pxe ~]# netstat -anptu|grep dhcpd

三、安装ftp服务
1、安装ftp服务

[root@pxe ~]# yum -y install vsftpd.x86_64

2、挂载目录

[root@pxe ~]# mount /dev/cdrom /var/ftp/pub/

四、安装syslinux
1、安装syslinux

[root@pxe ~]# yum -y install syslinux

2、拷贝系统文件

[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@pxe ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@pxe ~]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default	#启动菜单
[root@pxe ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/				#linux引导加载模块
[root@pxe ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/				#压缩内核
[root@pxe ~]# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/				#图形化启动菜单

3、修改配置文件

[root@pxe ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
清空配置添加如下设置
default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://20.0.0.10/pub ks=ftp://20.0.0.10/ks.cfg

四、安装kickstart工具
1、安装kickstart工具

[root@pxe ~]# yum -y install system-config-kickstart.noarch
2、到centos 7服务器里    应用程序-----》系统工具------------------》kickstart

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述右上角文件保持到到root目录下
3、编辑刚刚设置文件的文件

[root@pxe ~]# vim ks.cfg
在文件末尾加入如下设置
%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@x11
chrony
kexec-tools

%end

4、拷贝刚刚编辑的ks.cfg文件

[root@pxe ~]# cp ks.cfg /var/ftp/

最后一把开机按F2

shell一键部署pxe服务器

#!/bin/bash
#一、安装tftp服务
#1、安装tftp
yum -y install tftp-server.x86_64
#2、修改配置文件
sed -i -e "/disable/s/yes/no/g" /etc/xinetd.d/tftp
sed -i -e "/server_args/s/tftpboot/tftpboot -c" /etc/xinetd.d/tftp
#二、安装dhcp服务
#1、安装dhcp服务
rpm -ivh /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm
#2、设置dhcp配置文件(设置的dhcp网段需要和自己网卡在一个网段)
echo 'ddns-update-style none;
next-server 20.0.0.10;
filename "pxelinux.0";
subnet 20.0.0.0 netmask 255.255.255.0 { 		  #设置dhcp网段和子网掩码
range 20.0.0.100 20.0.0.200;                  #设置dhcp地址池范围
option routers 20.0.0.10;                     #设置网关
       option domain-name-servers 20.0.0.10;         #dns服务器IP地址
}'>/etc/dhcp/dhcpd.conf
#3、启动dhcp服务
systemctl start dhcpd
#三、安装ftp服务
#1、安装ftp服务
yum -y install vsftpd.x86_64
#2、复制装机需要文件
cp -r /mnt/* /var/ftp/pub/
#四、安装syslinux
#1、安装syslinux
yum -y install syslinux
#2、拷贝系统文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default	#启动菜单
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/				#linux引导加载模块
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/				#压缩内核
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/				#图形化启动菜单
#3、修改配置文件
echo "default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://20.0.0.10/pub ks=ftp://20.0.0.10/ks.cfg">/var/lib/tftpboot/pxelinux.cfg/default
#1、安装kickstart工具
echo "#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$8voJ3802$2BtqZIIVT9wadYQM9PVZj.
# Use network installation
url --url="ftp://20.0.0.10/pub"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled

# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --location=none
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=500
part /home --fstype="xfs" --size=4096
part / --fstype="xfs" --grow --size=1
%packages
@^gnome-desktop-environment
@backup-client
@base
@compat-libraries
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-apps
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@multimedia
@network-file-system-client
@networkmanager-submodules
@office-suite
@print-client
@security-tools
@smart-card
@x11
chrony
kexec-tools

%end">/var/ftp/ks.cfg
systemctl restart dhcpd
systemctl restart vsftpd
systemctl restart tftp

PXE装机不成功可能出现的原因

1、TFPT错误
在这里插入图片描述解决:

  • 查看/etc/dhcp/dhcpd.conf中的filename “pxelinux.0”;
  • 查看/拷贝到/var/lib/tftp文件的pxelinux.0名称
  • 两者名称是否一致

2、boot错误
查看修改过的/var/lib/tftpboot/pxelinux.cfg/default文件里面的内容是否正确

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值