CentOS 7 基于PXE安装系统

一、概念与原理

什么是PXE

严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment,直译为启动前的执行环境)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。

什么是KickStart

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

二、环境说明

执行pxe+kickstart来批量安装系统,需要的环境为

1.DHCP服务器
2.TFTP服务器
3.httpd服务器或者ftp服务器或nfs服务器等能提供文件访问的服务器
4.ks.cfg文件
5.syslinux服务提供的pxelinux.0文件
6.一台带有支持pxe协议的网卡的主机
7.为确保实验可用性,请将防火墙和selinux关闭

三、安装步骤
1)、系统版本

[root@localhost ~]# uname -r
3.10.0-327.el7.x86_64

123

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

2)、配置网络环境以及yum源
本处使用的yum源为系统默认源,
本级网络为
[root@localhost dhcp]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:cc:38:86 brd ff:ff:ff:ff:ff:ff
    inet 172.16.219.136/24 brd 172.16.219.255 scope global dynamic eno16777736
      valid_lft 1353sec preferred_lft 1353sec
    inet6 fe80::20c:29ff:fecc:3886/64 scope link
      valid_lft forever preferred_lft forever

3)、安装DHCP服务

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

配置dhcp服务器,使其能够提供172.16.219.50-172.16.219.53的ip地址,子网掩码为255.255.255.0。配置如下
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
 ddns-update-style interim;
 ignore client-updates;
 authoritative;
 allow booting;
 allow bootp;
 allow unknown-clients;
 # A slightly different configuration for an internal subnet.
 subnet 172.16.219.0 netmask 255.255.255.0 {
    range 172.16.219.50 172.16.219.53;
    default-lease-time 600;
    max-lease-time 7200;
 
 next-server 172.16.219.136; #  DHCP server ip
 filename “pxelinux.0”;
 }

4)、安装httpd服务(本文通过http的方式提供服务)
[root@localhost ~]# yum install -y httpd

配置如下
[root@localhost ~]# vi /etc/httpd/conf.d/pxeboot.conf
Alias /CentOS7_x64 /var/lib/tftpboot/centos7_x64/
 
<Directory /var/lib/tftpboot/centos7_x64>
Options Indexes FollowSymLinks
Require ip 127.0.0.1 172.16.219.0/24
</Directory>
~

5)、安装tftp-server服务端
[root@localhost ~]# yum install tftp-server xinetd -y

修改xinetd文件

# 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
        per_source              = 11
        cps                    = 100 2
        flags                  = IPv4
}

把siabled的yes改为no

6)、准备所需要的rpm包
mount -o loop /root/CentOS-XX.iso /mnt/
mkdir /var/lib/tftpboot/centos7_x64
cp -fr /mnt/* /var/lib/tftpboot/centos7_x64/
chmod -R 755 /var/lib/tftpboot/centos7_x64/

7)、准备tftpboot下的文件
安装syslinux,此服务为pxe提供pxelinux.0文件
[root@localhost ~]# yum install -y syslinux

准备文件
cd /usr/share/syslinux/
cp pxelinux.0 menu.c32 memdisk mboot.c32 chain.c32 /var/lib/tftpboot/

自定义pxe文件
mkdir /var/lib/tftpboot/pxelinux.cfg
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
 
menu title ########## PXE Boot Menu ##########
 
label 1
menu label ^1) Install CentOS 7
kernel centos7_x64/images/pxeboot/vmlinuz
append initrd=centos7_x64/images/pxeboot/initrd.img method=http://172.16.219.136/centos7_x64 devfs=nomount
 
label 2
menu label ^2) Boot from local drive localboot

9)、重启各个服务
systemctl restart xinetd
systemctl restart httpd
systemctl restart dhcpd

将各个服务设置成开机自启动
systemctl enable xinetd
systemctl enable httpd
systemctl enable dhcpd

一切准备就绪,可以开始测试了
10)、测试安装

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/207314.html<

(0)
运维的头像运维
上一篇2025-04-08 11:55
下一篇 2025-04-08 11:56

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注