Linux网络引导自动安装centos7

目录

一、部署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.conf32 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/default1 default linux2 timeout 6003 4 label linux5         kernel vmlinuz6         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/default1 default linux2 timeout 6003 4 label linux5         kernel vmlinuz6         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_list10 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.mzph.cn/news/630476.shtml

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

相关文章

计算机三级(网络技术)——应用题

第一题 61.输出端口S0 (直接连接) RG的输出端口S0与RE的S1接口直接相连构成一个互联网段 对172.0.147.194和172.0.147.193 进行聚合 前三段相同,将第四段分别转换成二进制 11000001 11000010 前6位相同,加上前面三段 共30…

AI图片物体移除器:高效、便捷的AI照片物体擦除工具

在我们的日常生活中,照片是一种重要的记录和表达方式。然而,有时候我们会遇到需要将照片中的某些物体和元素去除的情况。这时候,传统的图像处理软件可能过于复杂,让人望而却步。为了解决这个问题,AI图片物体移除器的软…

运筹说 第104期 | 2023全球高被引科学家名单发布!

2023年11月15日,全球领先的专业信息服务提供商科睿唯安发布2023年度“全球高被引科学家”名单,遴选全球高校、研究机构和商业组织中对所在研究领域具有重大和广泛影响的顶尖科学人才。最终,来自全球67个国家和地区1300多个机构的6849名科学家…

Node cool 跨域问题的解决

1.问题 自己在写后端接口的时候 发现一个接口在抖音小程序上可以调用 浏览器上也可以直接打开 但是在H5 的请求中 一直就是cors error 前端报这个跨域问题 在后端 报not Found 一开始以为是找不到 经过确定 发现是跨域问题 2.解决 在全局 configuration.ts 文件里有个全局…

申请开启|成为亚马逊云科技 Community Builder,共建云端社区!

在探索由技术打造的云端世界时,和同行者一起学习,与技术专家共同探讨是开发者成长的最佳助力! 亚马逊云科技开发者社区 Community Builders 为技术爱好者和新兴思想领袖提供技术资源、学习和交流机会,帮助开发者探索、分享技术相关…

详解SpringCloud微服务技术栈:Gateway网关(断言、过滤器、跨域问题)

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:详解SpringCloud微服务技术栈:Feign远程调用、最佳实践、错误排查 📚订阅专栏:微服务技术全家…

PuTTY的ppk密钥与OpenSSH密钥之间的相互转换

几个概念说明:id_rsa、id_rsa.pub、ppk、pem 目前有两个主流的密钥格式:OpenSSH格式的密钥 和 PuTTY格式的密钥。 id_rsa和id_rsa.pub 都是OpenSSH格式的密钥。 id_rsa是OpenSSH格式的SSH私钥。 id_rsa.pub是OpenSSH格式的SSH公钥。ppk文件 ppk文件是P…

c++基础2

一、c的引用 引用和指针的的区别? 引用是一种更安全的指针: 1. 引用必须初始化,指针可以不用初始化 int a 10; int *p; // 指针可能是野指针 int &b a;//引用赋值",通常指的是直接修改引用所引用的对象的值&#xff0…

Qt/QML编程之路:小键盘keyboard(36)

小键盘对于qml应用是经常用到的,在qml里面,就如一个fileDialog也要自己画一样,小键盘keyboard也是要自己画的,对于相应的每个按键的clicked都要一一实现的。 这里有一个示例: 代码如下: import QtQuick 2.5 import QtQuick.Controls 1.4 import QtQuick.Window 2.0 im…

yum仓库以及NFS共享

yum实现过程 1.光驱里自带yum 2.网络下载到本地 3.直接通过网络 如何实现安装服务 yum客户端找到yum服务端,找到yum的仓库位置,下载元信息,因为里面有软件的位置,因此可以找到软件包的位置,然后下载到本地 仓库的类…

25考研英语复习计划

Hello各位小伙伴大家好,今天要给大家分享的是英语备考计划,大家可以作为参考,制定适合自己的备考计划。 【英一/二】 英语分为英一、英二,一般学硕英一,专硕英二。 英一要比英二难度大。 【复习计划】 1-2月&#xf…

图深度网络浅层理解

图神经网络 1.输入: 图网络 2.输出: 节点类别、某两个节点的新连接、产生新的图或子图 3.端到端表示学习(Representation Learning)/图嵌入: 将节点映射为d维的向量,d维向量就包含了这个节点的连接关系…

H5小游戏如何提升APP变现收益?

在当前用户规模稳定但变现压力增加的背景下,开发者需要挖掘用户价值,提高营收,这成为开发者关注的重点话题。对于那些“用户用完即走”的APP产品来说,接入H5游戏能够吸引停留,为其带来收入上的增长。 一、什么是H5游戏…

小程序学习-17

attached最常用 推荐使用 lilfetimes 这种方法

springcloud Eureka服务注册与发现

文章目录 代码地址Eureka基础知识什么是服务治理什么是服务注册与发现 单机版eurekaServerIDEA生成eurekaServer端服务注册中心类似物业公司EurekaClient端cloud-provider-payment8001修改EurekaClient端cloud-consumer-order80 集群Eureka构建步骤新建cloud-eureka-server7002…

计算机找不到iutils.dll的5种有效的解决方法,一分钟教会修复dll问题

在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“某某文件丢失”或“某某文件损坏”,找不到iutils.dll就是其中之一。iutils.dll是一个系统级的动态链接库文件(DLL),它是Windows操作系统…

grep 在运维中的常用可选项

一、对比两个文件 vim -d <filename1> <filename2> 演示&#xff1a; 需求&#xff1a;&#xff5e;目录下有两个文件一个test.txt 以及 text2.txt,需求对比两个文件的内容。 执行后会显示如图&#xff0c;不同会高亮。 二、两次过滤 场景&#xff1a;当需要多…

(一)ROS的安装

&#xff08;一&#xff09;安装ubuntu18.04 系统&#xff08;虚拟机或者是物理机&#xff0c;在此不再介绍&#xff09; &#xff08;二&#xff09;添加ROS镜像源 apt 列表中没有ROS源&#xff0c;所以要手动添加 sudo sh -c . /etc/lsb-release && echo "deb…

在vite5和vue3开发环境中使用jodit4富文本编辑器,并添加自定义插件和使用highlight.js实现代码块高亮(附其他自定义配置项和全部代码)

最近富文本编辑器jodit终于更新发布到了4.0版本&#xff0c;加入了css变量、有更好的typescript支持&#xff0c;截止发文时的版本是&#xff1a;4.0.5&#xff0c;看到有了新版本于是便想着将本地项目中的jodit版本也进行升级&#xff0c;琢磨着再丰富和添加一些功能&#xff…