PXE批量装centos7系统

本文详细描述了如何在Linux环境中配置TFTP、DHCP、FTP服务,以及准备Linux内核和PXE引导程序,用于无人值守的CentOS网络安装过程,包括设置Kickstart应答文件和启动菜单配置。
摘要由CSDN通过智能技术生成

1.环境准备:

yum -y install tftp-server  xinetd #安装并启用 TFTP 服务
#修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp 
protocol = udp                        # TFTP默认使用UDP协议
wait = no                             # no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot    # 指定TFTP根目录(引导文件的存储路径)
disable = no                          # no表示开启TFTP服务

#重启服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

#安装并启用 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

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
log-facility local7;

subnet 192.168.42.0 netmask 255.0.0.0 {          #指定为那个网段分配网络参数
   range 192.168.42.0 192.168.42.100;               #设置准备为客户端分配的IP地址范围
   option domain-name-servers 192.168.0.12;     #设置分配给客户端的DNS服务器地址
   option routers 192.168.0.2;                  #设置分配给客户端的网关地址。
   # option broadcast-address 10.5.5.31;     #广播地址,注释掉后用默认的
   default-lease-time 600;                       # 地址租赁时间 600秒后失效
   max-lease-time 7200; 
   next-server 192.168.42.12;                    # 下一个要访问的地址,就是tftp地址。
   filename "pxelinux.0";                         #要访问tftp上哪一个文件。
          }

#重启服务并设置自启动

systemctl start dhcpd
systemctl enable dhcpd
ss -tulanp|grep -w 67        #查看端口

2、准备Linux内核、初始化镜像

mount /dev/cdrom  /mnt         #先挂载光盘镜像

# 这里需要将两个重要文件复制到/var/lib/tftpboot/(vmlinuz、initrd.img)
cd /mnt/images/pxeboot                  
cp vmlinuz /var/lib/tftpboot/               #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/            #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

3、准备PXE引导程序

yum -y install syslinux     # PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    # 复制 PXE引导程序 到TFTP根目录下

4、安装FTP服务,准备CentOS 7 安装源

yum -y install vsftpd     # 安装vsftpd服务

mkdir /var/ftp/centos7    #  新建centos7目录,并将光盘镜像下的文件全部复制到centos7目录下

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

systemctl enable vsftpd
systemctl start vsftpd

5、关闭防火墙,验证 PXE 网络安装
使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
6、通过kickstart无人值守自动装机

```bash
#准备安装应答文件,安装system-config-kickstart 工具
yum install -y system-config-kickstart    # 需要图形化机器支持,没有图形化直接跳过

打开“Kickstart 配置程序”窗口 通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开 或执行 “system-config-kickstart” 命令打开

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$vaNL5KxU$3IP6YfK3wcOYns3En/C8J1
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
#graphical   #是否选择有图形安装
text    #不选择图形安装
firstboot --disable
# SELinux configuration
selinux --disabled
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="ftp://192.168.171.170/centos"
# 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=2048
part /home --fstype="xfs" --size=2048
part / --fstype="xfs" --grow --asprimary --size=1

%packages
@^minimal
@core
@development
@system-admin-tools
gcc
glibc
gcc-c++
openssl-devel
openssh
tree
nmap
sysstat
lrzsz
vim
wget

%end


cp /root/ks.cfg /var/ftp/ks.cfg

7、配置启动菜单文件

```bash
# 默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg         # 需要在ftfpboot目录下创建pxelinux.cfg
# vim /var/lib/tftpboot/pxelinux.cfg/default   # 在pxelinux.cfg目录下创建default并编辑配置文件

default auto
prompt 0    #设置是否等待用户选择,“0”表示不等待用户控制


label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.170/centos7 ks=ftp://192.168.42.170/ks.cfg     ##添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.170/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.170/centos7



# 重启TFTP服务
systemctl restart tftp

8、新建虚机测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值