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

大家都在看

  • 安卓开发封装处理Retrofit协程请求中的异常

    上篇文章讲解了怎么使用 Kotlin的协程配合 Retrofit发起网络请求,使用也是非常方便,但是在处理请求异常还不是很人性化。这篇文章,我们将处理异常的代码进行封装,以便对异常…

    Linux 2023年6月8日
    099
  • OpenStack glance对接swift

    配置 切换环境变量 [root@controller ~]# source keystonerc_admin 复制glance配置文件备份 [root@controller ~(k…

    Linux 2023年6月8日
    085
  • 北京思特奇2023年校招笔试(Java)

    北京思特奇2023年校招笔试(Java) 1、表达式 (short)10/10.2*2 运算后结果是什么类型? 答案:double,浮点数默认是double,自动类型向上转换为浮点…

    Linux 2023年6月14日
    091
  • 玩转SpringBoot之捣鼓 Redis

    我们都知道,把首页数据放到Redis里,能够加快首页数据的访问速度。但是我们要如何准确又快速的将 Redis 整合到自己的 SpringBoot2.x 项目中呢?今天阿淼就带大家爬…

    Linux 2023年5月28日
    0112
  • 正则: 匹配英文、数字和所有特殊字符

    r”’\[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;’\\[\]·~!@#¥%……&*()——\-+={}|《》?…

    Linux 2023年6月15日
    0124
  • 运算符重载限制

    p387 5.表 11.1 中的大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。 =:赋值运算符。 ():函数调用运算符。 []:下标运算符…

    Linux 2023年6月13日
    089
  • 《Redis开发与运维》——(七)Redis阻塞(脑图)

    posted @2021-01-09 15:06 雪山上的蒲公英 阅读(90 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2023年5月28日
    0106
  • 网心云在PVE下三种磁盘IO模式(No cache,Write through,Write back)选择与优化指南

    最近在用网心云跑PCDN业务,由于是架在PVE环境上的,因此如何对磁盘IO进行优化就成了最大的问题… 1,开启虚拟机IO thread,有效降低CPU负载 2,强制CP…

    Linux 2023年5月27日
    0241
  • 每天一个 HTTP 状态码 100

    100 Continue 指示客户端应该继续当前请求;如果请求已经完成… 100 Continue 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分;指示客户…

    Linux 2023年6月7日
    096
  • 浅谈DDD中的聚合

    DDD分为战略部分跟战术部分,相信大家都认同DDD的核心在战略而非战术。而战略方面的核心我认为在业务建模,领域划分、统一语言等都在为业务建模服务。 为什么业务建模重要? 以前的开发…

    Linux 2023年6月8日
    093
  • Linux内核中内存管理相关的数据结构

    本文简要说明几个内核和内存管理有关的结构体。其中 struct page 和 struct zone有较大幅度的删减,主要删减了和NUMA模型SPARSE模型以及内存热插拔相关的域…

    Linux 2023年6月7日
    0103
  • Spring 4 集成 redis 实现缓存 一

    随着Web项目的复杂程度逐渐增加,可能会涉及诸如高并发、海量数据查询的的业务场景也逐渐增多;若频繁的操作数据库,会触发数据库的I/O瓶颈,因此需要加入缓存,尽量减少直接操作数据库的…

    Linux 2023年6月14日
    086
  • Redis的字符串源码

    Redis的字符串源码 什么是二进制安全?通俗地讲,C语言中,用”\0″表示字符串的结束,如果字符串中本身就有”\0″字符,字符串就…

    Linux 2023年5月28日
    084
  • Spring Boot:使用Redis存储技术

    综合概述 Redis是一个开源免费的高性能key-value数据库,读取速度达110000次/s,写入速度达81000次/s。Redis支持丰富的数据类型,如Lists, Hash…

    Linux 2023年5月28日
    0102
  • 学习一下 SpringCloud (六)– 注册中心与配置中心 Nacos、网关 Gateway

    (1) 相关博文地址: 学习一下 SpringCloud (一)– 从单体架构到微服务架构、代码拆分(maven 聚合): https://www.cnblogs.com/l-y…

    Linux 2023年6月14日
    0120
  • php+nginx环境搭建

    1、安装基础环境: yum -y install gcc bison bison-devel zlib-devel libmcrypt-devel mhash-devel open…

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