步骤 1:安装必要的软件包

首先,需要确保系统已安装 dhcptftp-serverhttpd 等软件包。可以使用以下命令进行安装:

yum install -y dhcp tftp-server httpd syslinux-tftpboot xinetd

步骤 2:配置 DHCP 服务器

接下来,需要配置 DHCP 服务器以向客户端分配 IP 地址。在 /etc/dhcp/dhcpd.conf 文件中添加以下内容:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
}

这将启用 DHCP 服务器,并设置子网,IP 范围,子网掩码,网关和 DNS 服务器。还需要设置 PXELinux 引导程序文件(pxelinux.0)。

注意:确保将 interface 参数设置为正确的网络接口名称,例如 eth0

步骤 3:配置 TFTP 服务器和 PXELinux 引导程序

现在,需要配置 TFTP 服务器以下载和传输 PXE 引导程序和内核文件。为此,请编辑 /etc/xinetd.d/tftp 文件并使用以下内容:

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

接下来,在 /var/lib/tftpboot/ 目录中创建一个 pxelinux.cfg 子目录,并在其中创建名为 default 的文件,其内容如下:

default menu.c32
prompt 0
timeout 300 MENU TITLE Custom PXE Boot Menu LABEL centos7_x86_64
MENU LABEL CentOS 7 x86_64
KERNEL images/CentOS-7-x86_64/vmlinuz
APPEND initrd=images/CentOS-7-x86_64/initrd.img inst.repo=http://mirror.centos.org/centos/7/os/x86_64/ LABEL centos7_i386
MENU LABEL CentOS 7 i386
KERNEL images/CentOS-7-i386/vmlinuz
APPEND initrd=images/CentOS-7-i386/initrd.img inst.repo=http://mirror.centos.org/centos/7/os/i386/

这里将创建一个菜单,让用户可以选择要安装的操作系统版本。默认情况下,菜单超时时间为 5 分钟。

注意:确保在 TFTP 根目录(即 /var/lib/tftpboot/)中创建名为 images/CentOS-7-x86_64images/CentOS-7-i386 的目录,并将 CentOS 7 实际内核和 initrd 文件放置在正确的目录中。

步骤 4:启用 HTTP 服务器并设置 CentOS 安装映像

最后,需要启用 HTTP 服务器以提供操作系统安装映像。可以使用默认配置启用 Apache HTTP 服务器:

systemctl enable httpd
systemctl start httpd

接下来,在 /var/www/html/ 目录中创建一个名为 centos 的子目录,并挂载 CentOS 安装映像(ISO):

mkdir /var/www/html/centos/
mount -o loop /path/to/CentOS-7-x86_64-DVD.iso /var/www/html/centos/

现在,PXE 安装环境已准备就绪。在客户端启动时,需要将其配置为使用网络引导(PXE)。可以通过按照计算机制造商提供的说明或在 BIOS 中查找“网络引导”选项来完成此操作。一旦设置完毕,系统将从 PXE 引导程序启动,并显示操作系统安装菜单。

在Centos7上安装PXE装机环境来批量安装操作系统的更多相关文章

  1. pxe+kickstart实现无人值守批量安装linux

    pxe+kickstart实现无人值守批量安装linux 实验准备:主机myrhel2作为服务器端,新建一个没有安装操作系统的虚拟主机,而且其与服务器端在同一个网段 安装的条件: 服务器端:      ...

  2. 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块

    第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...

  3. ubuntu上java的开发环境 jdk 的安装

    jre下载路径: https://java.com/zh_CN/download/manual.jsp jdk下载路径:http://www.oracle.com/technetwork/java/j ...

  4. linux centos7 安装虚拟Python环境,pyenv安装文档

    python多版本控制pyenv安装文档 1.在线安装: curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-i ...

  5. X2安装配置keras环境(包含matplotlib安装)

    https://blog.csdn.net/jonado13/article/details/83933453 1.安装pipapt install python3-pipE: Could not o ...

  6. centos7使用cobbler(2.8)批量部署操作系统之一

    一.    批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...

  7. centos7使用cobbler(2.8)批量部署操作系统之二

    1. Cobbler常用命令 1.1 查看cobbler帮助 # cobbler --help usage ===== cobbler <distro|profile|system|repo|i ...

  8. 关于miniconda的安装,配置以及包批量安装和使用

    由于时间很晚了.就不写废话了. conda官方文档地址:http://conda.pydata.org/docs/ 一切其实都可以从miniconda的文档找到,这里只纪录自己操作的时候遇到的值得一说 ...

  9. 导出当前python安装了哪些第三方模块+批量安装python模块

    pip freeze > mokuai.txt  #导出你当前python环境里面有哪写第三方模块 pip install -r mokuai.txt #从文件里面批量安装模块

  10. linux上的PXE装机服务的搭建

    PXE 先安装一下依赖服务 yum -y install vsftpd dhcp tftp syslinux tftp-server cd /var/ftp/pub/ mkdir dvd 设置权限 c ...

随机推荐

  1. 对于利用JavaBean+Servlet+jsp实现增删改查功能题目的实现

    首先,为了更好地规范代码,可以分别将不同用处的Java文件放置到不同的文件夹里面 对于实体类,可以放在名为Bean的package里面 对于中间用来实现Java与jsp页面交互的类,可以放在名为Ser ...

  2. Jquery 和 Vue 入门学习

    0x01 前言 ​ 零零散散学完了html.css.javascript的基础知识,但感觉写不了什么炫酷的前端界面,始终对前端开发有种生疏感.而时间的流逝也总会让我忘却零碎学习到的知识!为了改变这种尴 ...

  3. Spring配置类为什么要分Full和Lite模式

    本文基于Spring 5.2.15-RELEASE 关于Spring配置类的Full模式和Lite模式,如果没有仔细阅读过源码或者官方文档的话,估计很多人都不知道这个概念.所以我们先来解释下这两个概念 ...

  4. 商城网站毕业设计( Python +Vue)

    网站介绍 基于 python 开发的电子商城网站,平台采用 B/S 结构,后端采用主流的 Python 语言进行开发,前端采用主流的 Vue.js 进行开发.这是给师弟开发的毕业设计. 整个平台包括前 ...

  5. 汽车制造工艺 2.5D 可视化组态监控 | 图扑软件

    前言 随着世界经济的不断发展,汽车作为一个如今随处可见的物体,从大体上概括是由四大部分组成:发动机.底盘.车身.电气系统.看似简单的几个名词组件,其内部却是由无数的细小零件构成,一辆汽车更是由上万个微 ...

  6. style中加了scoped无法更改element ui样式解决办法

    第一种方法 原因:scoped 解决方法:去掉scoped 注意:此时该样式会污染全局样式,可以把它放在公共的css里面 为了不让所有的 el-input标签都是该样式,可以在HTML给改input加 ...

  7. Chrome浏览器插件:CrxMouse(鼠标手势控制浏览器)

    CrxMouse是一款谷歌浏览器插件,它可以通过手势来控制您的浏览器,在您的日常网络浏览中提高效率和速度. 插件介绍 CrxMouse是一个非常流行的谷歌浏览器插件,它允许您通过鼠标手势来控制您的浏览 ...

  8. 镜像搬运工 skopeo

    镜像搬运工 skopeo 介绍 skopeo 是一个命令行工具,可对容器镜像和容器存储进行操作. 在没有dockerd的环境下,使用 skopeo 操作镜像是非常方便的. 安装 # 安装 skopeo ...

  9. pandas之分类操作

    通常情况下,数据集中会存在许多同一类别的信息,比如相同国家.相同行政编码.相同性别等,当这些相同类别的数据多次出现时,就会给数据处理增添许多麻烦,导致数据集变得臃肿,不能直观.清晰地展示数据. 针对上 ...

  10. 扒一扒Nacos、OpenFeign、Ribbon、loadbalancer组件协调工作的原理

    大家好,我是三友~~ 前几天有个大兄弟问了我一个问题,注册中心要集成SpringCloud,想实现SpringCloud的负载均衡,需要实现哪些接口和规范. 既然这个兄弟问到我了,而我又刚好知道,这不 ...