初学者的Linux—PXE批量网络装机

这篇博客介绍了如何使用PXE进行Linux的批量网络装机。首先,搭建DHCP服务,配置tftp和引导程序,接着安装vsftp并挂载磁盘。然后通过 Kickstart 自动化安装过程,包括配置网络、分区和安装后脚本。最后,修改配置文件以实现无人值守安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux—PXE批量网络装机

简介

预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统

现在我们来搭建一个PXE

首先,我们来安装一下dhcp服务

[root@test02 ~]# yum -y install dhcp

然后我们查看dhcp配置文件存放的位置:/etc/dhcp/dhcpd.conf中,但是打开会发现让你去另一个目录中找配置文件模板,所以要复制一份过来

[root@test02 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@test02 ~]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.10.0  netmask 255.255.255.224 {
  range 192.168.10.100 192.168.10.200;
  option routers 192.168.10.100;
  option domain-name-servers 192.168.10.100;
  next-server 192.168.10.100;
  filename "pxelinux.0";
}

接下来,我们安装一下tftp和引导程序

[root@test02 ~]# yum -y install tftp-server
[root@test02 ~]# yum -y install syslinux

然后我们进行配置

[root@test02 ~]# vi /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no   ###这边将yes改成no###
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

然后我们将引导程序拷贝的TFTP站点目录下

[root@test02 etc]# cd xinetd.d/
[root@test02 xinetd.d]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

接着我们安装vsftp服务

[root@test02 xinetd.d]# yum -y install vsftpd

再接着,我们挂载一下磁盘

[root@test02 xinetd.d]# cd /var/ftp/
[root@test02 ftp]# mkdir centos7
[root@test02 ftp]# mount /dev/cdrom /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载

然后,我们进入tftp站点目录

新建一个引导配置文件存放目录,进入该目录并新建一个名为default的配置文件,编辑该文件

[root@test02 ftp]# cd /var/lib/tftpboot/
[root@test02 tftpboot]# mkdir pxelinux.cfg
[root@test02 tftpboot]# cd pxelinux.cfg
[root@test02 pxelinux.cfg]# vi default
default auto
prompt 1

label auto
  kernel vmlinuz
  append initrd=initrd.img method=ftp://192.168.10.100/centos7

label linux text
  kernel vmlinuz
  append text initrd=initrd.img method=ftp://192.168.10.100/centos7

label linux rescue
  kernel vmlinuz
  append rescue initrd=initrd.img method=ftp://192.168.10.100/centos7

然后我们启动一下服务

[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl start vsftpd

启动完成,我们将一个裸金属服务器启动

在这里插入图片描述

我们还是要手动选择,我们可以在服务器上安装Kickstart服务软件,自动安装

在这里插入图片描述

在图形化界面左上角点击“应用程序”按钮,选择“系统工具”中的Kickstart打开软件

在这里插入图片描述

我们开始进行相关配置选择

  • 基本配置(设置默认语言、时区,勾选给root密码加密,与安装后重启)

在这里插入图片描述

  • 安装方法(单击FTP,配置FTP服务器IP并设置FTP目录)

在这里插入图片描述

  • 引导装载程序选项(单击安装新引导装载程序、在主引导记录中安装引导装载程序)

在这里插入图片描述

  • 分区信息(根据实际需求添加分区,点击“添加“按钮即可)

在这里插入图片描述

  • 网络配置(单击”添加网络设备“按钮,输入”ens33“)

在这里插入图片描述

  • 防火墙配置

在这里插入图片描述

  • 安装后脚本(勾选使用解释程序,并输入/bin/bash)

在这里插入图片描述

  • 配置完成后保存文件到桌面即可

配置完成

我们需要编辑服务器系统家目录下的配置文件:vi anaconda-ks.cfg ,将其中安装的所有软件包列表复制,粘贴到刚才生成的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
@system-admin-tools
@x11
chrony
kexec-tools

%end

然后,我们要修改default配置文件让其识别到ks.cfg文件

[root@localhost pxelinux.cfg]# vi /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img method=ftp://192.168.10.100/centos7 ks=ftp://192.168.10.100/ks.cfg
///保存退出后//
[root@localhost ~]# cd 桌面/ && mv ks.cfg /var/ftp/

然后重启

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值