欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

荐 Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

程序员文章站 2022-07-04 18:07:44
Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)前言一:部署PXE远程安装服务1.1:搭建PXE远程安装服务器1.1.1:服务器的批量部署的优点1.1.2:PXE网络1.1.3:配置PXE装机服务器1.2:PXE部署总结1.3:验证PXE网络安装二:PXE实验配置2.1:实验目的2.2:实验环境三:实现Kickstart无人值守安装3.1:准备安装应答文件3.2:实现批量自动装机四:PXE+Kickstart自动安装4.1:验证自...

前言

大规模的linux应用环境中,如Web群集、分布式计算机等,服务器往往并不配备光驱设备,在这种情况下,PXE可以为数十乃至上百台服务器逻辑快速安装系统。

一:部署PXE远程安装服务

1.1:搭建PXE远程安装服务器

1.1.1:服务器的批量部署的优点
  • 规模化:同时装配多台服务器
  • 自动化:安装系统,配置各种服务
  • 远程实现:不需要光盘,U盘等安装介质
    荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
1.1.2:PXE网络
  • PXE(Pre-boot eXcution Environment)

预启动执行环境,在操作系统之前运行

  • 服务端

运行DHCP服务,用来分配地址,定位引导程序

运行TFTP服务,提供引导程序下载

  • 客户端

网卡支持PXE协议

主板支持网络启动

1.1.3:配置PXE装机服务器
  • 基本部署过程

准备centos 7 安装源(yum仓库)

安装并启动TFTP服务

提供linux内核,PXE引导程序等

安装并启动DHCP服务,用来分配地址,指导引导程序位置

配置启动菜单

  • 准备Centos 7 安装源

centos 7 安装源支持HTTP、FTP、NFS等协议发布

  • 安装并启动TFTP服务

安装tftp-server软件包,启用tftp服务

配置文件位于/etc/xinetd.d/tftp

  • 准备linux内核,PXE引导程序

linux内核、初始化镜像文件分别为vmlinuz和initrd.img

引导程序为pxelinux.0,由软件syslinux提供

  • DHCP服务的PXE的设置
[root@localhost ~]#yum install dhcp -y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite /etc/dhcp/dhcpd.conf’? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

 subnet 192.168.100.0 netmask 255.255.255.0 {
          range 192.168.100.20 192.168.100.30;
          option routers 192.168.100.100;
          option domain-name-servers 6.6.6.6
          next-server 192.168.100.100;		'指定TFTP服务器地址'
          filename "pxelinux.0";		'filename:指定要下载的引导程序文件'
  }
[root@localhost ~]#systemctl start dhcpd
[root@localhost ~]#systemctl enable dhcpd
  • 配置启动菜单文件
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
    kernel vmlinuz
	append initrd=initrd.img method=ftp://20.0.0.47/centos7
label linux text
    kernel vmlinuz
	append text initrd=initrd.img method=ftp://20.0.0.47/centos7
label linux rescue
    kernel vmlinuz
	append rescue initrd=initrd.img method=ftp://20.0.0.47/centos7

1.2:PXE部署总结

  • 四大文件
文件名称 解释 作用
default 需要先pxelinux.cfg目录 引导配置文件默认被加载
vmlinuz 压缩内核 在default中被定义最先加载
initrd.img 初始化镜像文件 在default被定义第二个加载的
pxelinux.0 引导程序 需要安装syslinux包才会有,在dhcp配置文件中定义
  • 三个服务
DHCP 让客户端获取IP地址,能主动联网PXE服务器 配置中指向TFTP
TFTP 简单文件系统,UDP,69端口,快速加载引导程序,引导程序的容量较小 默认配置文件指向FTP镜像位置
FTP 文件系统,TCP,21端口连接服务,20端口传输数据 系统镜像存放

1.3:验证PXE网络安装

  • 为客户机安装系统

调整BIOS设置,以便从网络引导

自动获取IP地址,并指定centos7安装源

其余过程与本地安装相同

二:PXE实验配置

2.1:实验目的

未安装系统的裸机通过PXE实现自动安装系统

2.2:实验环境

VMware软件中centos 7系统以及一台未安装系统的裸机

第一步,在服务器设置双网卡
在centos 7添加一个网络适配器,并设置为仅主机模式。 用来装机,做服务器的网卡
原本的网络适配器保持NAT模式不变。 用来安装yum包

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

第二步:修改网卡配置信息

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

第三步:安装DHCP并设置

[root@localhost ~]# yum install dhcp -y
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

第四步:安装并设置syslinux

安装软件包syslinux,因为PXE的引导程序pxelinux.0是由软件包syslinux提供。

[root@localhost ~]# yum install syslinux -y
[root@localhost ~]# rpm -ql syslinux |grep pxelinux.0             过滤查找pxelinux.0在哪

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# rpm -ql tftp-server 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# ls /var/lib/tftpboot/

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
第五步:设置TFTP–配置安装tftp-server

TFTP服务有tftp-server软件包提供,默认由xinetd超级服务管理,因此配置文件位/etc/xinetd,d/tftp。配置时只要将"yes"改成"no",然后启动xinetd服务即可。

[root@localhost ~]# vim /etc/xinetd.d/tftp 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# rpm -ql vsftpd

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# ls
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

第六步,在镜像中复制出文件

[root@localhost ftp]# cd centos7/
[root@localhost centos7]# ls
[root@localhost centos7]# cd images/
[root@localhost images]# ls
[root@localhost images]# cd pxeboot/
[root@localhost pxeboot]# ls

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
[root@localhost pxeboot]# ls /var/lib/tftpboot/

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
第七步,设置默认配置文件

[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# ls
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost pxelinux.cfg]# systemctl stop firewalld.service 
[root@localhost pxelinux.cfg]# setenforce 0
[root@localhost pxelinux.cfg]# systemctl start dhcpd
[root@localhost pxelinux.cfg]# systemctl start tftp
[root@localhost pxelinux.cfg]# systemctl start vsftpd

第八步:切换到裸机位置,开启虚拟机
荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
可以安装,实验成功

三:实现Kickstart无人值守安装

3.1:准备安装应答文件

  • kickstart无人值守技术

创建应答文件,预先定义好各种安装设置

免去交互设置过程,从而实现全自动化安装

通过添加%post脚本,完成安装后的各种配置操作

  • 应答文件的内容

3.2:实现批量自动装机

[root@localhost ~]# yum install system-config-kickstart -y 安装kickstart工具

安装完后才能后,发现有kickstart工具
荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# ls

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ftp]# cd /root
[root@localhost ~]# ls
[root@localhost ~]# vim anaconda-ks.cfg 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# vim /var/ftp/ks.cfg 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# ls
[root@localhost pxelinux.cfg]# vim default 

荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)
切换到裸机,重启
荐
                                                        Linux--网络服务--PXE高效批量网络装机,实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)

四:PXE+Kickstart自动安装

4.1:验证自动安装

将客户机以PXE方式引导
系统会自动完成安装,并配置好软件仓库
整个安装过程无需手动干预

本文地址:https://blog.csdn.net/m0_47219942/article/details/107326670