实现批量自动部署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/582690/

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

(0)

大家都在看

  • 数据库主从复制

    主从复制是MySQL中最重要的功能之一。主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库…

    Linux 2023年6月6日
    072
  • shell运算符

    算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: 运算符说明举例 + 加法 expr $a + $b 结果为 30。 – 减法 ex…

    Linux 2023年5月27日
    079
  • 【Javaweb】在项目中添加MyBatis依赖等

    pom.xml 仓库 如果你没有配置阿里云仓库镜像源,可以到这里来找 https://mvnrepository.com/ 如果你配置了阿里云仓库镜像源,可以来这里找 https:…

    Linux 2023年6月14日
    0109
  • 常用命令-lsof

    作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/14608224.html本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月6日
    0111
  • 使用GVT-g为KVM添加虚拟显卡渲染3D图形

    0x00 前言 可以在KVM虚拟机看电影、玩游戏哦。 我的环境如下: 0x01 启动GVT-g 要启用IOMMU、i915,编辑grub文件: $ sudo vim /etc/de…

    Linux 2023年5月27日
    0113
  • WPF 推荐一个剪贴板内容查看工具

    本文来安利大家一个好用的 Windows 剪贴板的内容查看工具 这是在 GitHub 上完全免费开源的应用,由 walterlv 开发的应用,详细请看 https://github…

    Linux 2023年6月6日
    0138
  • Linux内核驱动–硬件访问I/O【转】

    寄存器与内存 寄存器和内存之间有什么区别? [En] What is the difference between registers and memory? 寄存器和RAM的主要…

    Linux 2023年5月27日
    081
  • 一篇文章剖析设计模式中的简单工厂、工厂方法和抽象工厂

    前言 大部分的面试者在IT行业面试中,提及设计模式,可以列举一大堆,但是面试官要求细说的时候,往往部分基础不够牢固的同学只能提及简单工厂。今天我们来对面试过程中最常见的简单工厂、工…

    Linux 2023年6月13日
    0103
  • yum源安装nginx

    nginx使用yum源安装 安装步骤 使用yum源安装依赖 yum install yum-utils 配置nginx.repo的yum文件 vim /etc/yum.repos….

    Linux 2023年6月8日
    0127
  • Xshell小技巧

    鼠标右键粘贴 工具->选项->鼠标->向右按钮->(paste the clipboard contents.) 选定文本自动复制到剪贴板 工具->选…

    Linux 2023年5月28日
    0120
  • 介绍一种使用poweshell 监控的方式

    本篇将使用PowerShell脚本对SQL Server 的关键指标进行监控. 以下,用数据库空间容量为例,实现一下逻辑: 一、建表 为每台服务器创建一个表,用于记录服务器各个数据…

    Linux 2023年5月28日
    0106
  • postgresql 自增列 初始值设置

    — 获取自增列的名称 SELECT pg_get_serial_sequence(‘table_name’, ‘id’) AS sequence_name; –获取自增列的下一…

    Linux 2023年6月14日
    083
  • PTA 《基础编程题目集》 6-7 统计某类完全平方数

    本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。 函数接口定义: int IsTheNumber ( const i…

    Linux 2023年6月8日
    0122
  • tomcat 9 搭建文件服务器 失败

    场景 服务器上某个目录,想开放给别人浏览权限,图省事儿用Python开了个SimpleHTTPServer,但总是断断续续的,没太找到原因。 想到有tomcat,就搜了一下用tom…

    Linux 2023年6月8日
    096
  • 解决报错 Microsoft Visual C++ 14.0 is required

    环境:Surface Windows 10 专业版 问题:安装 Python3 的第三方库 py7zr 时不成功。而报错的是另外一个依赖库 pycryptodomex distut…

    Linux 2023年6月14日
    0118
  • X86 assembly guide

    This guide describes the basics of 32-bit x86 assembly language programming, covering a sm…

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