用多少眼泪才能让你相信 发表于 2024-6-13 20:14:50

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

概述

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


[*] 集中管理: 通过PXE网络装机,管理员可以集中管理操纵系统镜像、引导加载器和安装文件。如允许以确保所有摆设的系统都利用相同的尺度配置,减少了配置不划一性和混乱。
[*] 快速摆设: 利用PXE网络装机,可以快速摆设大量的计算机系统。无需为每台计算机手动插入安装介质,节省了大量时间。
[*] 减少硬件需求: 由于PXE网络装机利用网络进行安装,不须要物理介质(如光盘或USB驱动器),从而节省了硬件成本和资源。
搭建须要满足的需求

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

1.安装TFTP服务

yum -y install tftp-server xinetd https://img-blog.csdnimg.cn/95677c1a446847ac8e058e764745ea81.png
 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
}
https://img-blog.csdnimg.cn/62d941be27144ce197cfd1de8421f3d6.jpeg
 设置后启动服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd 安装并且启动DHCP服务

1.安装DHCP

yum -y install dhcp https://img-blog.csdnimg.cn/a1e3acc56afc4f74bb7f3cff310d074e.png
 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;
} https://img-blog.csdnimg.cn/540b9fb82905479bbfd10439a3b068de.png
 修改完成文件后保存退出,启动dhcp服务
systemctl start dhcpd 准备 Linux 内核、初始化镜像文件

打开虚拟机设置连接光盘镜像
https://img-blog.csdnimg.cn/2b25132bae454c758892484994f2e020.png
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根目录下 https://img-blog.csdnimg.cn/08277c5807a041a28ab827ee48644a56.png
 准备 PXE 引导程序

yum -y install syslinux                                                                        #PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/        #复制 PXE引导程序 到TFTP根目录下
https://img-blog.csdnimg.cn/40f2182a50104260ac672e5e4ebfa570.png
 安装FTP服务,准备CentOS 7 安装源

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd https://img-blog.csdnimg.cn/a453c5bfaa4c44a6a7969aa01a98a063.png
 配置启动菜单文件

默认的启动菜单文件在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
#救援模式引导入口 https://img-blog.csdnimg.cn/eb402bfb31184f0bba817f9b9c61258e.png
 关闭防火墙,验证 PXE 网络安装
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 以上 PXE 网络安装已经摆设完成,假如要实现主动化安装请继续往下看

主动化安装linux系统

1.安装 system-config-kickstart 工具

yum install -y system-config-kickstart 2.打开“Kickstart 配置程序”窗口

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开
https://img-blog.csdnimg.cn/3727b3c743194687bd3c5e5577fbb6e1.png
 3.配置kickstart选项

https://img-blog.csdnimg.cn/e8d6583a303947c88a4668ff6fd211ac.png
https://img-blog.csdnimg.cn/2cc13158b2d24ffbaf1e691c20ab504a.png
https://img-blog.csdnimg.cn/928ea05607e44a449baa0817b0c9cad2.png
https://img-blog.csdnimg.cn/0248370c1e034c729ca41c590af81d03.png
https://img-blog.csdnimg.cn/24dd2bd654534a658c939d02d74bd25f.png
https://img-blog.csdnimg.cn/0e7ae8b0a7074d25861b4e7b41e90d40.png
https://img-blog.csdnimg.cn/2d293d8c5b934e90ac79b0ec8b0ae6da.png
https://img-blog.csdnimg.cn/16d3ec7c126040609138a93d13c82def.png

https://img-blog.csdnimg.cn/654c01d70c3246ab8a014fe0fef7b071.png
https://img-blog.csdnimg.cn/d255cb2647d24a66978845c5b440e05c.png
https://img-blog.csdnimg.cn/1de9f263d90d4f66b21fd4f18e0436c7.png
/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘
name=local
baseurl=ftp://192.168.42.140/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo https://img-blog.csdnimg.cn/0f26acd293944fc386e1fe57644d5f0c.png
 4.保存配置文件 

点击左上角文件然后保存到/root下
https://img-blog.csdnimg.cn/8895e9209bbf4ee79bd0cdf415763789.png
https://img-blog.csdnimg.cn/009e112ac9c84ca29fe9eb9a811dded1.png
保存完成后将 /root/ks.cfg 复制到 /var/ftp/
然后配置须要安装的软件包
cp /root/ks.cfg /var/ftp/ks.cfg https://img-blog.csdnimg.cn/0cbf55d3dc774bb9a8cc89eed18069dd.png
https://img-blog.csdnimg.cn/c2e361596be7475ea58d8af6ca00297a.png
%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 配置文件,添加以下内容
https://img-blog.csdnimg.cn/81ef8c722f8846b9a37348b3fd9ba15f.png
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 系统,而无须手工干预。
https://img-blog.csdnimg.cn/99c649dc0fcd4fdabcd8823352805483.png
https://img-blog.csdnimg.cn/21203051632943a3981c19732d5038ed.png
https://img-blog.csdnimg.cn/7e8bd48b86cb476ca55a591e21249891.png
https://img-blog.csdnimg.cn/f7fe45d77eca46b28cc7a46502fa52c6.jpeg
https://img-blog.csdnimg.cn/6244f344de574557bee4c95de3c559e6.png
https://img-blog.csdnimg.cn/44f74ed579a44cd1aceb478c03d7882e.png
https://img-blog.csdnimg.cn/90b125ae7dfd4dfe934496db38535455.png
https://img-blog.csdnimg.cn/b4d9567a214545888774e39f66753726.png
https://img-blog.csdnimg.cn/cc554cf46c324a4f8926b5626cd5536e.png
https://img-blog.csdnimg.cn/6604084d01384ce2951c22cb1ce680d9.png
https://img-blog.csdnimg.cn/29d22e84351f405d9e7281368bd98de3.png
https://img-blog.csdnimg.cn/2ce101fbfb7b4e0abd87dfc737292808.png
https://img-blog.csdnimg.cn/10bfc2f441734224a28c9c13b1c8476a.png
https://img-blog.csdnimg.cn/3c1be04fe2cb4657aecabcd2343ff5b8.png

 然后开启虚拟时机主动安装无需我们做任何事情,直到安装竣事
https://img-blog.csdnimg.cn/04c8ce0f84ac42bd8129ee7eea236e97.png
https://img-blog.csdnimg.cn/bf5c2792f19f478699e3d6044fcf3476.png
https://img-blog.csdnimg.cn/b178c702342f431a908bc29426fafd2b.png
https://img-blog.csdnimg.cn/cea7fa71934343e3b21331c2536ffe88.png
 进登入界面后利用root用户登入,密码是我们Kickstart 配置文件里的密码
https://img-blog.csdnimg.cn/b194d261b3234423b0569670bfc5c310.png
https://img-blog.csdnimg.cn/f6cb1c493d5e46b2850c7375de1bad1e.png
https://img-blog.csdnimg.cn/e38cce25777548b2af2ce259de3c0f2c.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 搭建PXE网络装机服务器(实验详解)