实现批量自动部署Linux操作系统

实战描述:

xxx公司所服务的用户IT环境中有很多的Linux系统,品种也五花八门,有RHEL、Centos、OpenSUSE甚至还有测试环境使用的RockyLinux。当有大量的计算机需要同时安装操作系统需求的时候,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护,此时可以通过批量自动化安装来实现。
要想实现批量自动化安装Linux系统,需要有一台dhcpserver,通过DHCP服务负责给网络中的计算机分配IP地址,子网掩码及默认网关等必要的网络配置;也需要有tftp-server,负责远程传输文件;同时也需要负责搭建web应用,发布系统相关的镜像;最后,还需要PXE预启动执行环境,通过网络实现多个计算机批量部署,即静默方式或无应答式的自动批量部署。
接下来,我们查看如何具体实现。

实战环境:

一台RHEL7.x虚拟机作为部署环境,集成了dhcpserver服务、tftpserver服务,http服务以及PXE。需要注意的是,如果是vmware workstation环境下,需要关掉vmware dhcp的服务,开始->运行->services.msc。

具体实现:

修改主机名并编辑/etc/hosts文件实现IP与主机名对应

首先,修改主机名:

实现批量自动部署Linux操作系统

之后,编辑/etc/hosts文件,添加如下内容:

实现批量自动部署Linux操作系统
通过systemd关闭并禁用firewalld防火墙。

实现批量自动部署Linux操作系统

安装syslinux、tftp、dhcp、http等软件包

配置dhcp主配置文件

dhcp的主配置文件名称是dhcpd.conf,然而在/etc/dhcp/目录下并没有这个文件。在dhcp安装好后,会有一个模板路径具体是在/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example。

实现批量自动部署Linux操作系统

实现批量自动部署Linux操作系统

实现批量自动部署Linux操作系统

实现批量自动部署Linux操作系统

看过了模板文件后,我们要做的就是参考模板文件配置成属于我们自己的dhcpd.conf,配置如下:

实现批量自动部署Linux操作系统
修改/etc/xinetd.d/tftp这个配置文件,将disable由默认的yes改为no

实现批量自动部署Linux操作系统

复制PXE系统启动时所需要的文件至tftp发布目录/tftpboot

实现批量自动部署Linux操作系统

上传ISO或wget或vm里直接挂载

无论哪种方式进行挂载操作系统ISO,比如挂载到/mnt目录下,我们要把所有文件复制到Apache的默认website目录/var/www/html中。

实现批量自动部署Linux操作系统

实现批量自动部署Linux操作系统

创建PXE启动菜单

实现批量自动部署Linux操作系统

上述配置中ks文件是rhel7的自动安装的配置文件,10.60.100.101是PXE服务器的IP地址,随后运行如下命令创建Kickstart文件所需密文:

实现批量自动部署Linux操作系统
保存好所生成的密文将在下面的Kickstart文件中使用,至于自动应答文件,可自定义ks文件,并保存到/var/www/html目录。

实现批量自动部署Linux操作系统

启动相关服务

所有配置进行完毕,启动相关服务。

实现批量自动部署Linux操作系统

通过lsof命令查看端口号和服务对应状态。

实现批量自动部署Linux操作系统

结果:

通过vmware workstation新建虚拟机选择默认从网络开启,会看到pxe成功引导了操作系统,剩下的就交给kickstart实现自动化静默安装就好。

实现批量自动部署Linux操作系统

实现批量自动部署Linux操作系统

Original: https://www.cnblogs.com/cn-leoblog/p/15707762.html
Author: Leo’sblog
Title: 实现批量自动部署Linux操作系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/711051/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python数据分析–Numpy常用函数介绍(3)

    摘要:先汇总相关股票价格,然后有选择地对其分类,再计算移动均线、布林线等。 一、汇总数据 汇总整个交易周中从周一到周五的所有数据(包括日期、开盘价、最高价、最低价、收盘价,成交量等…

    技术杂谈 2023年7月25日
    076
  • 深入剖析堆原理与堆排序

    堆的介绍 完全二叉树:完全二叉树是满二叉树去除最后N个节点之后得到的树((N \geq0, N \in N^*)) 大根堆:节点的父亲节点比自身节点大,比如根节点的值为(8),比其…

    技术杂谈 2023年7月23日
    082
  • quartz框架(九)-JobRunShell

    上篇博文,博主讲了Listener相关的内容。本篇博文,博主将要详细介绍一下JobRunShell的功能。简单的来说,JobRunShell就是Job实例运行时所在的环境,也就是说…

    技术杂谈 2023年7月24日
    075
  • 如何通过Sublime将文本换行符号替换成英文逗号

    需求: 有时候通过SQL查询出来的记录id,会作为下一个查询 IN条件,所以需要将其转换为逗号分隔。 所以,这个时候,我们可以通过Sublime或者其他的编辑器,将换行符号,替换成…

    技术杂谈 2023年7月11日
    069
  • es 文本搜索

    match, match_phrase, match_phrase_prefix 三个都会对查询词和文本进行分词后进行查询 match只要查询词分词结果和源数据分词结果匹配,就可以…

    技术杂谈 2023年7月10日
    055
  • docker 安装mysql5.7

    拉取镜像 docker pull mysql:5.7 准备数据目录 mkdir -p /mall/docker/mysql/conf mkdir -p /mall/docker/m…

    技术杂谈 2023年7月24日
    088
  • AndroidC/C++层hook和java层hook原理以及比较

    作者:Denny Qiao(乔喜铭),云智慧/架构师。 云智慧集团成立于2009年,是全栈智能业务运维解决方案服务商。经过多年自主研发,公司形成了从IT运维、电力运维到IoT运维的…

    技术杂谈 2023年7月24日
    066
  • springboot mybatis plus多数据源轻松搞定 (上)

    在开发中经常会遇到一个程序需要调用多个数据库的情况,总得来说分为下面的几种情况: 下面针对第一种情况,提供一个解决方案。 因为两个数据库的功能和结构不一样,所以可以根据功能和结构把…

    技术杂谈 2023年7月11日
    060
  • bash可改动的环境变量

    环境变量名 变量的用途 CDPATH 包括cd命令要逐个查找的路径,cd命令在这些路径下查找作为參数传递给它的文件夹名。假设CDPATH没有设置,cd命令则查找当前文件夹 EDIT…

    技术杂谈 2023年5月30日
    074
  • 危险的赌注

    低代码应用平台(LCAP – Low Code Application Platforms)在多样、复杂的现代软件开发情势下应运而生。根据 Gartner 的数据,Me…

    技术杂谈 2023年6月21日
    0165
  • [转帖][转]五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月30日
    0102
  • DirectUI消息循环的简单封装

    一.真窗体和假窗体 首先在DirectWindow内部创建一个真窗体(基于WTL),可以接收消息 class CMessageWindow : public CWindowImpl…

    技术杂谈 2023年5月31日
    0111
  • Mysql登录错误:ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded

    错误信息: ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded: /usr/lib/x86_6…

    技术杂谈 2023年7月11日
    072
  • Zookeeper全解析——Paxos作为灵魂(转)

    原计划在介绍完ZK Client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。…

    技术杂谈 2023年5月31日
    092
  • 查看核数 内存 磁盘

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    084
  • 框架篇(二)Spring面试题(一)

    Spring面试题 Spring常见面试题总结(超详细回答)_张维鹏的博客-CSDN博客_spring面试题一个不错的总结!!! 1. 你是怎样理解Spring的 我和面试官的一个…

    技术杂谈 2023年7月11日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球