PXE高效批量网络装机

              一、PXE概述

               1)PXE (Preboot eXcution Environment)

               2)PXE批量部署的优点

              二、搭建PXE网络体系,必须满足的前提条件

               1)客户端

               2)服务端

              三、搭建PXE远程安装服务器

              四、操作步骤

               1)安装并启用TFTP服务

               2)安装并启用 DHCP 服务

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

               4)准备 PXE 引导程序

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

               6)配置启动菜单文件

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

              五、实现Kickstart无人值守安装

               1)准备安装应答文件

               2)验证无人值守安装

一、PXE概述

1)PXE (Preboot eXcution Environment)

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

•由Intel公司开发的网络引导技术,工作在Client/Server模式, 允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

2)PXE批量部署的优点

•规模化:同时装配多台服务器。

•自动化:安装系统、配置各种服务。

•远程实现:不需要光盘、U盘等安装介质。

二、搭建PXE网络体系,必须满足的前提条件

1)客户端

•客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从Network或LAN启动即可。

2)服务端

•网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。

•服务器要通过TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。

三、搭建PXE远程安装服务器

•PXE 远程安装服务器集成了Centos 7安装源、TFTP服务、DHCP服务、FTP服务,能够向客户机裸机发送PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。

•TFTP (简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69。

•xinetd是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。

•守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。守护进程独立于控制终端,它们常常跟随系统启动时启动,在系统关闭时才结束。守护进程周期性的执行某些任务或者等待处理某些事件,Linux上的大多数服务器都是用守护进程实现的。

•在系统启动中默认的守护进程的父进程ID全都是init,守护进程特征就是在程序运行名后加了一个d,但不是所有的尾字母都是d的进程都是守护进程。

四、操作步骤

1)安装并启用TFTP服务

yum -y install tftp-server xinetd

#修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp
protocol = udp #TFTP默认使用UDP协议
wait = no #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot #指定TFTP根目录(引导文件的存储路径)
disable = no #no表示开启TFTP服务 systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

2)安装并启用 DHCP 服务

yum -y install dhcp

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

#修改DHCP服务的配置文件
vim /etc/dhcp/dhcpd.conf ddns-update-style none; #禁用DNS动态更新
next-server 192.168.30.12; #指定TFTP服务器的地址
filename "pxelinux.0"; #指定要下载的PXE引导程序的文件 subnet 192.168.30.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.30.100 192.168.30.220; #设置地址池
option routers 192.168.30.12; #默认网关地址指向TFTP服务器的IP地址
} systemctl start dhcpd
systemctl enable dhcpd

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

mount /dev/sr0 /mnt

cd /mnt/images/pxeboot
cp vmlinuz /var/1ib/tftpboot/ #复制Linux系统的内核文件到TFTP根目录下
cp initrd.img /var/lib/tftpboot/ #复制初始化镜像文件(linux引 导加载模块)到TFTP根目录下

4)准备 PXE 引导程序  

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

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

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

6)配置启动菜单文件

默认的启动菜单文件在TFTP根目录的pxelinux.cfg 子目录下,文件名为default

mkdir /var/lib/tftpboot/pxelinux.cfg

vim /var/lib/tftpboot/pxelinux.cfg/default

default auto              #指定默认入口名称
prompt 1 #设置是否等待用户选择,“1"表示等待用户控制 label auto #图形安装(默认)引导入口,label用来定义启动项
kernel vmlinuz #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.30.12/centos7 label linux text #文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.30.12/centos7 label linux rescue #救援模式引导入口
kernel vml inuz
append rescue initrd=initrd.img method=ftp://192.168.30.12/centos7

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

systemctl stop firewalld. service
setenforce 0

最后使用VMware创建的虚拟机进行测试,虚拟机内存至少2GB,否则在启动安装时可能会报错。

例:

首先安装并启用TFTP服务

进行修改TFTP配置文件

设置好重启服务并安装DHCP

寻找路径

复制模板

修改DHCP配置文件

设置好重启服务

复制内核文件到TFTP

复制PXE引导程序到TFTP并安装FTP

将光盘挂载到centos7

重启一下服务

创建pxelinxu.cfg

配置启动菜单文件

配置好创建虚拟机进行测试

完成

五、实现Kickstart无人值守安装

1)准备安装应答文件

①安装system-config-kickstart工具

yum install -y system-config-kickstart

②打开“Kickstart 配置程序"窗口

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

•执行"system-config-kickstart”命令打开 ③配置kickstart选项
基本配置:
•默认语言设为“中文( 简体)”
•时区设为“Asia/Shanghai”
•设置root密码
•高级配置中勾选“安装后重启”
安装方法:
选FTP
FTP服务器: ftp://192.168.30.12
FTP目录: centos7
引导装戟程序选项:
“安装类型”:安装新引导装载程序
“安装选项”:在主引导记录(MBR)中安装引导装载程序
分区信息:
•主引导记录:清除主引导记录
•分区: 删除所有现存分区
•磁盘标签: 初始化磁盘标签
•布局: 添加分区
•挂载点: /boot,文件系统类型: xfs,固定大小: 500M
•文件系统类型: swap,固定大小: 4096M
•挂载点: /home, 文件系统类型: xfs,固定大小: 4096M
•挂载点: /,文件系统类型:xfs,使用磁盘上全部未使用空间
网络配置:
添加网络设备"ens33”
网络类型设为"DHCP”
防火墙配置:
禁用 SELinux、禁用防火墙
安装后脚本:
勾选“使用解释程序”:/bin/bash
mkdir /etc/yum.repos.d/repo.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak


echo '[local]
name=local
baseurl=ftp://192.168.30.12/centos7
enabled=1
gpgcheck=0' >/etc/yum.repos.d/local.repo
其它选项保持默认设置即可
④保存自动应答文件 选择"Kickstart配置程序"窗口的“文件"–>“保存"命令,选择指定保存位置,文件名为ks.cfg
默认保存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg
⑤配置需要安装的软件包 可以根据需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中, 只需要复制&packages到&end部分即可
如要求最小化安装,可复制下面内容:
vim ks.cfg
%packages
@^minimal
%end
⑥编辑引导菜单文件default, 添加ks引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default default auto
prompt 0 #设置是否等待用户选择,“0”表示不等 待用户控制 label auto
kernel vmlinuz #kernel和append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.30.12/centos7 ks=ftp://192.168.30.12/ks.cfg
#添加ks引导参数以指定ks.cfg 应答文件的URL路径

2)验证无人值守安装

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

cat /etc/yum.repos.d/ local.repo

例:

首先安装system-config-kickstart 工具

打开“Kickstart 配置程序”窗口

基础配置

安装方法

引导装载程序选项

分区信息

网络配置

防火墙配置

安装猴脚本

将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg文件中

将ks.cfg复制到ftp目录中

编辑引导菜单文件default

配置好之后就可以新建一台虚拟机进行验证

PXE高效批量网络装机的更多相关文章

  1. 教你 PXE高效批量网络装机

    PXE高效批量网络装机一.PXE概述① PXE (Preboot eXcution Environment)② PXE批量部署的优点③ 服务端④ 客户端二.部署PXE远程安装服务搭建PXE远程安装服务 ...

  2. PXE高效能批量网络装机

    PXE简绍 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器 ...

  3. 项目(三)PXE高效能批量网络装机

    PXE:预启动执行环境 PXE是由intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统. 若要搭建PXE网 ...

  4. Linux系统——PXE高效能批量网络装机

    PXE:Pre-boot Excution Environment,预启动执行环境,石油Intel公司开发的网络引导技术,工作在Client.Server模式,允许客户机通过网络从远程服务器下载阴道镜 ...

  5. PXE高效批量装机

    目录 一.PXE概述 二.PXE的优点 三.搭建PXE的前提 四.搭建PXE远程安装服务器 4.1.安装并启用TFTP服务 4.2.安装dhcp服务 4.3.准备linux内核.初始化镜像文件 4.3 ...

  6. Linux网络服务第六章PXE高效能批量网络装机

    1.IP地址配置 2.关闭防火墙以及selinux状态如下 systemctl  stop     firewalld Iptables -F Setenforce 0 三.部署FTP服务 1.安装F ...

  7. Linux 搭建批量网络装机

  8. 网络装机pxe服务器的配置过程

    网络装机pxe服务器的配置过程 背景: 针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批 ...

  9. Linux shell编写脚本部署pxe网络装机

    Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...

随机推荐

  1. .Net Redis实战——事务和数据持久化

    Redis事务 Redis事务可以让一个客户端在不被其他客户端打断的情况下执行多个命令,和关系数据库那种可以在执行的过程中进行回滚(rollback)的事务不同,在Redis里面,被MULTI命令和E ...

  2. Python+Selenium学习笔记4 - submit&get_attribute

    1.submit() submit()方法用于提交表单.如在搜索框输入关键字后按回车键进行查询操作,就可用submit()方法模拟.若不能按回车键进入下一步,则不能用submit()举例,百度的查询提 ...

  3. 优雅关闭springboot应用

    1.添加钩子函数,钩子函数中指定要调用的方法 @PostConstruct public void run() { this.zkClient.start(this); this.schedulerS ...

  4. ASP.NET Core MVC 入门到精通 - 1. 开发必备工具 (2021)

    环境: .NET 5 ASP.NET Core MVC 1. .NET 5 作为一个资深.NET工程师,说句实话,.NET没落了,在国内更加的没落.之前做过8年node.js/前端,现如今又转回了.N ...

  5. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  6. CUDA运行时 Runtime(三)

    CUDA运行时 Runtime(三) 一.异步并发执行 CUDA将以下操作公开为可以彼此并发操作的独立任务: 主机计算: 设备计算: 从主机到设备的内存传输: 从设备到主机的存储器传输: 在给定设备的 ...

  7. Git操作_本地仓库第一次推送到远程仓库

    实现目的: 本地已经安装好Git,pycham已经有一个项目,打算放到Git远程仓库 前提条件:本地配置好了公钥,且GIT 上关联好公钥,步骤如下: git本地仓库连接github操作步骤:windo ...

  8. 关于spooling的一些理解

    spooling做了什么 1.将独占设备(打印机)虚拟化,变成一个逻辑上的共享设备. 怎么理解?虚拟化,通俗来讲,就是让单个资源仿似变成了多个资源. 以打印机为例,没有虚拟化之前,只能有一个进程申请到 ...

  9. 【odoo14】【开发侧】权限配置

    欢迎转载,但需标注出处,谢谢! 说明: 本文面向开发人员,普通用户可参考[odoo14][用户侧]权限配置.文章结构与用户侧一致. 目录 一. odoo中的对象 二. 权限控制 2.1 实现原理 2. ...

  10. Spring Cloud专题之三:Hystrix

    在微服务架构中,我们将系统拆分成很多个服务单元,各单位的应用间通过服务注册与订阅的方式相互依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问 ...