CN108377198A - 一种基于云平台的节点配置统一批量维护方法 - Google Patents
一种基于云平台的节点配置统一批量维护方法 Download PDFInfo
- Publication number
- CN108377198A CN108377198A CN201711010100.2A CN201711010100A CN108377198A CN 108377198 A CN108377198 A CN 108377198A CN 201711010100 A CN201711010100 A CN 201711010100A CN 108377198 A CN108377198 A CN 108377198A
- Authority
- CN
- China
- Prior art keywords
- key
- node
- value pair
- value
- storage service
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云计算管理技术领域,特别是指一种基于云平台的节点配置统一批量维护方法。本发明所述的方法是利用键值对存储服务,在键值对存储服务创建公共目录和和主机的专属目录;在键值对发生变化时,生成一个新的配置文件;并根据新的配置文件重新启动一个节点服务。本发明运用键值对存储服务以及模板文件的手段,解决了传统方法维护工作量大、安全性低、灵活性差的问题。
Description
技术领域
本发明涉及云计算管理技术领域,特别是指一种基于云平台的节点配置统一批量维护方法。
背景技术
随着云计算越来越流行,云平台的规模越来越大。在修改节点的配置项时,如果依赖人工的方法逐个节点进行调整,对云平台的运维人员来说将是非常大的工作量。而且人工调整时如果出现错误的话,将导致节点服务的长时间停止,给云平台整体带来不可估量的影响。现在一般都使用Ansible一类的运维工具对配置型进行统一维护。步骤一般如下:
1、配置使得各节点可以在管理节点通过SSH命令进行访问,使用预先设置的密码或密钥;
2、在管理节点上通过远程执行SSH命令的方式对节点上的配置文件进行全替换或替换配置文件上的某些配置项的值;
3、重启节点服务。
然而,在云平台的环境下,节点的配置维护有以下的特点:
1、节点的动态性,由于节点基数较大,因此节点出现故障需要下线维护和新节点上线的发生是常态;
2、节点之间存在差异,在大部分配置相同的前提下,也需要允许部分节点有特殊的配置。
上述方法在节点配置维护上存在以下弊端:
1、在配置维护之前,需要先了解节点的情况,而云平台的节点状态变换比较频繁,使得难以提前获知需要进行配置维护的所有节点;
2、使用密码或密钥访问直接在节点上执行命令是一个不安全的访问方法,容易导致由于密码泄露导致被入侵的安全事故;
3、在需要对节点配置特殊配置项时,需要在管理节点上单独制作playbook,使得维护工作量增加,与人工配置无异。
因此,需要一种自动分发、具备容错且灵活性高的统一批量维护节点配置的方法。
发明内容
本发明解决的技术问题在于一种基于云平台的节点配置统一批量维护的方法;可以解决上述现有技术存在的不足。
本发明解决上述技术问题的技术方案是:
所述的方法是利用键值对存储服务,在键值对存储服务创建公共目录和和主机的专属目录;在键值对发生变化时,生成一个新的配置文件;并根据新的配置文件重新启动一个节点服务。
所述的方法具体包括以下步骤:
步骤1:运行一个键值对存储服务,用于存储配置项的名称和值;
步骤2:在键值对存储服务上创建一个公共目录,把节点配置文件中的每个动态配置项和初始值在公共目录下各增加一个键值对进行保存;
步骤3:创建一个节点配置文件的模板,模板中的动态配置项的值用占位符代替;
步骤4:把节点配置文件的模板拷贝到每个节点上;
步骤5:每个节点启动后,在键值对存储服务上使用主机名创建一个专属目录,并且开始定时轮询公共目录以及节点创建的专属目录,观察键值对是否有变化;
步骤6:节点轮询发现键值对存储服务的公共目录以及专属目录的键值对没有变化时,不做配置维护;
步骤7:节点轮询发现键值对存储服务的公共目录或专属目录的键值对发生变化时,取出公共目录和专属目录中的所有键值对,基于节点配置文件的模板生成一个新的配置文件;先遍历公共目录中的键值对,在新配置文件中把与键相同的配置项的值替换成对应的值;然后如果专属目录的键值对发生变化,那么把新配置文件中的与键相同的配置项的值替换成对应的值,并把配置文件的模板文件中的与键相同的配置项的值替换成专属目录的全路径的占位符;
步骤8:在节点上使用新的配置文件重新启动一个节点服务,如果配置文件加载正确,只是因为端口被占用而无法启动节点服务,那么证明新的配置文件正确,重启节点服务;否则,证明配置项有误,需要重新进行配置。
所述键值对存储服务是用于存储字符串格式的键与字符串格式的值一一对应的存储服务;键值对存储为支持目录结构的键值对存储服务;
所述键值对存储服务允许所有节点服务进行轮询读以及管理节点在其上面增删改配置项;
所述支持目录结构的键值对存储服务指的是存储项支持目录分级,包括/node/address/port为存储的一个键。
所述专属目录指的是用某个节点的主机名创建的键值对存储服务中的目录,只允许节点服务器进行轮询读以及管理节点向该目录增加需要特殊配置的配置项和值。
所述使用新的配置文件重新启动一个节点服务指的是在原有节点服务还在运行的情况下重新开启一个新的进程,使用该配置文件运行节点服务。由于原来的节点服务在占用服务所需要的端口,因此不能正常启动,只能起到加载配置文件以及验证配置项的作用。
本发明的方法能产生如下的有益效果:
1、本发明的方法能避免云操作系统节点配置的人工干预,避免重复操作,实现一个地方配置,多个地方生效;
2、本发明的方法避免云操作系统节点配置的错误导致的异常;
3、本发明的方法具有很高的灵活性,个性化的配置也能保留。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为具体实施方式的体系架构图
具体实施方式
下面以etcd搭建键值对存储服务,使用confd作为配置文件模板的改写工具,介绍本发明的其中一种实现方式。
如图1、2所示,使用一个管理节点统一对键值对存储服务进行配置项的增删改,
这里略过etcd和confd的安装步骤,
1)往etcd中增加一个公共目录,并往目录中增加动态配置项及初始值,执行一下命令
#public为公共目录
etcdctl mkdir/public
etcdctl set/public/defaultSize"small"
etcdctl set/public/vmtype"KVM"
etcdctl set/public/instancesPath"/instances/kvm/"
2)创建一个confd的配置文件模板
#vim node.conf.tmpl
[nodeconfig]
max_cores=32
max_memeory=4096
defaultSize={{getv"/public/defaultSize"}}
vmtype={{getv"/public/vmtype"}}
instancesPath={{getv"/public/instancesPath"}}
3)创建节点1的专属目录
etcdctl mkdir/node1
4)轮询公共目录及专属目录
创建轮询公共目录的confd进程配置文件
#vim/etc/confd/conf.d/publicconfig.toml
[template]
src="node.conf.tmpl"
dest="/tmp/nodeconfig.conf"
keys=[
"/public",
]
#检查配置项是否正确
check_cmd="/usr/sbin/node start"
#重启服务
reload_cmd="/usr/sbin/node restart"
运行轮询进程
#http://127.0.0.1:2379为etcd地址
confd-interval=60-config-file/etc/confd/conf.d/publicconfig.toml-backend etcd-node http://127.0.0.1:2379&按时间轮询
创建轮询节点1专属目录的confd进程配置文件
#vim/etc/confd/conf.d/node1config.toml
[template]
src="node.conf.tmpl"
dest="/tmp/nodeconfig.conf"
keys=[
"/node1",
]
#检查配置项是否正确
check_cmd="/usr/sbin/node start"
#重启服务
reload_cmd="/usr/sbin/node restart"
运行轮询进程
#http://127.0.0.1:2379为etcd地址
confd-interval=60-config-file/etc/confd/conf.d/node1config.toml-backend etcd-node http://127.0.0.1:2379&按时间轮询
4)生成新配置文件
假设管理节点对节点1做了特殊的配置
etcdctl set/node1/vmtype"xen"
那么将生成新的配置文件
[nodeconfig]
max_cores=32
max_memeory=4096
defaultSize=small
vmtype=xen
instancesPath=/instances/kvm/
而配置文件模板也将变成
[nodeconfig]
max_cores=32
max_memeory=4096
defaultSize={{getv"/public/defaultSize"}}
vmtype={{getv"/node1/vmtype"}}
instancesPath={{getv"/public/instancesPath"}}。
Claims (6)
1.一种基于云平台的节点配置统一批量维护方法,其特征在于,所述的方法是利用键值对存储服务,在键值对存储服务创建公共目录和和主机的专属目录;在键值对发生变化时,生成一个新的配置文件;并根据新的配置文件重新启动一个节点服务。
2.根据权利要求1所述的方法,其特征在于,所述的方法具体包括以下步骤:
步骤1:运行一个键值对存储服务,用于存储配置项的名称和值;
步骤2:在键值对存储服务上创建一个公共目录,把节点配置文件中的每个动态配置项和初始值在公共目录下各增加一个键值对进行保存;
步骤3:创建一个节点配置文件的模板,模板中的动态配置项的值用占位符代替;
步骤4:把节点配置文件的模板拷贝到每个节点上;
步骤5:每个节点启动后,在键值对存储服务上使用主机名创建一个专属目录,并且开始定时轮询公共目录以及节点创建的专属目录,观察键值对是否有变化;
步骤6:节点轮询发现键值对存储服务的公共目录以及专属目录的键值对没有变化时,不做配置维护;
步骤7:节点轮询发现键值对存储服务的公共目录或专属目录的键值对发生变化时,取出公共目录和专属目录中的所有键值对,基于节点配置文件的模板生成一个新的配置文件;先遍历公共目录中的键值对,在新配置文件中把与键相同的配置项的值替换成对应的值;然后如果专属目录的键值对发生变化,那么把新配置文件中的与键相同的配置项的值替换成对应的值,并把配置文件的模板文件中的与键相同的配置项的值替换成专属目录的全路径的占位符;
步骤8:在节点上使用新的配置文件重新启动一个节点服务,如果配置文件加载正确,只是因为端口被占用而无法启动节点服务,那么证明新的配置文件正确,重启节点服务;否则,证明配置项有误,需要重新进行配置。
3.根据权利要求2所述的方法,其特征在于,所述键值对存储服务是用于存储字符串格式的键与字符串格式的值一一对应的存储服务;键值对存储为支持目录结构的键值对存储服务;
所述键值对存储服务允许所有节点服务进行轮询读以及管理节点在其上面增删改配置项;
所述支持目录结构的键值对存储服务指的是存储项支持目录分级,包括/node/address/port为存储的一个键。
4.根据权利要求2所述的方法,其特征在于,所述专属目录指的是用某个节点的主机名创建的键值对存储服务中的目录,只允许节点服务器进行轮询读以及管理节点向该目录增加需要特殊配置的配置项和值。
5.根据权利要求3所述的方法,其特征在于,所述专属目录指的是用某个节点的主机名创建的键值对存储服务中的目录,只允许节点服务器进行轮询读以及管理节点向该目录增加需要特殊配置的配置项和值。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述使用新的配置文件重新启动一个节点服务指的是在原有节点服务还在运行的情况下重新开启一个新的进程,使用该配置文件运行节点服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711010100.2A CN108377198B (zh) | 2017-10-25 | 2017-10-25 | 一种基于云平台的节点配置统一批量维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711010100.2A CN108377198B (zh) | 2017-10-25 | 2017-10-25 | 一种基于云平台的节点配置统一批量维护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108377198A true CN108377198A (zh) | 2018-08-07 |
CN108377198B CN108377198B (zh) | 2021-06-22 |
Family
ID=63016342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711010100.2A Active CN108377198B (zh) | 2017-10-25 | 2017-10-25 | 一种基于云平台的节点配置统一批量维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108377198B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908730A (zh) * | 2019-10-31 | 2020-03-24 | 烽火通信科技股份有限公司 | 一种云平台配置文件管理方法及管理系统 |
CN112181523A (zh) * | 2020-09-29 | 2021-01-05 | 四川封面传媒有限责任公司 | 一种项目配置信息的变更管理方法及装置 |
CN112486564A (zh) * | 2020-12-09 | 2021-03-12 | 浪潮云信息技术股份公司 | 基于Confd动态更新配置的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
CN103051469A (zh) * | 2012-09-13 | 2013-04-17 | 曙光信息产业(北京)有限公司 | 云环境下集中式配置管理方法 |
CN104601366A (zh) * | 2014-12-05 | 2015-05-06 | 无锡城市云计算中心有限公司 | 一种控制、服务节点配置服务的方法及装置 |
CN105893117A (zh) * | 2015-11-26 | 2016-08-24 | 乐视云计算有限公司 | 云服务的任务流的配置系统及方法 |
-
2017
- 2017-10-25 CN CN201711010100.2A patent/CN108377198B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
CN103051469A (zh) * | 2012-09-13 | 2013-04-17 | 曙光信息产业(北京)有限公司 | 云环境下集中式配置管理方法 |
CN104601366A (zh) * | 2014-12-05 | 2015-05-06 | 无锡城市云计算中心有限公司 | 一种控制、服务节点配置服务的方法及装置 |
CN105893117A (zh) * | 2015-11-26 | 2016-08-24 | 乐视云计算有限公司 | 云服务的任务流的配置系统及方法 |
Non-Patent Citations (1)
Title |
---|
YOUNGERCHINA: "分布式键值存储系统ETCD调研", 《检索自互联网:<URL:HTTPS://WWW.CNBLOGS.COM/YOUNGERCHINA/P/5622363.HTML>》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908730A (zh) * | 2019-10-31 | 2020-03-24 | 烽火通信科技股份有限公司 | 一种云平台配置文件管理方法及管理系统 |
CN112181523A (zh) * | 2020-09-29 | 2021-01-05 | 四川封面传媒有限责任公司 | 一种项目配置信息的变更管理方法及装置 |
CN112181523B (zh) * | 2020-09-29 | 2024-03-12 | 四川封面传媒有限责任公司 | 一种项目配置信息的变更管理方法及装置 |
CN112486564A (zh) * | 2020-12-09 | 2021-03-12 | 浪潮云信息技术股份公司 | 基于Confd动态更新配置的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108377198B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331879B1 (en) | Systems and methods for automatically generating passwords that comply with password restrictions | |
WO2018120721A1 (zh) | 用户界面的测试方法、系统、电子装置及计算机可读存储介质 | |
US9722879B1 (en) | Method and apparatus of an intuitive web based command line interface | |
WO2019134340A1 (zh) | 薪资计算方法、应用服务器及计算机可读存储介质 | |
US20080126439A1 (en) | Change verification in a configuration management database | |
US20150112923A1 (en) | Migrating data in tables in a database | |
CN108377198A (zh) | 一种基于云平台的节点配置统一批量维护方法 | |
US20150227605A1 (en) | Information processing terminal, synchronization control method, and computer-readable recording medium | |
US10664551B2 (en) | Intuitive user interface (UI) for device or vendor independent network switch management via embedded management controller | |
JP2014534535A (ja) | ストア横断型電子情報開示 | |
CN103268226A (zh) | 一种测试脚本文件生成方法及装置 | |
CN107844711B (zh) | 数据操作权限隔离方法、应用服务器及计算机可读存储介质 | |
CN106155719A (zh) | 一种利用USB装置实现openstack快速部署的方法及系统 | |
CN104636441B (zh) | 网络文件系统实现方法和装置 | |
US20170206027A1 (en) | Management system and management method of computer system | |
US20110264903A1 (en) | Electronic device and method for loading configuration files using the same | |
US11570048B2 (en) | Declarative language and compiler for provisioning and deploying data centers on cloud platforms | |
CN104657276A (zh) | 一种配置iozone集群测试的方法 | |
US11848829B2 (en) | Modifying a data center based on cloud computing platform using declarative language and compiler | |
CN113268232B (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
JP2015184991A (ja) | リソース管理装置、リソース管理方法およびリソース管理プログラム | |
Girbea et al. | Efficient address space generation for an OPC UA server | |
CN103491113B (zh) | 一种信息聚合文件的同步方法、装置及系统 | |
US20130103724A1 (en) | Network and method for managing models | |
Ahmed | Mastering Proxmox: Build virtualized environments using the Proxmox VE hypervisor |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-CLOUD TECHNOLOGY Co.,Ltd. Address before: 523808 Guangdong province Dongguan City Songshan Lake Science and Technology Industrial Park Building No. 14 Keyuan pine Applicant before: G-CLOUD TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |