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

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.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无人值守安装)_第2张图片

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

[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无人值守安装)_第3张图片

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

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第4张图片

第三步:安装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无人值守安装)_第5张图片

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

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第6张图片

第四步:安装并设置syslinux

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

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

在这里插入图片描述

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

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第7张图片

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

在这里插入图片描述
第五步:设置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无人值守安装)_第8张图片

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

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第9张图片

[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无人值守安装)_第10张图片

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

[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无人值守安装)_第11张图片

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

在这里插入图片描述
第七步,设置默认配置文件

[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无人值守安装)_第12张图片

[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无人值守安装)_第13张图片
可以安装,实验成功

三:实现Kickstart无人值守安装

3.1:准备安装应答文件

  • kickstart无人值守技术

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

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

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

  • 应答文件的内容

3.2:实现批量自动装机

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

安装完后才能后,发现有kickstart工具
Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第14张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第15张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第16张图片
Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第17张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第18张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第19张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第20张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第21张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第22张图片

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第23张图片

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

在这里插入图片描述

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

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第24张图片
Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第25张图片

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

Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第26张图片

[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无人值守安装)_第27张图片
Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第28张图片
切换到裸机,重启
Linux--网络服务--PXE高效批量网络装机,全自动化装机实验+理论详解(部署PXE远程安装服务,实现Kickstart无人值守安装)_第29张图片

四:PXE+Kickstart自动安装

4.1:验证自动安装

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

你可能感兴趣的:(Linux网络服务)