搭建PXE网络装机服务器(实验详解)

概述

PXE(Preboot Execution Environment)是一种计算机网络协议,它允许计算机通过网络从远程服务器启动和安装操作系统,而无需使用本地存储设备。PXE网络装机是一种常见的自动化操作系统部署方式,特别适用于大规模计算机系统管理、服务器集群部署、虚拟化环境以及无人值守的安装场景。

优点

  1. 集中管理: 通过PXE网络装机,管理员可以集中管理操作系统镜像、引导加载器和安装文件。这样可以确保所有部署的系统都使用相同的标准配置,减少了配置不一致性和混乱。

  2. 快速部署: 使用PXE网络装机,可以快速部署大量的计算机系统。无需为每台计算机手动插入安装介质,节省了大量时间。

  3. 减少硬件需求: 由于PXE网络装机使用网络进行安装,不需要物理介质(如光盘或USB驱动器),从而节省了硬件成本和资源。

搭建需要满足的需求

若要搭建 PXE 网络体系,必须满足以下几个前提条件:
客户端:
1.客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。
服务端:
2.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
3.服务器要通过 TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载

搭建 PXE 远程安装服务器

1.安装TFTP服务

yum -y install tftp-server xinetd

 2.修改TFTP服务的配置文件并启动

vim /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                    = no
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

 设置后启动服务

systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

安装并且启动DHCP服务

1.安装DHCP

yum -y install dhcp

 2.修改DHCP配置文件并启动服务

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf.bak

vim /etc/dhcp/dhcpd.conf
next-server 192.168.42.140;
filename "pxelinux.0";

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

log-facility local7;

subnet 192.168.122.1 netmask 255.255.255.255 {
}

subnet 192.168.42.0 netmask 255.255.255.0 {
  range 192.168.42.88 192.168.42.188;
  option routers 192.168.42.140;
}

 修改完成文件后保存退出,启动dhcp服务

systemctl start dhcpd

准备 Linux 内核、初始化镜像文件

打开虚拟机设置连接光盘镜像

df -Th | grep /dev/sr0    #查看是否连接成功
mount /dev/sr0 /mnt       #挂载光盘镜像
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/	#复制 Linux系统的内核文件 到TFTP根目录下
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/ #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

 准备 PXE 引导程序

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

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

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd

 配置启动菜单文件

默认的启动菜单文件在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

label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.140/centos7 ks=ftp://192.168.42.140/ks.cfg
#图形安装(默认)引导入口

label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.140/centos7
#文本安装引导入口

label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.140/centos7
#救援模式引导入口

 关闭防火墙,验证 PXE 网络安装

systemctl stop firewalld && systemctl disable firewalld
setenforce 0

以上 PXE 网络安装已经部署完成,如果要实现自动化安装请继续往下看

自动化安装linux系统

1.安装 system-config-kickstart 工具

yum install -y system-config-kickstart

2.打开“Kickstart 配置程序”窗口

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开

 3.配置kickstart选项

/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘[local]
name=local
baseurl=ftp://192.168.42.140/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo

 4.保存配置文件 

点击左上角文件然后保存到/root下

保存完成后将 /root/ks.cfg 复制到 /var/ftp/

然后配置需要安装的软件包

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

%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools

%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

 然后修改 TFTP 配置文件,添加以下内容

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

修改文件权限 

chmod 777 /root/ks.cfg
chmod 777 /var/ftp/ks.cfg

 

5.验证无人值守安装

当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。

 然后开启虚拟机会自动安装无需我们做任何事情,直到安装结束

 进登入界面后使用root用户登入,密码是我们Kickstart 配置文件里的密码

  • 12
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 步骤1:确保PXE服务器上安装了TFTP服务器,NFS服务器和DHCP服务器。步骤2:将CentOS 7 ISO文件复制到TFTP服务器上,并将其路径添加到TFTP服务器中。步骤3:将CentOS 7安装文件复制到NFS服务器上,并将其路径添加到NFS服务器中。步骤4:设置DHCP服务器,为客户端提供IP地址,TFTP服务器和NFS服务器的路径。步骤5:启动客户端,客户端将从PXE服务器上加载CentOS 7 ISO文件,并开始安装CentOS 7。 ### 回答2: CentOS 7的PXE网络装机包括以下步骤: 1. 准备一台安装了CentOS 7的物理机作为PXE服务器。确保该机器有足够的磁盘空间存储安装图像和其他文件。 2. 在PXE服务器上安装并配置DHCP和TFTP服务。DHCP用于向客户端分配IP地址,并提供引导信息;TFTP用于传输引导加载程序和安装图像。 3. 在PXE服务器上创建TFTP根目录,并将CentOS 7的引导加载程序和安装图像复制到该目录下。 4. 进入PXE服务器的DHCP配置文件,配置IP地址范围以及引导加载程序和安装图像的路径。确保引导加载程序的路径正确,并指向TFTP根目录下的文件。 5. 启动PXE服务器上的DHCP和TFTP服务。 6. 在要进行网络安装的客户机上启动,并在BIOS或UEFI设置中将启动顺序设置为网络引导。 7. 客户机通过DHCP请求获得IP地址,然后通过TFTP下载引导加载程序。 8. 引导加载程序从TFTP服务器下载核心安装程序(vmlinuz)和初始化内存磁盘(initrd.img)。 9. 客户机通过TFTP下载完成后,引导加载程序将加载核心安装程序和初始化内存磁盘。 10. 引导加载程序将进入图形化或文本界面,用户可以选择安装类型、分区和其他安装选项。 11. 用户设置完毕后,安装程序将开始自动安装CentOS 7。 12. 最后,系统会重启并进入新安装的CentOS 7操作系统。 以上是CentOS 7的PXE网络装机步骤。根据实际环境和需求的不同,可能需要额外的配置和步骤。请注意,PXE网络装机需要一定的网络和系统管理知识,以确保正确配置和顺利进行安装。 ### 回答3: CentOS 7使用PXE网络装机是一种方便快捷的安装方式。下面是CentOS 7 PXE网络装机的步骤: 1. 首先,需要一台装有CentOS 7的服务器作为PXE服务器。确保服务器上已经连接了网络,并且具备DHCP和TFTP服务。 2. 安装和配置DHCP服务器。DHCP服务器用于为新安装的计算机分配IP地址。在CentOS 7上,可以使用yum命令安装dhcp软件包。安装完成后,在/etc/dhcp/dhcpd.conf文件中编辑DHCP的配置,指定DHCP服务器的相关信息如子网、网关、DNS等,并指定PXE启动器的位置。 3. 安装和配置TFTP服务器。TFTP服务器用于传输启动器和相关的文件。同样可以使用yum命令安装tftp软件包。安装完成后,在/etc/xinetd.d/tftp文件中编辑TFTP服务的配置,指定TFTP服务器的相关信息。 4. 在PXE服务器上准备PXE启动器和相关的文件。PXE启动器是用来引导新安装计算机的程序。首先,将CentOS 7安装光盘镜像文件挂载到一个目录下。然后,将PXE相关的文件复制到TFTP服务器的根目录下,包括pxelinux.0、vmlinuz、initrd.img等。 5. 配置新安装计算机的BIOS。确保新安装计算机的BIOS设置中,启用了PXE启动功能,并将PXE启动设备设置为首选。 6. 开始安装新计算机。在新计算机启动时,它会发送DHCP请求并接收PXE服务器返回的信息。在得到TFTP服务器的响应后,新计算机会下载PXE启动器和相关的文件,并根据启动器的指示进行安装。 通过以上的步骤,就可以实现CentOS 7的PXE网络装机了。这种方式可以大大简化大量计算机的安装过程,提升工作效率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值