CN110187896A - 一种自动化操作系统部署方法 - Google Patents
一种自动化操作系统部署方法 Download PDFInfo
- Publication number
- CN110187896A CN110187896A CN201910451823.9A CN201910451823A CN110187896A CN 110187896 A CN110187896 A CN 110187896A CN 201910451823 A CN201910451823 A CN 201910451823A CN 110187896 A CN110187896 A CN 110187896A
- Authority
- CN
- China
- Prior art keywords
- installation
- python
- node
- config
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000009434 installation Methods 0.000 claims abstract description 44
- 238000013515 script Methods 0.000 claims abstract description 25
- 241001455214 Acinonyx jubatus Species 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims abstract description 5
- 238000012986 modification Methods 0.000 claims abstract description 5
- 230000004048 modification Effects 0.000 claims abstract description 5
- 238000003780 insertion Methods 0.000 claims abstract description 4
- 230000037431 insertion Effects 0.000 claims abstract description 4
- 230000036316 preload Effects 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000002955 isolation Methods 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种自动化操作系统部署方法,包括:将系统信息写入本地配置文件中;通过python config读取系统信息,通过cheetah命令对系统信息以及对应在本地配置文件中的shell脚本进行语法检查及预载,通过python config进行节点类型判断,根据节点类型自动进行安装;系统自动重启,python config自动加载系统信息,进行后续安装以及中间软件和所需配置文件的调试与修改;待所有安装包下载完成后,脚本将执行其中网络变更部分的命令,各节点的网络接入至用户所属的内网中,并对此前下载好的安装包进行检查和安装;python config执行check程序完成安装。本方法可降低运维成本和完善各部件间的兼容性要求。
Description
技术领域
本发明涉及运维自动化领域,尤其涉及一种自动化操作系统部署方法。
背景技术
Python是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言,目前Python已经成为最受欢迎的程序设计语言之一,是各企业开发方向的首选之一。
在计算机科学中,Shell俗称壳,是指“为使用者提供操作界面”的软件。随着技术的不断更迭,linux的操作系统上的shell相关功能已然非常强大,可以极大的简化人为操作。
虽然在当前的技术领域中,python和shell的功能很强大,但是,也因为使用了他们而导致了各组件之间组合和通信等操作变得极为繁琐。由于技术人员的技术水平不尽相同,也很容易造成各类预想以外的问题。
为了解决这类问题,需要一种可以降低运维成本、完善各部件间所需的一系列兼容性要求,避免因为人为介入而可能发生的一系列无法预估的意外问题的操作系统部署方法。
发明内容
本发明提供了一种自动化操作系统部署方法,以解决以上问题。
为了实现上述目的,本发明采取了如下技术方案。
本发明提供了一种自动化操作系统部署方法,其特征在于,包括如下步骤:
获取用户输入的系统信息,并写入到本地的配置文件中;
通过python config读取写入本地文件中的系统信息,通过cheetah命令对读取的系统信息以及对应在本地的配置文件中的shell脚本进行语法检查及预载,通过pythonconfig对预载后的系统信息进行节点类型判断,根据判断的节点类型自动进行相关镜像的安装及各相关依赖软件包的安装;
第一阶段安装完成后系统自动重启,Python config自动加载配置文件的所述系统信息,进行后续安装以及中间软件和所需配置文件的调试与修改;
待系统将所需的所有安装包从服务器上下载完成后,脚本将执行其中网络变更部分的命令,各节点的网络接入至用户所属的内网中,实现物理网络的隔绝;
在本地对安装包进行检查,检查无误后,进行安装;
剩余包体安装完成后,python config执行check程序,确认安装完成。
优选地,节点类型包括计算节点、存储节点、管理节点、融合节点或备份节点。
优选地,通过cheetah命令对读取的系统信息以及对应在本地的配置文件中的shell脚本进行语法检查及预载,具体包括:将shell脚本编译成为python格式的文件,并根据文件格式以python的标准判断当前的被编译的shell脚本的可执行性,如检查通过,则将其加载至内存中;如检查有误,则停止安装进程,并将相应的错误信息输出至日志文件中。
优选地,shell脚本预置在本地的配置文件中,其内容包括:
(1)、按照用户输入的节点类型执行该类型的shell脚本;(2)、安装所需的各类软件;(3)、执行特定的操作;(4)、修改特定的软件配置文件;(5)、关闭一些不需要的服务;(6)、安装一些安装顺序在最后的特定的驱动程序;(7)、重新启动节点。
优选地,在本地对下载好的安装包进行检查,所述的检查方式包括:检查文件是否存在,以及大小是否与已知的相同,检查无误后,安装剩余的包体。
优选地,剩余包体安装完成后,配合python config执行check程序,确认安装完成,包括:剩余包体安装完成后,python config确认各软件包、系统组件包及各程序所需配置文件和环境变量均存在且各项的值是否正确,若正确,完成安装;若不正确,在安装的过程日志中会给出安装并未正确完成的提示。
由上述本发明的自动化操作系统部署方法提供的技术方案可以看出,本发明使用了自动部署,自动控制和实时监控的自动化的部署方式,实现了为ORACLE集群环境的基础环境的一键部署准备工作;通过读取包含shell脚本的特定配置文件,实现本地读取、本地分析与判断、一键安装和本地验证的一系列部署方法,从而实现环环相扣地部署效果,减少人为干预,降低错误几率,达到了高度自动化的相关要求,完善了各部件间所需的一系列兼容性要求,避免了因人为介入而可能发生的一系列无法预估的意外问题,同时标准化、流程化的底层配置也降低了维护成本。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这个附图获得其他的附图。
图1为本实施例的一种自动化的操作系统部署方法流程示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明。
实施例
图1为本实施例的一种自动化的操作系统部署方法流程示意图,参照图1,该方法包括如下步骤:
S1获取用户输入的系统信息,并写入到本地的配置文件中。
S2通过python config读取写入本地文件中的系统信息,通过cheetah命令对读取的系统信息以及对应在本地的配置文件中的shell脚本进行语法检查及预载,通过pythonconfig对预载后的系统信息进行节点类型判断,根据判断的节点类型进行相关镜像的安装及各相关依赖软件包的安装。
其中,通过cheetah命令对读取的系统信息以及对应在本地的配置文件中的shell脚本进行语法检查及预载,具体包括:python cheetah模块将shell脚本编译成为python格式的文件,并根据文件格式以python的标准判断当前的被编译的shell脚本的可执行性。如检查通过,则将其加载至内存中。如检查有误,则停止安装进程,并将相应的错误信息输出至日志文件中,以方便技术人员修改。
shell脚本预置在本地的配置文件中,其内容包括:1、按照用户输入的节点类型执行该类型的shell脚本;2、安装所需的各类软件;3、执行特定的操作,如计算节点需要建立特定的用户等;4、修改特定的软件配置文件,如管理节点需要修改日志服务的服务器地址;5、关闭一些不需要的服务;6、安装一些安装顺序在最后的特定的驱动程序,如IB(一种网络通讯设备)网卡驱动需要在前述的操作完成后安装;7、重新启动节点。
系统信息中记录着相关的节点种类,通过此记录,判断当前节点所要安装的是计算节点、存储节点、管理节点、融合节点、或备份节点等,开始执行相应的部署流程。
通过网络安装的方式引导节点启动至界面,选择相关的安装选项。
接收输入的节点信息,将其放置在真实系统环境下,避免脱离安装环境后出现的配置文件的正确保存的问题。
与传统手动安装逐步式的繁琐操作相比,标准化封装过的操作系统配置文件大大简化了安装流程,同时保证各节点相同的内部环境,免去了个人因素对系统的影响,避免了偶然性因素。
通过网络从外部管理节点接收操作系统相关数据包,进行操作系统的部署。外部节点介质管理模式有助于在同一时刻进行多个节点的同时部署,可以加速整体安装效率,减少时间成本。
S3第一阶段安装完成后系统自动重启,python config自动加载配置文件的所述系统信息,进行后续安装以及中间软件和所需配置文件的调试与修改。
操作系统安装完成后,系统会将各类自动脚本写入开机启动项,在节点重启完成后会自动进行操作。传统安装方式要通过各类引导镜像进入安装界面,并要求现场人员一步一步地进行操作,既繁琐有可能导致各类问题。通过本方式的各种自动化脚本进行,可以大大简化流程,节省2个小时以上的时间。
S4待系统将所需的所有安装包从服务器上下载完成后,脚本将执行其中网络变更部分的命令,各节点的网络接入至用户所属的内网中,实现物理网络的隔绝。
因为所有所需文件均已加载完成,可以认为网络已可以进行相关修改,此时各节点的网络会自动接入至使用者所属的相关内网中,实现物理网络的隔绝,以达到相关安全性的要求。
在需要下载的所有安装包均下载完毕后,即可进行网络层面的修改。因很多用户希望各节点均在防火墙内工作,或在已规划好的内网内部工作,此时便可以将各节点的网络地址修改为事先规划好的网络地址,实现网络的隔离,达到安全性的要求。因网络地址为事先接收的用户输入,因此这一步为后台自动执行,无需人工干预。
S5在本地对此前下载的安装包进行检查,检查方式包括:检查文件是否存在,以及大小是否与已知的相同,检查无误后,进行安装。保证系统正常顺利工作。
S6剩余包体安装完成后,python config执行check程序,确认安装完成。
剩余包体安装完成后,python config确认各软件包、系统组件包及各程序所需配置文件和环境变量均存在且各项的值是否正确。若正确,完成安装;若不正确,在安装的过程日志中会给出安装并未正确完成的提示。
整个流程中所有执行的步骤都会记录于安装的过程日志中,未被正确执行的步骤会有明显的错误信息。技术人员可以根据日志中的内容,定位问题并解决。
综上所述,本实施例跳出了传统的安装模式,脱离了传统手工安装方式的一步步逐级的繁琐操作,通过规范化、流程化和标准化的封装,在系统部署的层面既实现了高效率、低耗时和低失败率的同时,又保证了因少量的人工参与而实现的低失误率。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种自动化操作系统部署方法,其特征在于,包括如下步骤:
获取用户输入的系统信息,并写入到本地的配置文件中;
通过python config读取写入本地文件中的系统信息,通过cheetah命令对读取的系统信息以及对应在本地的配置文件中的shell脚本进行语法检查及预载,通过python config对预载后的系统信息进行节点类型判断,根据判断的节点类型自动进行相关镜像的安装及各相关依赖软件包的安装;
第一阶段安装完成后系统自动重启,Python config自动加载配置文件的所述系统信息,进行后续安装以及中间软件和所需配置文件的调试与修改;
待系统将所需的所有安装包从服务器上下载完成后,脚本将执行其中网络变更部分的命令,各节点的网络接入至用户所属的内网中,实现物理网络的隔绝;
在本地对安装包进行检查,检查无误后,进行安装;
剩余包体安装完成后,python config执行check程序,确认安装完成。
2.根据权利要求1所述的方法,其特征在于,所述的节点类型包括计算节点、存储节点、管理节点、融合节点或备份节点。
3.根据权利要求1所述的方法,其特征在于,所述的通过cheetah命令对读取的系统信息以及对应在本地的配置文件中的shell脚本进行语法检查及预载,具体包括:将shell脚本编译成为python格式的文件,并根据文件格式以python的标准判断当前的被编译的shell脚本的可执行性,如检查通过,则将其加载至内存中;如检查有误,则停止安装进程,并将相应的错误信息输出至日志文件中。
4.根据权利要求3所述的方法,其特征在于,所述的shell脚本预置在本地的配置文件中,其内容包括:
(1)、按照用户输入的节点类型执行该类型的shell脚本;(2)、安装所需的各类软件;(3)、执行特定的操作;(4)、修改特定的软件配置文件;(5)、关闭一些不需要的服务;(6)、安装一些安装顺序在最后的特定的驱动程序;(7)、重新启动节点。
5.根据权利要求1所述的方法,其特征在于,所述的在本地对下载好的安装包进行检查,所述的检查方式包括:检查文件是否存在,以及大小是否与已知的相同,检查无误后,安装剩余的包体。
6.根据权利要求1所述的方法,其特征在于,所述的剩余包体安装完成后,配合pythonconfig执行check程序,确认安装完成,包括:剩余包体安装完成后,python config确认各软件包、系统组件包及各程序所需配置文件和环境变量均存在且各项的值是否正确,若正确,完成安装;若不正确,在安装的过程日志中会给出安装并未正确完成的提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910451823.9A CN110187896A (zh) | 2019-05-28 | 2019-05-28 | 一种自动化操作系统部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910451823.9A CN110187896A (zh) | 2019-05-28 | 2019-05-28 | 一种自动化操作系统部署方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110187896A true CN110187896A (zh) | 2019-08-30 |
Family
ID=67718226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910451823.9A Pending CN110187896A (zh) | 2019-05-28 | 2019-05-28 | 一种自动化操作系统部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110187896A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158743A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 大数据运维管理平台 |
CN111638872A (zh) * | 2020-05-30 | 2020-09-08 | 内蒙古电力(集团)有限责任公司内蒙古电力科学研究院分公司 | 一种自动化加固脚本系统 |
CN112835591A (zh) * | 2021-02-19 | 2021-05-25 | 南京莱斯网信技术研究院有限公司 | 一种支持跨语言跨平台的运维配置管理方法及系统 |
US11765024B2 (en) | 2020-04-24 | 2023-09-19 | Hewlett Packard Enterprise Development Lp | Automatic provisioning of a computing device with operating system and network processing functions |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055388A (zh) * | 2016-06-25 | 2016-10-26 | 国云科技股份有限公司 | 一种云平台应用自动部署框架 |
CN107015837A (zh) * | 2017-05-17 | 2017-08-04 | 郑州云海信息技术有限公司 | 一种软件包自动化安装与配置方法及装置 |
CN109803014A (zh) * | 2019-01-21 | 2019-05-24 | 郑州云海信息技术有限公司 | 一种icos多区与存储系统融合部署方法及装置 |
-
2019
- 2019-05-28 CN CN201910451823.9A patent/CN110187896A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055388A (zh) * | 2016-06-25 | 2016-10-26 | 国云科技股份有限公司 | 一种云平台应用自动部署框架 |
CN107015837A (zh) * | 2017-05-17 | 2017-08-04 | 郑州云海信息技术有限公司 | 一种软件包自动化安装与配置方法及装置 |
CN109803014A (zh) * | 2019-01-21 | 2019-05-24 | 郑州云海信息技术有限公司 | 一种icos多区与存储系统融合部署方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158743A (zh) * | 2019-12-29 | 2020-05-15 | 北京浪潮数据技术有限公司 | 大数据运维管理平台 |
CN111158743B (zh) * | 2019-12-29 | 2022-04-22 | 北京浪潮数据技术有限公司 | 大数据运维管理平台 |
US11765024B2 (en) | 2020-04-24 | 2023-09-19 | Hewlett Packard Enterprise Development Lp | Automatic provisioning of a computing device with operating system and network processing functions |
CN111638872A (zh) * | 2020-05-30 | 2020-09-08 | 内蒙古电力(集团)有限责任公司内蒙古电力科学研究院分公司 | 一种自动化加固脚本系统 |
CN112835591A (zh) * | 2021-02-19 | 2021-05-25 | 南京莱斯网信技术研究院有限公司 | 一种支持跨语言跨平台的运维配置管理方法及系统 |
CN112835591B (zh) * | 2021-02-19 | 2023-07-28 | 南京莱斯网信技术研究院有限公司 | 一种支持跨语言跨平台的运维配置管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110187896A (zh) | 一种自动化操作系统部署方法 | |
US20150007149A1 (en) | Automating functionality test cases | |
US20190324793A1 (en) | Transaction control arrangement for device management system | |
US7287190B2 (en) | Simultaneous execution of test suites on different platforms | |
US20120291132A1 (en) | System, method and program product for dynamically performing an audit and security compliance validation in an operating environment | |
US20040181790A1 (en) | System and method for maintaining installed software compliance with build standards | |
US20180322037A1 (en) | Impersonation in test automation | |
GB2418755A (en) | Error handling using a structured state tear down | |
US11113183B2 (en) | Automated device test triaging system and techniques | |
CN109885337A (zh) | 一种系统版本升级方法、装置、设备及可读存储介质 | |
EP1179776A1 (en) | Test automation framework | |
CN106708716A (zh) | 一种软件测试的方法、装置及系统 | |
US20070271282A1 (en) | Translator software for monitoring, automation, testing and control | |
CN107113199B (zh) | 用于分析和处理通信序列的分析装置 | |
CN116382735A (zh) | 域控制器升级的进度显示、异常处理方法及其系统、设备 | |
CN113315681B (zh) | 一种基于智能家庭网关插件的自动化测试方法及系统 | |
CN117056115B (zh) | 应用程序的修复方法和装置、存储介质及电子设备 | |
CN107590064A (zh) | 一种应用升级测试方法、装置和系统 | |
CN112527468A (zh) | 一种联盟链一站式自动部署与测试方法及系统 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
CN116302738A (zh) | 一种测试芯片的方法、系统、设备和存储介质 | |
CN110471689A (zh) | 一种应用程序升级方法及装置 | |
CN106648797A (zh) | 安装测试软件的方法、系统、测试服务器及共享服务器 | |
Cisco | Running Diagnostics on the Cisco 12410 | |
Cisco | Running Diagnostics on the Cisco 12016 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190830 |
|
WD01 | Invention patent application deemed withdrawn after publication |