搭建PXE网络安装环境实现服务器自动部署
1.搭建PXE环境的前期准备
1.准备一台干净的环境
VMware环境:
关闭VMware的DHCP服务,避免造成干扰
实验环境:Redhat7.9
主机配置:
主机名:pxe(作为服务器)
网络配置:可以ping通外网(网络配置完成)
软件仓库:成功配置,可以下载所需软件
2.搭建PXE环境的实操过程
1.搭建本地软件仓库
(这里我提前搭建完成,该主机是母机克隆而来,具体实操后续会发文)
将自己的软件仓库链接到Apache上,保证客户端的下载源正常使用
[root@pxe ~]# ln -s /rhel7 /var/www/html/
这一步是在搭建好httpd服务后做链接
2.搭建HTTPD服务
[root@pxe ~]# yum install httpd -y
#下载完成后需检查httpd服务的状态
- 这里测试是否将本地仓库链接到Httpd对应服务下面
3.制作ks.cfg文件
- 在这里可以选择vim编辑制作文件和图形化工具制作文件,为了方便不易出错,在这里选择图形化工具的方式
#在这里如果虚拟机没有图形化,那么需要命令来修改运行级别
[root@pxe ~]# init 5
#如果这条命令没有效果,则可能是并没有安装图形化,可以通过yum来安装
yum groups install "Server with GUI" -y
#安装图形化生成kickstart自动安装脚本的工具
[root@pxe ~]# yum install system-config-kickstart
#启动该工具
[root@pxe ~]# system-config-kickstart
- 以下是图形化制作脚本过程
然后保存在/root/下
#制作的ks.cfg脚本文件内容
[root@pxe ~]# cat ks.cfg
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$x5mUcflH$8iiB3lNYvAdtlyoOHYOo90
# System language
lang zh_CN
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Firewall configuration
firewall --disabled
# Network information
network --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="http://172.25.254.23/rhel7"
# 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=1024
part swap --fstype="swap" --size=512
part / --fstype="xfs" --grow --size=1
%post
mkdir -p /rhel7
%end
在配置文件中写入上面红框内容,表示装机后自动安装的软件包
带@的表示软件包组,下载时会将整个组下载
“httpd”这里表示只下载单个软件包
#检查上面修改配置文件后是否存在语法错误
[root@pxe ~]# ksvalidator ks.cfg
4.搭建DHCP服务
#下载dhcp服务
[root@pxe ~]# yum install dhcp -y
生成配置文件
[root@pxe ~]# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#编辑文件内容,具体图在下面
[root@pxe ~]# vim /etc/dhcp/dhcpd.conf
5.搭建TFTP服务
#安装对应服务
[root@pxe ~]# yum install syslinux.x86_64 -y
[root@pxe ~]# yum install tftp-server.x86_64 -y
- 检查是否启动
#将所需要的引导文件cp到tftp共享目录下
[root@pxe ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@pxe ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#搭建引导界面
[root@pxe ~]# cd /var/lib/tftpboot/
[root@pxe tftpboot]# mkdir pxelinux.cfg
[root@pxe tftpboot]# cp isolinux.cfg pxelinux.cfg/default
[root@pxe tftpboot]# vim pxelinux.cfg/default
至此搭建服务器完成
3.搭建PXE环境的结果验证
- 新建一台虚拟机,不配置ios
- 出现错误
检查问题所在
在网页测试http://172.25.254.23.ks.cfg显示Not Found
问题解决
[root@pxe html]# cp /root/ks.cfg /var/www/html/
更改硬盘启动
测试成功