一种内存运行etcd节点的方法技术

技术编号:18591505 阅读:290 留言:0更新日期:2018-08-04 19:58
本发明专利技术公开一种内存运行etcd节点的方法,涉及操作系统技术领域;采用Linux系统定制技术和内存系统镜像制作技术将定制化支持部署etcd节点;通过内存镜像载入技术,实现加载etcd节点镜像;通过内存盘加载技术,实现加载内存存储盘;通过Raft协议建立etcd集群;实现在内存运行的etcd节点集群的操作系统。本发明专利技术通过Raft实现集群分布式存储信息,使所有节点上的etcd都在内存中运行,避免硬盘读写瓶颈,加速存储信息的读取分发,同时避免了单点失效造成的信息丢失。

A method of running etcd nodes in memory

The invention discloses a method of running etcd nodes in memory, which involves the technical field of operating system; using Linux system customization technology and memory system mirror image making technology will support deployment of etcd nodes; through memory mirror loading technology, the etcd node image is loaded and the memory disk loading technology is used to implement the load memory. Storage disk; build etcd cluster through Raft protocol; implement the operation system of etcd node cluster running in memory. This invention realizes the distributed storage information in the cluster by Raft, so that all the nodes on the etcd are running in memory, avoiding the hard disk reading and writing bottleneck, accelerating the reading and distribution of the storage information, and avoiding the information loss caused by the single point failure.

【技术实现步骤摘要】
一种内存运行etcd节点的方法
本专利技术涉及操作系统
,具体地说是一种内存运行etcd节点的方法。
技术介绍
Etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。通过Raft一致性算法处理日志复制以保证强一致性。Raft适用于分布式系统的日志复制,通过选举的方式来实现一致性。Google的容器集群管理系统Kubernetes、开源PaaS平台CloudFoundry和CoreOS的Fleet都广泛使用了etcd。Etcd部署在物理机和操作系统之上。影响容器应用运行速度的主要因素分别为CPU,内存,硬盘,网络以及镜像操作系统,其中,硬盘速度是主要瓶颈。
技术实现思路
本专利技术针对现有方法的不足,提供一种内存运行etcd节点的方法,通过Raft实现集群分布式存储信息,使所有节点上的etcd都在内存中运行,避免硬盘读写瓶颈,实现集群内信息的高效存储与分发。本专利技术提出的具体方案是:一种内存运行etcd节点的方法,采用Linux系统定制技术和内存系统镜像制作技术将定制化支持部署etcd节点;通过内存镜像载入,实现加载etcd节点镜像;通过内存盘加载,实现加载内存存储盘;通过Raft协议建立etcd集群,实现在内存运行的etcd节点集群的操作系统。其具体实施步骤如下:S1:建立Linux定制操作系统;S2:编译etcd;S3:建立etcd内存系统镜像;S4:在物理机上安装操作系统,包括安装程序和安装程序执行步骤;S5:启动内存操作系统,初始化引导程序,加载内核模块,加载系统软件包;S6:启动服务和脚本,配置网络,加载etcd;S7:建立etcd集群。其中,建立Linux定制操作系统包括编译Linux内核文件、建立Linux操作系统根文件系统、编译Linux操作系统系统文件以及编译Linux驱动文件。进一步的,建立etcd内存系统镜像包括内核初始化加载文件、内存操作系统镜像以及初始化加载程序。进一步的,所述内存操作系统,etcd完全在内存中运行。进一步的,etcd集群中etcd组网采用Raft协议。构建内存操作系统的具体步骤包括:S1:建立工作区;S2:在工作区内建立内存盘镜像文件;S3:格式化镜像文件;S4:建立根文件系统目录结构;S5:编译Linux内核支持内存盘;S6:制作根文件系统;S7:配置初始化加载;S8:安装etcd;S9:检查依赖关系;S10:准备启动脚本;S11:生成系统软件包。etcd节点系统加载具体步骤包括:S1:宿主机加电启动,处理器先在系统存储中查找BIOS,BIOS检测系统资源,然后找到第一个引导设备,这里设置为硬盘;S2:查找硬盘的主引导记录MBR;S3:BIOS加载到内存中并把控制权交给MBR;S4:主引导记录初始化引导程序,由引导程序加载内核模块;S5:在内存操作系统中引导程序将目录挂载到内存盘中,并指定物理盘上的内核模块位置;S6:内核查找init程序并执行;从这里开始init成为了Linux系统的父进程;S7:init读取系统软件包并解压到内存盘中;S8:根据/etc/inittab进行初始化,通过它init会确定我们Linux操作系统的运行级别;S9:init从文件/etc/fstab里查找分区表信息然后做相应的挂载;启动/etc/init.d里指定的默认启动级别的所有服务/脚本包括网络配置;S10:加载etcd。Etcd通过init被初始化,etcd和守护进程都在后台执行并由init来管理,etcd对文件的读写都在内存盘中进行。宿主机磁盘可以通过mount的方式挂载到内存盘操作系统中,为运行中的容器提供持久化的数据存储。也可以通过加载网络存储驱动的方式将持久化数据存储在网络存储服务中。与现有技术相比,本专利技术的一种内存运行etcd节点的方法具有以下突出的有益效果:本专利技术提供了一种实用性强、效率高的支持etcd的内存部署方法,该方法在内存运行的etcd节点集群的操作系统实现,通过Raft实现集群分布式存储信息,避免单节点失效信息丢失;又具备内存系统的高速特性,实现了集群内信息的高效存储与分发,是一种简单、高效提升etcd集群运行效率的方法。该方法使所有节点上的etcd都在内存中运行,从而避免了硬盘读写的瓶颈,加速存储信息的读取分发,同时避免了单点失效造成的信息丢失。该方法实现全内存操作系统,etcd全部运行在内存中,通过Raft协议建立网络集群,避免了硬盘读写的瓶颈,支持宿主机或网络存储持久化数据。附图说明图1是本专利技术内存运行etcd节点方法的系统架构图;图2是实施例中节点系统读写速度比较的示意图。图1中,1、系统框架,2、宿主机磁盘,3、初始化服务initrd,4、系统软件包package,5、持久化数据,6、系统初始化生成内存盘,7、系统初始化加载系统文件,8、系统运行框架,9、内存盘,10、操作系统,11、etcd,12、主机A,13、主机B,14、主机N,15、Raft网络集群。具体实施方式本专利技术提供一种内存运行etcd节点的方法:一种内存运行etcd节点的方法,采用Linux系统定制技术和内存系统镜像制作技术将定制化支持部署etcd节点;通过内存镜像载入技术,实现加载etcd节点镜像;通过内存盘加载技术,实现加载内存存储盘;通过Raft协议建立etcd集群;实现在内存运行的etcd节点集群的操作系统。其具体实施步骤如下:S1:建立Linux定制操作系统,包括编译Linux内核文件、建立Linux操作系统根文件系统、编译Linux操作系统系统文件以及编译Linux驱动文件;S2:编译etcd;S3:建立etcd内存系统镜像,建立etcd内存系统镜像包括内核初始化加载文件、内存操作系统镜像以及初始化加载程序;S4:在物理机上安装操作系统,包括安装程序和安装程序执行步骤;S5:启动内存操作系统,初始化引导程序,加载内核模块,加载系统软件包;S6:启动服务和脚本,配置网络,加载etcd;S7:建立etcd集群。所述内存操作系统,etcd完全在内存中运行;etcd组网采用Raft协议。构建内存操作系统的具体步骤包括:S1:建立工作区;S2:在工作区内建立内存盘镜像文件;S3:格式化镜像文件;S4:建立根文件系统目录结构;S5:编译Linux内核支持内存盘;S6:制作根文件系统;S7:配置初始化加载;S8:安装etcd;S9:检查依赖关系;S10:准备启动脚本;S11:生成系统软件包。etcd节点系统加载具体步骤如下:当宿主机加电启动,处理器会先在系统存储中查找BIOS,BIOS检测系统资源,然后找到第一个引导设备,这里设置为硬盘;然后会查找硬盘的主引导记录MBR;BIOS加载到内存中并把控制权交给MBR;主引导记录初始化引导程序,由引导程序加载内核模块;在内存操作系统中引导程序将目录挂载到内存盘中,并指定物理盘上的内核模块位置;内核查找init程序并执行;从这里开始init成为了Linux系统的父进程。init读取系统软件包并解压到内存盘中;然后根据/etc/inittab进行初始化,通过它init会确定我们Linux操作系统的运行级别。init从文件/etc/fstab里查找分区表信息然后做相应的挂载;然后init会启动/etc/init.d里指定的默本文档来自技高网...

【技术保护点】
1.一种内存运行etcd节点的方法,其特征在于采用Linux系统定制技术和内存系统镜像制作技术将定制化支持部署etcd节点;通过内存镜像载入,实现加载etcd节点镜像;通过内存盘加载,实现加载内存存储盘;通过Raft协议建立etcd集群,实现在内存运行的etcd节点集群的操作系统。

【技术特征摘要】
1.一种内存运行etcd节点的方法,其特征在于采用Linux系统定制技术和内存系统镜像制作技术将定制化支持部署etcd节点;通过内存镜像载入,实现加载etcd节点镜像;通过内存盘加载,实现加载内存存储盘;通过Raft协议建立etcd集群,实现在内存运行的etcd节点集群的操作系统。2.根据权利要求1所述的一种内存运行etcd节点的方法,其特征在于其具体实施步骤如下:S1:建立Linux定制操作系统;S2:编译etcd;S3:建立etcd内存系统镜像;S4:在物理机上安装操作系统,包括安装程序和安装程序执行步骤;S5:启动内存操作系统,初始化引导程序,加载内核模块,加载系统软件包;S6:启动服务和脚本,配置网络,加载etcd;S7:建立etcd集群。3.根据权利要求2所述的一种内存运行etcd节点的方法,其特征在于建立Linux定制操作系统包括编译Linux内核文件、建立Linux操作系统根文件系统、编译Linux操作系统系统文件以及编译Linux驱动文件。4.根据权利要求2所述的一种内存运行etcd节点的方法,其特征在于建立etcd内存系统镜像包括内核初始化加载文件、内存操作系统镜像以及初始化加载程序。5.根据权利要求2所述的一种内存运行etcd节点的方法,其特征在于所述内存操作系统,etcd完全在内存中运行。6.根据权...

【专利技术属性】
技术研发人员:华勇肖雪王建华
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1