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,这就是我们之前拷贝光盘文件时设置的文件名,也可以设置成其它的名字

相关文章
|
6月前
|
存储 Linux 网络安全
PXE网络批量装机(centos7)
PXE(Preboot Execution Environment)装机是一种通过网络引导和安装操作系统的方法。它允许计算机在没有本地存储设备(如硬盘或光盘驱动器)的情况下,通过网络从远程服务器或网络共享位置加载操作系统安装文件并完成安装过程。
316 0
|
Web App开发 网络协议 Linux
PXE网络批量装机
PXE网络批量装机
|
Linux 网络安全 芯片
【Linux网络服务】centos7搭建PXE高效能批量网络装机
【Linux网络服务】centos7搭建PXE高效能批量网络装机
【Linux网络服务】centos7搭建PXE高效能批量网络装机
|
运维 网络协议 安全
pxe实现自动化部署安装高效批量网络装机
对于一个想要从事运维的人员,学会自动化部署,是一件十分便捷的事情,者可以让你的工作效率大大提高,事半功倍
pxe实现自动化部署安装高效批量网络装机
|
3天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
14 2
|
4天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第38天】本文将探讨网络安全与信息安全的重要性,包括网络安全漏洞、加密技术和安全意识等方面。我们将通过代码示例和实际操作来展示如何保护网络和信息安全。无论你是个人用户还是企业,都需要了解这些知识以保护自己的网络安全和信息安全。
|
3天前
|
存储 安全 网络安全
云计算与网络安全:探索云服务中的信息安全策略
【10月更文挑战第39天】随着云计算的飞速发展,越来越多的企业和个人将数据和服务迁移到云端。然而,随之而来的网络安全问题也日益突出。本文将从云计算的基本概念出发,深入探讨在云服务中如何实施有效的网络安全和信息安全措施。我们将分析云服务模型(IaaS, PaaS, SaaS)的安全特性,并讨论如何在这些平台上部署安全策略。文章还将涉及最新的网络安全技术和实践,旨在为读者提供一套全面的云计算安全解决方案。
|
3天前
|
存储 安全 网络安全
网络安全与信息安全:漏洞、加密技术与安全意识的交织
【10月更文挑战第39天】在数字化时代,网络安全与信息安全成为保护个人隐私和组织资产的重要屏障。本文将探讨网络安全中的常见漏洞、加密技术的应用以及提升安全意识的重要性。通过具体案例分析,我们将深入了解网络攻击的手段和防御策略,同时提供实用建议,以增强读者对网络安全的认识和防护能力。
|
3天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将探讨网络安全漏洞、加密技术以及安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和建议来保护个人信息和设备安全。
|
6天前
|
SQL 安全 物联网
网络安全与信息安全:深入探讨网络漏洞、加密技术及安全意识###
网络安全与信息安全是当今数字化时代的重要议题。本文将详细探讨网络安全和信息安全的差异,重点介绍常见的网络漏洞、加密技术以及如何提升用户和组织的安全意识。通过具体案例和技术分析,帮助读者理解这些关键概念,并提供实用的建议以应对潜在的网络威胁。 ###

热门文章

最新文章