Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PXE远程网络装机服务及CentOS 7无人值守安装

PXE远程网络装机服务及CentOS 7无人值守安装

作者头像
用户8705050
修改于 2021-06-08 03:03:01
修改于 2021-06-08 03:03:01
2K0
举报
文章被收录于专栏:linux百科小宇宙linux百科小宇宙

在大规模的Linux应用环境中,比如Web群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何给成百上千台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方式很显然已经力不从心了,那么就需要——PXE网络装机及无人值守安装。

PXE网络装机及无人值守安装可以实现的功能有:

1.规模化:同时装配多台服务器;

2.自动化:安装系统、配置各种服务;

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

如图:

关于Windows PXE网络装机可以参考博文:Windows server 2016部署WDS服务

若要搭建PXE网络体系,必须要满足的条件有:

1.客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导;

2.网络中必须有一台DHCP服务器为客户机分配IP地址、指定引导文件的位置;

3.服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载。

其中第一个条件是硬件要求,目前绝大部分服务器和PC都能够提供此支持,只需在BIOS设置中允许从Network或LAN启动即可。

满足条件后,我们来实现这种功能!

PXE远程安装服务的基本部署过程:

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

PXE远程安装服务的部署过程大致可以分成这样几步:

1.安装FTP服务并准备CentOS 7 安装源;

2.安装TFTP服务并启动;

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

4.准备PXE引导程序、启动菜单文件;

5.安装并启动DHCP服务;

6.验证PXE网络安装效果。

接下来我们开始分步骤完成实验,并实现理想的效果!

1.安装FTP服务并准备CentOS 7 安装源

通过搭建本地YUM的方式安装一系列服务。如果有朋友对YUM的搭建不明白可以参考博文:YUM仓库配置及命令详解

[root@localhost ~]# mount /dev/cdrom /mnt

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost yum.repos.d]# rm -rf *

[root@localhost yum.repos.d]# vim a.repo

[a]

baseurl=file:///mnt

gpgcheck=0

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

//安装FTP服务

[root@localhost ~]# mkdir /var/ftp/centos7

[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7/

//将光盘中的东西全部复制到FTP服务科匿名访问的目录中

[root@localhost ~]# systemctl start vsftpd

//启动FTP服务

2.安装TFTP服务并启动

TFTP(简单文件传输协议)服务所使用UDP的69端口。

[root@localhost ~]# yum -y install tftp-serve

//安装TFTP服务

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

//修改TFTP服务的配置文件,内容如下:

service tftp

{

socket_type = dgram

protocol = udp //TFTP服务采用udp传输协议

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /var/lib/tftpboot //指定TFTP服务的根目录

disable = no //这项必须改成“no”

per_source = 11

cps = 100 2

flags = IPv4

}

[root@localhost ~]# systemctl start tftp

//启动TFTP服务

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

用PXE网络安装的Linux内核、初始化文件可以从CentOS 7系统光盘中获得,位于images/pxeboot/目录下,分别是initrd.img和vmlinuz。将这两个文件复制到TFTP服务的根目录下。

[root@localhost ~]# cd /mnt/images/pxeboot/

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

4.准备PXE引导程序、启动菜单文件

用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。因此需要先安装syslinux。

[root@localhost ~]# yum -y install syslinux

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

启动菜单来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。默认的启动菜单文件为default,应放置在TFTP根目录下的pxelinux.cfg子目录下,典型的启动菜单引导文件需手动创建,可以参考以下内容:

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

//在TFTP服务根目录下创建pxelinux.cfg目录

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

[root@localhost pxelinux.cfg]# vim default

//创建default菜单文件。文件内容如下:

default auto

prompt 1

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.1.1/centos7

label linux text

kernel vmlinuz

append text initrd=initrd.img method=ftp://192.168.1.1/centos7

label linux rescue

kernel vmlinuz

append rescue initrd=initrd.img method=ftp://192.168.1.1/centos7

其中个配置项的含义:

default:用来指定默认入口名称;

prompt:用来决定是否需要等待用户控制(1表示需要,0表示不需要);

label:用来定义并分割启动项,文件中有三种引导模式:

分别是图形安装(默认)、文本安装、救援模式;

kernel:用来指定所需内核;

append:追加配置项;

initrd:用来指定系统初始化文件;

method:用来指定安装方式;

引导入口的个数及内容根据实际情况自定义。

5.安装并启动DHCP服务

由于PXE客户机通常是尚未安装系统的裸机,因此为了与服务器取得联系并正确的下载相关引导文件,需要预先配置DHCP服务器来自动分配地址并告知引导文件位置。

[root@localhost ~]# yum -y install dhcp

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

//复制DHCP服务的模板

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

//修改DHCP服务的配置文件,主要内容如下:

……………… //省略部分内容

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.100 192.168.1.200;

option domain-name-servers 192.168.1.1;

option domain-name "internal.example.org";

option routers 192.168.1.1;

option broadcast-address 192.168.1.255;

default-lease-time 600;

max-lease-time 7200;

next-server 192.168.1.1; //指定TFTP服务器的地址

filename "pxelinux.0"; //指定PXE引导程序的文件名

}

……………… //省略部分内容

[root@localhost ~]# systemctl start dhcpd

6.验证PXE网络安装效果

对于新购买的裸机,一般都不需要设置(如果是重新装系统,建议则应调BIOS为网络启动)。若使用vmware虚拟机进行测试,

虚拟机内存至少需要2GB

,否则在启动会报错。

耐心等待,几分钟后:

出现这种情况,表示部署成功!

通过PXE远程安装服务,虽然,安装介质已经不再受限于光盘、移动硬盘、U盘等设备,大大提高了系统安装的灵活想但是,安装期间仍然需要人为的进行交互式的操作,当需要批量安装时非常的不方便。那么就需要使用到——

“Kickstart无人值守安装”

实现Kickstart无人值守安装

实现Kickstart无人值守安装部署过程:

1.配置应答文件并保存;

2.启动自动应答文件;

3.验证无人值守安装。

接下来我们开始分步骤完成,并实现理想的效果!

1.配置应答文件并保存

要想图形化的创建应答文件,则需要安装system-config-kickstart工具,如果对配置文件非常熟悉的话,也可以直接修改系统自动创建的无人安装配置文件/root/anaconda-ks.cfg。本次案例安装system-config-kickstart工具,图形化的编辑配置文件。

[root@localhost ~]# yum -y install system-config-kickstart

//安装system-config-kickstart工具,安装完成之后:

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

//查看刚才通过图形化编辑的应答文件

#platform=x86, AMD64, 或 Intel EM64T

#version=DEVEL

# Install OS instead of upgrade

install

# Keyboard layouts

keyboard 'us'

# Root password

rootpw --iscrypted $1$3uZeSVnX$FYsU4y8y/qqEWA66Wuysg1

# Use network installation

url --url="ftp://192.168.1.1/centos7"

# System language

lang zh_CN

# Firewall configuration

firewall --disabled

# System authorization information

auth --useshadow --passalgo=sha512

# Use graphical install

graphical

firstboot --disable

# SELinux configuration

selinux --disabled

# Network information

network --bootproto=dhcp --device=ens33

# Reboot after installation

reboot

# System timezone

timezone Asia/Shanghai

# System bootloader configuration

bootloader --location=mb

# Clear the Master Boot Record

zeromb

# Partition clearing information

clearpart --all --initlabel

# Disk partitioning information

part swap --asprimary --fstype="swap" --size=2048

part / --asprimary --fstype="xfs" --grow --size=1

%post --interpreter=/bin/bash

rm -rf /etc/yum.repos.d/*

cd /etc/yum.repos.d/

echo -e "[a]" >> a.repo

echo -e "baseurl=ftp://192.168.1.1/centos7" >> a.repo

echo -e "gpgcheck=0" >> a.repo

%end

不过刚才已经说明了,还缺一个选项——“软件包选择”,需要自己手动添加几行配置项,在末尾添加即可,添加内容如下:

%packages

@^minimal

%end

//这三项的意思就是最小安装

%packages

@^gnome-desktop-environment

%end

//这三项的意思是桌面安装

当然也可以参考/root/anaconda-ks.cfg文件,文件中%packages到%end之间都是配置选项,每行一个配置选项,任意选择!

大家可以不经过图形化编辑,直接复制配置文件!效果也可实现!

2.启动自动应答文件

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

default auto

prompt 0

label auto

kernel vmlinuz

append initrd=initrd.img method=ftp://192.168.1.1/centos7 ks=ftp://192.168.1.1/ks.cfg

将prompt 改为0,表示不等待用户选择。添加ks引导参数,并制定URL访问路径。

3.验证无人值守安装

实验完成!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PXE网络批量装机
• 需要哪些服务组件? –DHCP服务,分配IP地址、定位引导程序 –TFTP服务,提供引导程序下载 –HTTP服务(或FTP/NFS),提供yum安装源
非著名运维
2022/06/22
1.3K0
PXE网络批量装机
PXE无人值守安装Linux
一、网络(PXE)装机概述 1.传统装机的局限性 1.1需要用到固定的光驱、U盘等物理介质 1.2如果批量安装多台计算机,都用到物理介质,显然不太现实。 2.PXE装机的优点 2.1规模化:可以
行 者
2018/03/21
3.2K0
PXE无人值守安装Linux
Linux PXE + Kickstart 自动装机
大规模装机时,使用无人值守装机便可大大简便人工操作,提高效率。 ---- PXE 网络安装 配置双网卡 这里ens33为nat网络,ens37为仅主机网络,配置ens37 [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37 [root@localhost network-scripts]# vim ifcfg-ens37 TYP
西湖醋鱼
2020/12/30
2.1K0
Linux PXE + Kickstart 自动装机
Linux系统实战——批量无人值守安装操作系统
实际生产环境中肯定会有一次性安装多台服务器操作系统的工作,因此,光靠传统的一台台安装,很费时费力,数量不多的情况,还是比较好应付,如果一次是几十、几百台,就比较麻烦了,因此,实际生产环境中都用采用批量无人值守的安装方式来安装操作系统,所以今天来详细介绍下,通过利用kickstart+PXE+dhcp+nfs组合的方式批量安装操作系统。
民工哥
2020/09/16
2.5K0
Linux系统实战——批量无人值守安装操作系统
PXE 无人值守批量部署 Centos 7
PXE远程服务器(192.168.1.10)所需准备: 安装源(系统盘文件); TFTP服务; DHCP服务; Linux内核; 能够向客户机裸机发送PXE引导程序; 启动菜单及无人应答文件; 客户端要具备: 客户端的网卡支持PXE协议,且主板支持网络引导(现在大多数都支持); 设置BIOS允许从Network或LAN启动; 配置 yum 仓库源,并安装 ftp 服务:
小手冰凉
2019/09/10
1.6K0
PXE 无人值守批量部署 Centos 7
PXE+Kickstart 自动化部署系统
PXE 预启动执行环境是由Intel开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导客户端主机安装Linux操作系统.
王瑞MVP
2022/12/28
6760
PXE+Kickstart 自动化部署系统
RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。
杰哥的IT之旅
2020/06/18
1.6K0
RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
CentOS 7.4无人值守安装环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)
一,搭建无人值守服务器安装软件(PXE + DHCP+TFTP+ Kickstart+ FTP)IP:192.168.2.10
星哥玩云
2022/07/13
1.4K0
CentOS 7.4无人值守安装环境搭建(PXE + DHCP+TFTP+ Kickstart+ FTP)
使用 Kickstart 全自动批量安装部署 Linux
随着公司的发展壮大,运维人员的工作量也变得越来越大,大量重复的工作让我们不胜其烦,迫切需要一种一次工作,多次自动重复的方法,kickstart的出现为我们提供了很好的解决方法,大大降低了我们的工作量。
SuperDream
2019/02/28
2K0
使用 Kickstart 全自动批量安装部署 Linux
PXE+Kickstart 高效批量网络装机
  PXE(预启动执行环境,在操作系统之前运行)是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
全栈程序员站长
2022/09/13
1.8K0
(转载非原创)PXE 批量网络装机概述与实例
PXE(Preboot eXcution Environment,预启动执行环境,在操作系统之前运行)由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式, 允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
xlj
2021/07/12
7740
Cobbler(补鞋匠)8步教你自动安装Linux操作系统
Cobbler 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级,根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(补鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳。
胡齐
2020/03/06
2.4K0
pxe+kickstart服务器批量无人值守安装脚本
echo pxe一键部署-by-sakuraecho 密码123123#!/bin/bashread -p "请输入服务端ip,如192.168.6.13: " SIPread -p "请输入服务端网段,如192.168.6.0: " GBYread -p "请输入服务端网关,如192.168.6.1: " GWread -p "请输入DHCP资源池起始地址,如192.168.6.66: " DHCP1read -p "请输入DHCP资源池结束地址,如192.168.6.99: " DHCP2
用户10048459
2022/09/16
1.7K2
CentOS 6.X基于Kickstart批量安装系统
优势:传统装机需要下载系统镜像,然后人工一步一步设置各种参数,然后点击按钮安装,如果需要同时安装100台机器,则重复性工作太多,而且耗费人力和时间,kickstart则可以生成一个设置好各种参数的脚本ks.cfg文件,然后自动化安装。
用户8449980
2021/07/12
4460
pxe装机「建议收藏」
一台已安装Linux系统的主机作为PXE Server, 本文中PXE Server使用的系统是CentOS 7;
全栈程序员站长
2022/07/02
1.4K0
centos 7.4部署PXE+kickstart无人值守安装
Preboot Execution Environment翻译过来就是预启动执行环境;简称PXE;传统安装操作系统的方法是CDROM或U盘引导,而PXE技术解决的是从网络引导安装系统,当然PXE技术不是什么新技术了,是Intel和Microsoft在1998年定义的更大PC98规范的一部分。有关PXE规范的详细文档
用户9949933
2023/02/24
7430
使用Kickstart实现无人值守安装
这篇文章介绍如何使用DHCP+TFTP+Vsftpd+PXE+Kickstart搭建出可批量部署客户机的无人值守安装环境。
字节脉搏实验室
2020/05/12
8920
网络装机服务器简介
工作模式 PXE client集成在网卡的启动芯片中 当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行 网络装机服务器 DHCP服务器,分配ip地址、定位引导程序 TFTP服务,提供引导程序下载 HTTP服务 (或FTP/NFS),提供yum安装源 图片1.png 步骤 一. 配置DHCP服务(定位) vim /etc/dhcp/dhcpd.conf [root@svr7 /]# vim /etc/dh
用户8360274
2021/03/22
1.6K0
004.Kickstart部署之FTP架构
TFTP:共享pxelinux.0、initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件
木二
2019/07/26
8580
PXE网络
PXE 严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。 协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。 此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
全栈程序员站长
2022/07/04
1.5K0
PXE网络
相关推荐
PXE网络批量装机
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档