PXE高效批量网络装机

简介: PXE高效批量网络装机

过程:通过网卡启动 将准备的好的 4大文件 下载本地内存 ,然后利用kikstart 应答文件 完成一键装机

一,pxe 实现的硬件条件

1.BIOS支持

2.网卡支持(现在基本都已支持)

3.需要在bios中开启开关,服务器一般没打开(bmc界面里打开)

4.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置 网卡自带DHCP功能 dhcp 指明分配的ip地址

vsftpd tftp

5.服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)

二,pxe  过程

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

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

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

4.bios执行引导程序

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

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

7.系统安装过程

dhcp 服务机            给ip地址    和   tftp服务机的地址

tftp    服务机             给引导文件(pxelinux.0)      和内核(vmlinuz)      和虚拟文件系统(initrd.img)

http服务机              给  ks配置文件(kickstart)    和   安装包

三,搭建过程中服务详解

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

3.1TFTP服务

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

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

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

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

3.3 syslinux

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

pxelinux.0     启动pxe     pxe可以支持

3.4 DHCP服务

四,pxe 优点

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

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

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

五,操作过程

1, dhcp 服务机            给ip地址    和   tftp服务机的地址

2,  tftp    服务机             给引导文件(pxelinux.0)      和内核(vmlinuz)      和虚拟文件系统(initrd.img     小型linux 操作系统 提供驱动)

3,  http服务机              给  ks配置文件(kickstart)    和   安装包

大概过程

  1. 分配给同一局域网内新加机器的地址(配置文件) dhcp 分配地址 指明tftp 服务器的地址
  2. tftp服务端开启 udp 配置 默认关闭
  3. 安装syslinux 取得 pxelinux.0 文件
  4. 安装vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)
  5. 将四大文件拷入 (/var/lib/tftpboot )
  • initrd.img
  • pxelinux.0  (类似grub)
  • pxelinux.cfg/default (手写)
  • vmlinuz

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

六,系统安装过程

1,加载boot loader

Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境

2,加载启动安装菜单

3,加载内核和initrd系统(文件才能使用文件)

/boot /initrd:   是小型linux     作用:提供xfs文件系统 驱动     这样才能读懂 grub.cfg

4,加载根系统()


5,运行anaconda的安装向导

   anaconda-ks.cfg     这就是应答文件   记录安装过程(你怎么安装这个操作系统的)

这个是要手写的,但是也有图形化界面,点一点生成。生产环境可以先在自己虚拟机生成,再复制过来

七,光盘里  和安装系统相关的文件

我们把光盘 挂载到  /mnt   查看光盘里的文件,isolinux这个文件夹 里装的是安装系统需要的东西

isolinux文件夹里面有:

  • boot.cat: 相当于grub的第一阶段
  • isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
  • isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件

  • vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单
  • memtest:内存检测程序
  • splash.png:光盘启动菜单界面的背景图
  • vmlinuz:是内核映像
  • initrd.img:ramfs文件(精简版的linux系统,文件系统驱动等

八,PXE高效批量网络装机  过程

总结:先做dhcp服务机   给客户机ip 地址和引导文件的位置

         在做tftp  传四大文件(内核  驱动  引导文件  标题启动文件)

         再做vsftp  指明安装包

         最后做 kickstart    生成应答文件

dhcp相关设置

1,需要的软件有dhcp   vsftp   tftp-server    syslinux 2, 复制dhcp 配置文件的模板

3, 手搓dhcp配置文件名    给那些客户机分配ip地址,并指明客户机去哪里找引导文件

4,启动!dhcpd  服务

tftp-server  相关设置

1,找到tftp-server   相关的配置文件,打开服务

把yes  改成no

2, 找到  tftp-server 的主页面

3,我们需要把四大 文件放        tftp主页面

所以我们先去到   /var/lib/tftpboot

4,  将光盘挂载到/mnt,   因为四大文件都在光盘里 ,我们要拿出来用

5,四大文件在光盘里的  isolinux文件夹下,所以去到这个文件夹

6,内核  和驱动  都一样,直接复制过来

7, 四大文件   内核  和 驱动有了    接下来找引导文件

在我们下的syslinux  里

复制过来

8, 最后还差 标题启动文件

固定格式:   去到  /var/lib/tftpboot/     创建pxelinux.cfg  的文件夹,去到这个文件夹,手写default

这样  四大文件就齐活了

vsftp 相关设置

tftp把系统装好了,因为tftp 不能传大文件 安装包有很多,不装图形化也要300多个包,接下用vsftp 提供软件,    软件在光盘里

1,把光盘挂载到    vsftp  共享文件夹   /var/ftp/    (先创一个centos7 的文件夹     在标题启动文件里面也有指明    ftp的位置是  /var/ftp/ centos/7   )

2,  启动  vsftp  和tftp.socket

kickstart  相关设置

此时可以说是半自动化,要想全自动化,还需要下载kickstart  软件

1,安装 kickstart 软件

2,手搓一个ks.cfg   的应答文件,当然我们这边装了kickstart  可以图形化界面点一点生成这个文件,保存到    ftp的共享文件夹

3, 图形化点一点

保存到   /var/ftp/

4,  可以设脚本块

固定格式

%post

$end

中间加命令

echo "pa12ss34wd56" | passwd  kysw  --stdin:免交互设置密码为pa12ss34wd56

5, 再回到标题启动文件 加上 指明ks(指明应答文件位置)

九,Cobbler工具

(一)cobbler工具的特点

Cobbler是一款开源的Linux系统自动化安装部署工具,主要用于简化网络操作系统安装、管理和更新过程。在PXE批量装机环境中,Cobbler起到了关键的作用:

自动化配置服务:Cobbler可以自动配置和管理DHCP、TFTP、DNS等服务,为PXE启动提供所需的环境。

系统镜像管理:它能够管理不同版本的操作系统安装源,包括ISO文件、kickstart或preseed等自动化应答文件,以及内核和initrd映像。

快速部署:只需简单的命令行操作或者Web界面操作,即可快速创建并配置新的PXE引导菜单项,实现一键式批量安装操作系统。

多平台支持:Cobbler不仅支持多种Linux发行版(如Red Hat、CentOS、Ubuntu等),还支持Windows等其他操作系统。

(二)实际操作

1,安装cobbler工具与dhc

obbler工具光盘中是没有软件包的,需要先下载额外源,而后再下载工具

cobbler工具,并不能提供dhcp服务,所以还需要安装dhcp服务

这个时候,我们开启cobblerd、httpd、tftp、dhcpd服务会显示失败,因为有些配置还没有完成

我们可以输入cobbler  check命令,检查Cobbler服务器的配置和运行状态

可以看到有好多的信息,那么分析一下这些信息

2.修改配置文件

上面的信息,我们不需要全部修改,只需要操作其中的几个,剩下的,只需要使用cobbler  sync命令同步一下即可。

2.1  先修改第8条信息

在打开配置文件之前,首先来生成一个加密密码因为默认安装好的系统root密码为cobbler

开配置文件vim  /etc/cobbler/settings

将101行的加密密码替换成自己生成的密码

2.2修改第2条信息

在第278行next_server字段,将回环地址设置成自己的ip地址

2.3 修改第1条信息

在第390行server字段,将回环地址设置成自己的ip地址

将第242行manage_dhcp的值设置为1,表示通过cobbler工具生成dhcp.conf配置文件

将第298行的pxe_just_once的值设置为,表示,如果客户端有系统,则该工具不生效,防止重复安装系统

3,配置dhcp

第28行的next_server与cobbler配置文件中的next_server相对应,所以不需要更改

4.重启服务

重启服务之前使用cobbler  sync命令同步一下

看到末尾的TASK COMPLET,而且没有报错信息,就表示成功了

此时再重启一下服务

查看一下dhcp的配置文件

使用tree命令查看一下/var/lib/tftpboot文件

可以看到,它同步了我们需要的信息,不需要我们再去手动配置

5.下载安装文件

现在基本上已经把所有的步骤都做完了,但是还有最重要的一步,下载安装系统需要的文件,从光盘里面下载

首先先挂载光盘

而后使用cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64下载,因为文件较大,所以需要等待一会

这条命令表示将/mnt目录下的所有文件,拷到一个固定目录/var/www/cobbler/ks_mirror/,取一个名字叫做centos-7.7-x86_64

6.客户机验证

还是一样,使用客户机以网络方式启动,会进入下图这样的界面,选择centos-7-x86_64,这就是我们之前拷贝光盘文件时设置的文件名,也可以设置成其它的名字

相关文章
|
8月前
|
存储 Linux 网络安全
PXE网络批量装机(centos7)
PXE(Preboot Execution Environment)装机是一种通过网络引导和安装操作系统的方法。它允许计算机在没有本地存储设备(如硬盘或光盘驱动器)的情况下,通过网络从远程服务器或网络共享位置加载操作系统安装文件并完成安装过程。
340 0
|
Web App开发 网络协议 Linux
PXE网络批量装机
PXE网络批量装机
108 0
|
Linux 网络安全 芯片
【Linux网络服务】centos7搭建PXE高效能批量网络装机
【Linux网络服务】centos7搭建PXE高效能批量网络装机
【Linux网络服务】centos7搭建PXE高效能批量网络装机
|
运维 网络协议 安全
pxe实现自动化部署安装高效批量网络装机
对于一个想要从事运维的人员,学会自动化部署,是一件十分便捷的事情,者可以让你的工作效率大大提高,事半功倍
pxe实现自动化部署安装高效批量网络装机
|
19天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
59 17
|
30天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
49 10
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
61 10
|
1月前
|
存储 监控 安全
云计算与网络安全:云服务、网络安全、信息安全等技术领域的融合与挑战
本文将探讨云计算与网络安全之间的关系,以及它们在云服务、网络安全和信息安全等技术领域中的融合与挑战。我们将分析云计算的优势和风险,以及如何通过网络安全措施来保护数据和应用程序。我们还将讨论如何确保云服务的可用性和可靠性,以及如何处理网络攻击和数据泄露等问题。最后,我们将提供一些关于如何在云计算环境中实现网络安全的建议和最佳实践。
|
1月前
|
监控 安全 网络安全
网络安全与信息安全:漏洞、加密与意识的交织
在数字时代的浪潮中,网络安全与信息安全成为维护数据完整性、保密性和可用性的关键。本文深入探讨了网络安全中的漏洞概念、加密技术的应用以及提升安全意识的重要性。通过实际案例分析,揭示了网络攻击的常见模式和防御策略,强调了教育和技术并重的安全理念。旨在为读者提供一套全面的网络安全知识框架,从而在日益复杂的网络环境中保护个人和组织的资产安全。

热门文章

最新文章