Linux网络引导自动安装centos7

news2024/9/28 15:21:56

目录

一、部署PXE远程安装服务

1. 系统装机的三种引导方式

2. pxe概述

3. 实现过程

4. 搭建过程中服务介绍

4.1 TFTP服务

4.2 vsftp:安装系统镜像文件获取方式

4.3 syslinux

4.4 DHCP服务

5. 操作过程

二、实现Kickstart无人值守安装

1. 安装Kickstart图形化工具

2. 图形化配置过程 

3. 继续添加配置文件  

4. 启动客户端自动安装

三、Cobbler介绍

1. 启动过程

2. 操作过程

2.1 安装相关包并启动服务  

2.2 修改cobbler相关的配置

2.3 实现dhcp服务

2.4 导入CentOS系统的安装文件,生成相应的YUM源

2.5 客户端安装验证 


一、部署PXE远程安装服务

1. 系统装机的三种引导方式

  • 硬盘
  • 光驱(u盘)
  • 网络启动 pxe

2. pxe概述

PXE的全称是preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。pxe是通过网卡引导启动。

pxe优点:

  • 规模化:同时装配多台服务器
  • 自动化:安装系统、配置各种服务
  • 远程实现:不需要光盘、U盘等安装介质  

3. 实现过程

① 网卡需要查找相关的dhcp服务器(获取地址时间)

② 找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址,还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)

③ 网卡使用tftp客户端吧引导程序加载到内存中来

④ bios执行引导程序

⑤ 引导程序会去TFTP去查找配置文件

⑥ 根据配置文件去引导安装系统

⑦ 系统安装过程

4. 搭建过程中服务介绍

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

4.1 TFTP服务

TFTP(简单文件传输协议):内核和引导文件

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

4.2 vsftp:安装系统镜像文件获取方式

可以使用http,ftp等方式,ftp文件传输的一种。

4.3 syslinux

syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。pxelinux.0启动pxe

4.4 DHCP服务

DHCP: Dynamic Host Configuration Protocol,动态主机配置协议;UDP协议,C/S模式,dhcp server: 67/udp,dhcpv4 client :68/udp, dhcpv6 client: 546/udp 主要用途:

  • 用于内部网络和网络服务供应商自动分配IP地址给用户
  • 用于内部网络管理员作为对所有电脑作集中管理的手段
  • 自动化安装系统

5. 操作过程

① 分配给同一局域网内新加机器的地址(配置文件)dhcp分配地址指明tftp服务器的地址

② tftp服务端开启udp配置默认关闭

③ 安装syslinux取得pxelinux.0文件

④ 安装vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)

⑤ 将四大文件拷入(/var/lib/tftpboot )

  • initrd.img (光盘内 images):是一个包含根文件系统镜像和内核模块的压缩文件,它可以帮助内核在引导时加载必要的驱动程序和文件系统模块,从而保证系统正常启动。
  • pxelinux.0(类似grub,需安装syslinux):pxelinux.0是一个网络引导程序,它可以通过网络从TFTP服务器上下载内核和文件系统镜像,并启动Linux系统。
  • pxelinux.cfg/default (手动创建文件夹,手写default):在PXE引导过程中,计算机会首先获取pxelinux.0文件,这是一个PXE引导加载程序,它会负责加载操作系统镜像和启动操作系统;一旦pxelinux.0被加载,它会查找pxelinux.cfg/default文件。这个文件包含了PXE引导菜单的配置信息,可以用来指定要引导的操作系统镜像、内核参数等。
  • vmlinuz(光盘内 images):vmlinuz是Linux操作系统中的一个关键文件,负责启动系统、管理硬件设备和提供各种系统服务;它具有压缩格式、高度可配置、支持模块化加载、安全可靠等特点。

⑥ 将服务开启,关闭防火墙,selinux

主要文件:
/etc/xinetd.d/tftp:配置文件
/var/lib/tftpboot:站点 

[root@localhost ~]# yum install tftp-server vsftpd syslinux dhcp -y
root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
#将配置文件模板复制到dhcp目录下,并覆盖
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
 32 subnet 192.168.190.0 netmask 255.255.255.0 {    #指定网段
 33   range 192.168.190.50 192.168.190.60;          #定义用于分配的IP地址池
 34   option routers 192.168.190.100;               #指定给客户端分配的网关
 35   next-server 192.168.190.100;                  #指定tftp的服务器地址
 36   filename "pxelinux.0";                        #指定启动文件
 37   } 
[root@localhost ~]# vim /etc/xinetd.d/tftp          #修改配置文件
 14         disable                 = no            #no表示开启TFTP服务
[root@localhost ~]# cd /var/lib/tftpboot/           #切换到站点目录
[root@localhost tftpboot]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]# cp /mnt/isolinux/initrd.img  .
[root@localhost tftpboot]# cp /mnt/isolinux/vmlinuz  .
[root@localhost tftpboot]# ls
initrd.img  vmlinuz
[root@localhost tftpboot]# rpm -ql syslinux | grep pxelinux.0 #查找引导程序文件路径
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0  .  #拷贝到站点文件里
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@localhost tftpboot]# vim pxelinux.cfg/default
  1 default linux
  2 timeout 600
  3 
  4 label linux
  5         kernel vmlinuz
  6         append initrd=initrd.img method=ftp://192.168.190.100/centos7
[root@localhost tftpboot]# mkdir /var/ftp/centos7/
[root@localhost tftpboot]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]# systemctl stop firewalld.service 
[root@localhost tftpboot]# setenforce 0
[root@localhost tftpboot]# systemctl start tftp.socket 
[root@localhost tftpboot]# systemctl start vsftpd
[root@localhost tftpboot]# systemctl start dhcpd

二、实现Kickstart无人值守安装

1. 安装Kickstart图形化工具

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

2. 图形化配置过程 

3. 继续添加配置文件  

[root@localhost tftpboot]# cd /var/ftp/
[root@localhost ftp]# ls                                #查看应答文件
centos7  ks.cfg  pub
[root@localhost tftpboot]# vim pxelinux.cfg/default
  1 default linux
  2 timeout 600
  3 
  4 label linux
  5         kernel vmlinuz
  6         append initrd=initrd.img method=ftp://192.168.190.100/centos7 ks=ftp://192.168.190.100/ks.cfg
#将应答文件位置指明

4. 启动客户端自动安装

三、Cobbler介绍

1. 启动过程

  • client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP
  • DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
  • client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
  • cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
  • client裸机通过上面告知的TFTP server地址通信,下载引导文件
  • client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image
  • cobbler server发送请求的kickstart和os iamge
  • client裸机加载kickstart文件
  • client裸机接收os image,安装该os image

2. 操作过程

2.1 安装相关包并启动服务  

[root@localhost ~]# yum install epel-release.noarch -y
[root@localhost ~]# yum install cobbler dhcp httpd  -y
[root@localhost ~]# systemctl enable --now cobblerd httpd tftp dhcpd

2.2 修改cobbler相关的配置

[root@localhost ~]# cobbler check
#生成新密码,默认安装好的系统root密码为cobbler
[root@localhost ~]# openssl passwd -1 '123123'  #配置root修改密码生成密钥
$1$Mpd6eW5n$r4EVXEzCVUc5.w.Ok77f31
[root@localhost ~]# vim /etc/cobbler/settings
101 default_password_crypted: "$1$fTpFEKwU$pPPBZwUVJuXOcRmmW4JAJ0"
242 manage_dhcp: 1                            #设置为1,表示通过cobbler生成dhcpd.conf配置文件
278 next_server: 192.168.190.101              #tftp服务器的IP地址 
298 pxe_just_once: 1                          #设置为1,防止重复安装系统
390 server: 192.168.190.101                   #cobbler服务器的IP地址
[root@localhost ~]# systemctl restart cobblerd

2.3 实现dhcp服务

[root@localhost ~]# vim /etc/cobbler/dhcp.template  #修改模板文件
 21 subnet 192.168.190.0 netmask 255.255.255.0 {
 22      option routers             192.168.190.2;
 23      option domain-name-servers 8.8.8.8;
 24      option subnet-mask         255.255.255.0;
 25      range dynamic-bootp        192.168.190.20 192.168.190.30;
[root@localhost ~]# cobbler sync
……
*** TASK COMPLETE ***
[root@localhost ~]# systemctl restart cobblerd.service
[root@localhost ~]# tree /var/lib/tftpboot
/var/lib/tftpboot                                   #已同步信息
├── boot
│   └── grub
│       └── menu.lst
├── etc
├── grub
│   ├── efidefault
│   └── images -> ../images
├── images
├── images2
├── memdisk
├── menu.c32
├── ppc
├── pxelinux.0
├── pxelinux.cfg
│   └── default
└── s390x
    └── profile_list

10 directories, 7 files

2.4 导入CentOS系统的安装文件,生成相应的YUM源

[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64
task started: 2024-01-17_202530_import
task started (id=Media import, time=Wed Jan 17 20:25:30 2024)
……
*** TASK COMPLETE ***
[root@localhost ~]# cd /var/www/cobbler/ks_mirror/
[root@localhost ks_mirror]# ls
centos-7-x86_64  config                              
[root@localhost ks_mirror]# du -sh /var/www/cobbler/ks_mirror/*
4.3G	/var/www/cobbler/ks_mirror/centos-7-x86_64                 #拷贝的文件
4.0K	/var/www/cobbler/ks_mirror/config 

2.5 客户端安装验证 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1396457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue项目执行依赖安装(npm i或npm install )报ls-remote -h -t异常

从git拉取的vue项目执行依赖安装时一直报错, 报错如下图:首先,查看了node版本、npm配置的镜像地址均没找到解决办法。 在命令行中直接输入git发现提示于是从网上搜到了一个博文https://blog.csdn.net/weixin_49159364/article/details/118198…

ycsb压测mongodb

下载解压 https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-mongodb-binding-0.17.0.tar.gz tar -zxvf ycsb-mongodb-binding-0.17.0.tar.gzycsb提前已经在workload文件夹下准备好了几个压测场景分别对应workload[a:f] workloads/workloada 样例 …

【Linux】Linux系统编程——pwd命令

文章目录 1.命令概述2.命令格式3.常用选项4.相关描述5.参考示例 1.命令概述 pwd(Print Working Directory)命令用于显示用户当前工作目录的完整路径。这是一个常用的命令,帮助用户确定他们目前所在的目录位置。 2.命令格式 基本的 pwd 命令…

CVer从0入门NLP(二)———LSTM、ELMO、Transformer模型

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…

恒创科技:云存储和网盘怎么区分出来?

随着互联网的发展,数据存储已成为人们日常生活中不可或缺的一部分。云存储和网盘是经常被人们提及的两种存储方式,均通过网络进行数据存储和访问的服务。但,它们在技术实现、数据安全性、访问方式和数据容量等方面存在一定的差异。要区分&…

DAY04_Spring—Aop案例引入代理机制

目录 1 AOP1.1 AOP案例引入1.1.1 数据库事务说明 1.2 Spring实现事务控制1.2.1 代码结构如下1.2.2 编辑User1.2.3 编辑UserMapper/UserMapperImpl1.2.4 编辑UserService/UserServiceImpl1.2.5 编辑配置类1.2.6 编辑测试类 1.3 代码问题分析1.4 代理模式1.4.1 生活中代理案例1.4…

赋能客户不停歇,卓翼飞思职业院校无人智能装备师资培训圆满落幕

1月10日-15日,卓翼飞思在北京研发中心成功举办职业院校无人智能装备高级师资培训。来自湖南汽车工程职业学院(以下简称:湖南汽车职院)的10名师生&技术人员参与此次培训,针对无人智能集群应用开发进行系统性的培训及…

图卷积GCN实战基于网络结构图的网络表示学习实战

下面的是数据: from,to,cost 73,5,352.6 5,154,347.2 154,263,392.9 263,56,440.8 56,96,374.6 96,42,378.1 42,58,364.6 58,95,476.8 95,72,480.1 72,271,419.5 271,68,251.1 134,107,344.0 107,130,862.1 130,129,482.5 227,167,1425.7 167,298,415.7 298,209,42…

(vue)键值对结构数据展示

(vue)键值对结构数据展示 效果: 数据结构: this.formInline.algorithmText [{algorithmParameters: {参数名1: "111",参数名2: "121,122",},algorithmName: "算法1",algorithmId: 9,},{algorithmParameters: {参数名1:…

Android安卓读写低频EM4469卡源码

本示例使用的发卡器&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.…

Qt通用属性工具:随心定义,随时可见(三)

传送门: 《Qt通用属性工具:随心定义,随时可见(一)》 《Qt通用属性工具:随心定义,随时可见(二)》 《Qt通用属性工具:随心定义,随时可见(三)》 一、效果展示 本文将展示的是一个源于Qt但是却有些年头的Qt属性浏览工具。支持交互式编辑和查阅对象属性。 这可不就是妥…

机器学习--人工智能概述

人工智能概述 入门人工智能&#xff0c;了解人工智能是什么。为啥发展起来&#xff0c;用途是什么&#xff0c;是最重要也是最关键的事情。大致有以下思路。 人工智能发展历程机器学习定义以及应用场景监督学习&#xff0c;无监督学习监督学习中的分类、回归特点知道机器学习…

产品经理学习-产品运营《用户运营策略》

⽤户画像与⽤户运营策略 什么是用户画像 对产品运营而言&#xff0c;用户画像就是对用户的各种特征贴上标签通过这些标签将用户分成不同的用户群体 为用户提供有针对性的服务。 制作用户画像是为了专注和精准 使产品的服务对象更加聚焦&#xff0c;更加专注&#xff1b;根据产…

NIFI 2.0.0版本HTTPS访问部署

1. 相关环境 服务器&#xff1a;centos JDK&#xff1a;jdk21 NIFI: nifi-2.0.0-M1 2. 下载NIFI 下载NIFI https://nifi.apache.org/download/ 将文件上传至服务器指定目录&#xff0c;解压缩 修改 bin 目录下的脚本文件 ​ 注意: nifi 2.0.0 版本需要jdk21&#xff0c;所…

C++ 二叉树OJ题

目录 1、606. 根据二叉树创建字符串 2、102. 二叉树的层序遍历 3、107. 二叉树的层序遍历 II 4、236. 二叉树的最近公共祖先 5、JZ36 二叉搜索树与双向链表 6、105. 从前序与中序遍历序列构造二叉树 7、106. 从中序与后序遍历序列构造二叉树 8、144. 二叉树的前序遍历…

pdf怎么查看?6个不能错过的软件!

PDF&#xff0c;作为一种常用的文件格式&#xff0c;已经成为了我们工作、学习中的必备工具。然而&#xff0c;对于许多新手来说&#xff0c;如何查看和编辑PDF文件却是一个不小的挑战。今天&#xff0c;我们就来为大家详细介绍一下如何查看和编辑PDF文件&#xff0c;以及一些必…

从法律的角度看待项目前期可行性研究的必要性

前言 在司法实践中&#xff0c;很多纠纷展现出来的问题是项目提供方没有按照合同约定履行发生违约的情况&#xff0c;例如逾期交付、项目不符合约定标准等等&#xff0c;但是这些情况发生的原因是各不相同的&#xff0c;其中有一类纠纷的发生却是从一开始就埋下了风险的种子&a…

2.0-学成在线内容管理

内容管理模块 1.需求 1.1 业务流程 内容管理的业务由教学机构人员和平台的运营人员共同完成。 教学机构人员的业务流程如下&#xff1a; 1、登录教学机构。 2、维护课程信息&#xff0c;添加一门课程需要编辑课程的基本信息、上传课程图片、课程营销信息、课程计划、上传课程…

深入详解使用 RabbitMQ 过程中涉及到的多个细节问题(面试可用)

目录 1、基础类问题 2、cluster 相关问题 3、综合性问题 4、参考资料 C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/125529931C/C基础与进阶&…

OB OCP工具

文章目录 OCP产品架构OCP核心功能集群管理-集群拓扑图告警管理 OCP OCP&#xff08;OceanBase Cloud Platform&#xff09;是企业级数据库管理平台OceanBase 云平台&#xff08;OceanBase Cloud Platform&#xff0c;OCP&#xff09;是以 OceanBase 为核心的企业级数据库管理平…