CN111416753A - 一种两节点Ceph集群的高可用方法 - Google Patents

一种两节点Ceph集群的高可用方法 Download PDF

Info

Publication number
CN111416753A
CN111416753A CN202010166429.3A CN202010166429A CN111416753A CN 111416753 A CN111416753 A CN 111416753A CN 202010166429 A CN202010166429 A CN 202010166429A CN 111416753 A CN111416753 A CN 111416753A
Authority
CN
China
Prior art keywords
monitor
local
executing
starting
node
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
Application number
CN202010166429.3A
Other languages
English (en)
Other versions
CN111416753B (zh
Inventor
鲁莎莎
刘浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Eisoo Information Technology Co Ltd
Original Assignee
Shanghai Eisoo Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Eisoo Information Technology Co Ltd filed Critical Shanghai Eisoo Information Technology Co Ltd
Priority to CN202010166429.3A priority Critical patent/CN111416753B/zh
Publication of CN111416753A publication Critical patent/CN111416753A/zh
Application granted granted Critical
Publication of CN111416753B publication Critical patent/CN111416753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本发明涉及一种两节点Ceph集群的高可用方法,包括以下步骤:定时监控步骤:当两节点均正常工作时,监测对端节点是否宕机,若是,则本节点执行降级步骤;当对端节点故障后,监测对端节点是否重建完成,若是,则更新本地配置文件;预判步骤:故障节点在重新上线后,检查本地监视器是否需要重建,若是,则执行重建步骤;降级步骤:在本地目录中删除对端监视器,标记rm_remote标签,启动监视器的守护进程,并限制写的权限,降级为只读状态,删除rm_remote标签;重建步骤:在本地目录中删除本地监视器数据,初始化本地监视器,并标记local_rebuild标签,启动监视器的守护进程,并取消限制写的权限,删除local_rebuild标签。与现有技术相比,本发明具有降低硬件和运维成本等优点。

Description

一种两节点Ceph集群的高可用方法
技术领域
本发明涉及计算机存储服务高可用领域,尤其是涉及一种两节点Ceph集群的高可用方法。
背景技术
随着信息技术的不断进步,企业的非结构化数据呈几何级数增长,越来越多的企业都开始部署分布式系统来存放不断增长的海量数据。一般来说,企业的存储系统都是给业务系统用,因此存储系统的高可用至关重要。分布式存储系统为了满足高可用要求,部署时一般都需要3节点起。当有一个节点宕机或者不可达时,剩余的两个节点还可以提供存储服务。如果是两节点的话,为了防止脑裂,需要引入仲裁节点来保证数据的一致性。
Ceph作为一款能同时支持文件、块、对象的开源分布式存储系统,被广泛应用。Ceph具有高性能、高可靠和高可扩展等特点,包括对象存储设备(Object Storage Device,OSD)和监视器(Monitor,MON)。OSD用于提供存储资源,OSD拥有一个自己的守护进程(OSDdeamon),用于负责完成OSD的所有逻辑功能,包括与MON和其他OSD通信以维护更新系统状态等等。MON用于接收OSD上报的状态报告,更新和扩散OSD状态信息(OSDMap)。以维护整个Ceph集群的全局状态。
为了保证高可用,Ceph集群一般也要求至少有3个节点。一般来说,每个节点上有一个监视器的守护进程(Monitor Daemon)和若干个OSD的守护进程(OSD Daemon)。所有的Monitor Daemon构成了一个Monitor集群,Monitor集群会存储整个Ceph集群的元数据信息(ClusterMap),其存储的数据信息以副本或者纠删码策略分布在不同的节点上。客户端连接集群时,需要先和Monitor通信获取ClusterMap,再使用ClusterMap进行计算,得出数据读写的位置。Monitor集群采用了类paxos协议来保证多个Monitor间数据的一致性,当集群中(n+1)/2个Monitor在线时,才能正常提供服务。当部署一个两节点的Ceph集群时,有两种方式:
(1)只在一个节点上部署Monitor,此时如果Monitor所在节点故障则服务将不可用,会有单点故障问题。
(2)两个节点上各部署一个Monitor,此时当其中一个节点宕机时,将导致服务不可用。
因此一般来说都需要至少3节点,但部分中小企业,由于目前需要存储的数据有限,2个节点的容量就足以满足目前的数据存储需要。因此为了满足高可用要求,而不得不部署3个节点或者采用仲裁节点的方式,来部署分布式存储系统,增加了额外的硬件和运维成本。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种节省硬件及运维成本的两节点Ceph集群的高可用方法。
本发明的目的可以通过以下技术方案来实现:
一种两节点Ceph集群的高可用方法,包括以下步骤:
定时监控步骤:当两节点均正常工作时,监测对端节点是否宕机,若是,则本节点执行降级步骤;当对端节点故障后,监测对端节点是否重建完成,若是,则更新本地配置文件;
预判步骤:故障节点在重新上线后,检查本地监视器是否需要重建,若是,则执行重建步骤;
降级步骤:在本地目录中删除对端监视器,标记rm_remote标签,然后启动监视器的守护进程,并限制写的权限,降级为只读状态,最后删除rm_remote标签,rm_remote标签是为了保证降级步骤的原子性;
重建步骤:在本地目录中删除本地监视器数据,初始化本地监视器,并标记local_rebuild标签,然后启动监视器的守护进程,并取消限制写的权限,最后删除local_rebuild标签,local_rebuild标签是为了保证重建步骤的原子性。
所述的定时监控步骤具体包括:
S101:判断本地监视器是否可达,若是则执行步骤S102,否则执行步骤S103;
S102:判断配置文件中的监视器个数,若为1个则执行步骤S104,若为2个则执行步骤S106;
S103:判断rm_remote标签是否存在,若是则执行降级步骤,否则执行步骤S108;
S104:判断返回的监视器状态信息中是否包含2个监视器的信息,若是则执行步骤S105,否则返回执行步骤S101,开启新一轮的监控;
S105:更新本地配置文件,将配置文件中缺少的监视器信息加入到本地配置文件中,并返回执行步骤S101,开启新一轮的监控;
S106:判断对端监视器是否可达,若是则返回执行步骤S101,开启新一轮的监控,否则执行步骤S107;
S107:测试对端IP地址是否能够ping通,若是,则返回执行步骤S101,开启新一轮的监控,否则执行降级步骤;
S108:启动本地监视器,并返回执行步骤S101,开启新一轮的监控。
所述的步骤S101和步骤S106中,判断监视器是否可达的依据包括:“ceph pingmon.{name}”命令能否正常返回,以及返回值中的监视器状态信息。
所述的降级步骤具体包括:
S201:关闭监视器和OSD的守护进程;
S202:判断rm_remote标签是否存在,若是则启动本地监视器,否则执行步骤S203;
S203:从本地目录提取监视器状态信息到临时文件;
S204:在临时文件中删除对端监视器;
S205:创建rm_remote标签,然后启动本地监视器;
S206:将删除了对端监视器的监视器状态信息导入到本地监视器中;
S207:启动监视器的守护进程;
S208:限制写的权限,启动OSD的守护进程,并删除rm_remote标签,降级为只读状态。
所述的预判步骤具体包括:
S301:判断local_rebuild标签是否存在,若是,则执行重建步骤,否则执行步骤S302;
S302分别获取对端监视器和本地监视器的监视器状态信息,若无法获取,则结束预判步骤,否则执行步骤S303;
S303:对比对端监视器和本地监视器的监视器状态信息,判断是否需要重建本地监视器,若是则执行重建步骤,否则结束预判步骤。
所述的步骤S303中,判断是否需要重建具体包括:若本地监视器状态信息的epoch比对端监视器状态信息小,且本地监视器状态信息中包含两个监视器,对端监视器状态信息中只包含一个监视器,则判断为需要重建。
所述的重建步骤具体包括:
S401:判断local_rebuild标签是否存在,若是,则执行步骤S405,否则执行步骤S402;
S402:从对端节点获取监视器状态信息和密钥环;
S403:创建local_rebuild标签;
S404:删除本地监视器数据;
S405:根据获取的监视器状态信息和密钥环,初始化本地监视器;
S406:启动监视器的守护进程;
S208:取消限制写的权限,启动OSD的守护进程,并删除local_rebuild标签。
所述的Ceph集群中的两个节点分别配置一个监视器。
所述的限制写的权限和取消限制写的权限分别通过在OSD状态信息中增设的pause/unpause write标签设置,当该标签设置为“pause write”时,所有OSD的守护进程拒绝写请求,只处理读请求;当该标签设置为“unpause write”时,所有OSD的守护进程恢复正常读写。
与现有技术相比,本发明具有以下优点:
1)本发明提出了一种两节点Ceph集群的高可用方法,可以在不引入额外仲裁节点的情况下,支持两节点存储集群降级只读,当一个节点故障后,集群中现存的节点能支持数据的读取,当故障节点恢复后,能重新加入集群,恢复成正常状态;
2)本发明能为企业节省硬件及运维成本,在保证数据一致性的基础上,可以使两节点达到降级只读状态,对数据写入不是很敏感的业务系统,采用该方式能大大节省前期的硬件成本及运维成本。
附图说明
图1为定时监控流程示意图;
图2为删除Monitor流程示意图;
图3为Monitor预启动流程示意图;
图4为重建Monitor流程示意图;
图5为Monitor启动后流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本发明提供一种两节点Ceph集群的高可用方法,包括以下步骤:
定时监控步骤:当两节点均正常工作时,监测对端节点是否宕机,若是,则本节点执行降级步骤;当对端节点故障后,监测对端节点是否重建完成,若是,则更新本地配置文件;
预判步骤:故障节点在重新上线后,检查本地监视器是否需要重建,若是,则执行重建步骤;
降级步骤:在本地目录中删除对端监视器,标记rm_remote标签,然后启动监视器的守护进程,并限制写的权限,降级为只读状态,最后删除rm_remote标签;
重建步骤:在本地目录中删除本地监视器数据,初始化本地监视器,并标记local_rebuild标签,然后启动监视器的守护进程,并取消限制写的权限,最后删除local_rebuild标签。
本发明方法的实现具体包括以下几个部分:
1、在OSD状态信息(OSDMap)中新增pause/unpause write标签(pause/unpausewrite flag),并为Ceph集群提供“ceph osd pause write”命令和“ceph osd unpausewrite”命令,用于对OSD数据写入限制的开启与取消。
调用“ceph osd pause write”命令后,所有的OSD的守护进程将不会接受写(Write)请求,但可以正常处理读(Read)请求;使用“ceph osd unpause write”命令后,可以让OSD恢复正常读写。
2、分别在两个节点上开启一个定时监控任务,并设定监控执行的时间间隔为T,用来判断对方节点是否异常。
该定时监控任务包括两个子任务:
(1)监控对端节点是否故障宕机,若故障宕机则执行删除对端Monitor操作,并标记rm_remote标签(rm_remote flag);
(2)当故障节点重新上线后,检测故障节点是否重建完成,若是则将对端Monitor的信息添加到本地配置文件中。
其中,rm_remote flag是为了保证降级操作的原子性,若在降级过程中出现异常而导致降级失败,rm_remote flag能保证下次降级流程的继续执行。
该定时监控任务的具体流程如图1所示,具体包括:
101)判断本地Monitor是否可达,若是则执行步骤102);若不可达则执行步骤103)。
102)判断配置文件中的Monitor个数,若为1个则执行步骤104),若为2个则执行步骤106)。
103)判断rm_remote flag是否存在,若存在则执行步骤108),否则执行步骤109)。
104)判断返回的监视器状态信息(MONMap)中是否包含2个Monitor的信息,若是则执行步骤105),否则返回执行步骤101),开启新一轮的监控。
105)将配置文件中缺少的Monitor信息加入到本地配置文件中,并返回执行步骤101),开启新一轮的监控。
106)判断对端Monitor是否可达,若是则返回执行步骤101)开启新一轮的监控,否则执行步骤107)。
107)调用ping命令测试对端节点所有IP地址N次,N的数值可根据需求自行设置,判断是否有IP地址能通,若是,则返回执行步骤101),否则执行步骤108)。
108)执行删除对端Monitor操作。
109)启动本地Monitor,并返回执行步骤101),开启新一轮的监控。
其中,步骤101)和步骤106)中,判断Monitor是否可达的依据为:“ceph ping mon.{name}”命令能否正常返回,以及返回值中的监视器状态信息(MONMap)。
如图2所示,步骤108)中的删除对端Monitor操作具体包括:
201)停至Monitor和OSD服务。
202)判断rm_remote flag是否存在,若是,则执行步骤206),否则执行步骤203)。
203)从本地Monitor目录中提取MONMap到临时文件。
204)在临时文件中删除对端Monitor。
205)创建rm_remote flag。
206)启动本地Monitor,结束。
3、在Monitor Daemon启动前,需要进行预启动。
预启动主要有两个任务:
(1)完成降级操作的最后一步,即将定时监控任务中生成的、删除了对端Monitor的MONMap导入到本地Monitor中;
(2)检查本地Monitor是否需要重建,若是则执行重建操作,并标记local_rebuild标签(local_rebuild flag)。
其中,local_rebuild flag是为了保证重建操作的原子性,若在重建过程中出现异常导致重建失败,其能够在下次进入时能保证重建流程继续执行。
预启动的具体流程如图3所示,具体包括:
301)判断rm_remote flag是否存在,若是,则执行步骤303),否则执行步骤302)。
302)判断local_rebuild flag是否存在,若是,则执行步骤308),否则执行步骤305)。
303)将定时监控任务中处理过的MONMap通过inject命令注入到本地Monitor。
304)从配置文件中删除对端Monitor的信息,结束预启动。
305)获取对端Monitor的MONMap。
306)获取本地Monitor的MONMap,若无法获取,则结束预启动,否则执行步骤307)。
307)对比对端Monitor的MONMap和本地Monitor的MONMap,判断是否需要重建本地的Monitor,若否则结束预启动,否则执行步骤308)。其中,判断是否需要重建的依据为:若本地MONMap的epoch比对端MONMap小,且本地MONMap中包含两个Monitor,对端MONMap中只包含一个Monitor,则需要重建。
308)执行重建本地Monitor操作,结束预启动。
如图4所示,步骤308)中重建本地Monitor操作具体包括:
401)判断local_rebuild flag是否存在,若是,则执行步骤405),否则执行步骤402)。
402)从对端节点获取MONMap和密钥环(Keyring)。
403)创建local_rebuild flag。
404)删除本地Monitor数据。
405)根据获取的MONMap和Keyring初始化本地Monitor,完成本地Monitor的重建。
4、在Monitor Daemon启动后,需要添加启动后流程。只有当启动后流程执行完毕才算启动成功,如果启动后流程执行失败,则Monitor Daemon也会退出。
该启动后流程主要负责设置pause/unpause write标签。当之前操作为降级操作时,该标签会设置为“pause write”,限制OSD写入;当之前操作为重建Monitor时,该标签会设置“unpause write”,恢复写入。
如图5所示,启动后流程具体包括:
501)判断rm_remote flag是否存在,若是,则执行步骤502),否则执行步骤504)。
502)等待本地Monitor启动完毕,向本地Monitor发送“pause write”命令,限制OSD的写。
503)启动OSD服务,删除rm_remote flag,结束。
504)判断local_rebuild flag是否存在,若是,则执行步骤505),否则结束。
505)等待本地Monitor启动完毕,向本地Monitor发送“unpause write”命令,恢复读写。
506)启动OSD服务,删除local_rebuild flag,结束。
本实施例中,给出具体实施的例子,实现当一个节点出现故障后系统降级操作和恢复的整体过程。
该例子的操作系统使用Centos 7,共有两个节点,即节点A和节点B,两个节点上各部署一个Monitor,分别为节点A的监视器(mon.a)和节点B的监视器(mon.b)。在crontab中设置一个以一分钟为间隔的定时任务,执行定式监控任务的监控脚本。在Monitor Daemon的systemd启动文件”/var/lib/system/system/ceph-mon@.service”中添加ExecStartPre和ExecStartPost条目用来设置执行预启动的预启动脚本和执行启动后流程的启动后脚本,最后搭建好Ceph集群。
当节点A由于故障宕机时,节点B将进入降级可读状态,节点B上的脚本执行流程如下:
1)监控脚本发现本地Monitor可达,但对端Monitor不可达,并且对端所有IP 150次均无法ping通,则执行删除对端Monitor的操作。
2)执行“systemctl stop ceph-mon.target”命令和“systemctl stop ceph-osd.target”命令,关闭Monitor Daemon和OSD Daemon。
3)调用“ceph-mon-i b–extract-monmap b_monmap”命令,从mon.b的本地目录中将MONMap提取出来,保存到b_monmap文件中。
4)调用“monmaptool b_monmap–rm a”命令,将mon.a从b_monmap文件中删除。
5)设置rm_remote flag,即在/var/run/ceph目录下新建一个名为“rm_remote_flag”的文件。
6)执行预启动脚本,调用”ceph-mon-i b–inject-monmap b_monmap”命令,将上一步处理过后的MONMap导入到本地目录,并从配置文件中删除mon.a的信息。
7)启动Monitor Daemon。
8)执行启动后流程,发送“pause write”命令,启动OSD daemon,清除rm_remoteflag,即删除/var/run/ceph目录下名为“rm_remote_flag”的文件。
至此,节点B将变成降级只读状态。一段时间过后,故障宕机的节点A重新启动,此时节点A还是宕机前的状态,其会执行如下流程:
1)执行预启动脚本,发现rm_remote flag和local_rebuild flag都不存在,使用”ceph mon_status”命令,从节点B获取集群目前的MONMap(cluster_monmap)。
2)使用“ceph-mon”命令从本地Monitor中提取出本地Monitor的MONMap(local_monmap)。
3)将两个MONMap进行对比,若local_monmap的epoch小于cluster_monmp,并且local_monmap中有两个Monitor,而cluster_monmap中只有一个Monitor,则判断刚才对端节点进行了降级操作,本次本节点需要执行Monitor重建的流程。
4)使用”ceph auth get mon.-o mon.keyring”命令,从对端节点获取Keyring;使用”ceph mon getmap-o b_monmap”命令从对端获取MONMap。
5)创建local_rebuild flag,即在/var/run/ceph目录下新建一个名为local_rebuild_flag的文件。
6)删除本地Monitor的数据。
7)使用”ceph-mon-i a–mkfs–monmap b_monmap–keyring mon.keyring”命令,将本地Monitor初始化。
8)启动Monitor Daemon。
9)执行启动后流程,使用”ceph osd unpause write”命令,将pause/unpausewrite标签设置为“unpuase write”,启动OSD daemon,清除local_rebuild flag。
节点A启动后,节点B的监控脚本会发现,自己的配置文件中缺少了mon.a的信息,然后重新添加mon.a的信息到配置文件中。至此,集群将恢复成正常的可读写状态。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种两节点Ceph集群的高可用方法,其特征在于,包括以下步骤:
定时监控步骤:当两节点均正常工作时,监测对端节点是否宕机,若是,则本节点执行降级步骤;当对端节点故障后,监测对端节点是否重建完成,若是,则更新本地配置文件;
预判步骤:故障节点在重新上线后,检查本地监视器是否需要重建,若是,则执行重建步骤;
降级步骤:在本地目录中删除对端监视器,标记rm_remote标签,然后启动监视器的守护进程,并限制写的权限,降级为只读状态,最后删除rm_remote标签;
重建步骤:在本地目录中删除本地监视器数据,初始化本地监视器,并标记local_rebuild标签,然后启动监视器的守护进程,并取消限制写的权限,最后删除local_rebuild标签。
2.根据权利要求1所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的定时监控步骤具体包括:
S101:判断本地监视器是否可达,若是则执行步骤S102,否则执行步骤S103;
S102:判断配置文件中的监视器个数,若为1个则执行步骤S104,若为2个则执行步骤S106;
S103:判断rm_remote标签是否存在,若是则执行降级步骤,否则执行步骤S108;
S104:判断返回的监视器状态信息中是否包含2个监视器的信息,若是则执行步骤S105,否则返回执行步骤S101,开启新一轮的监控;
S105:更新本地配置文件,将配置文件中缺少的监视器信息加入到本地配置文件中,并返回执行步骤S101,开启新一轮的监控;
S106:判断对端监视器是否可达,若是则返回执行步骤S101,开启新一轮的监控,否则执行步骤S107;
S107:测试对端IP地址是否能够ping通,若是,则返回执行步骤S101,开启新一轮的监控,否则执行降级步骤;
S108:启动本地监视器,并返回执行步骤S101,开启新一轮的监控。
3.根据权利要求2所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的步骤S101和步骤S106中,判断监视器是否可达的依据包括:“ceph ping mon.{name}”命令能否正常返回,以及返回值中的监视器状态信息。
4.根据权利要求2所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的降级步骤具体包括:
S201:关闭监视器和OSD的守护进程;
S202:判断rm_remote标签是否存在,若是则启动本地监视器,否则执行步骤S203;
S203:从本地目录提取监视器状态信息到临时文件;
S204:在临时文件中删除对端监视器;
S205:创建rm_remote标签,然后启动本地监视器;
S206:将删除了对端监视器的监视器状态信息导入到本地监视器中;
S207:启动监视器的守护进程;
S208:限制写的权限,启动OSD的守护进程,并删除rm_remote标签,降级为只读状态。
5.根据权利要求1所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的预判步骤具体包括:
S301:判断local_rebuild标签是否存在,若是,则执行重建步骤,否则执行步骤S302;
S302分别获取对端监视器和本地监视器的监视器状态信息,若无法获取,则结束预判步骤,否则执行步骤S303;
S303:对比对端监视器和本地监视器的监视器状态信息,判断是否需要重建本地监视器,若是则执行重建步骤,否则结束预判步骤。
6.根据权利要求5所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的步骤S303中,判断是否需要重建具体包括:若本地监视器状态信息的epoch比对端监视器状态信息小,且本地监视器状态信息中包含两个监视器,对端监视器状态信息中只包含一个监视器,则判断为需要重建。
7.根据权利要求5所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的重建步骤具体包括:
S401:判断local_rebuild标签是否存在,若是,则执行步骤S405,否则执行步骤S402;
S402:从对端节点获取监视器状态信息和密钥环;
S403:创建local_rebuild标签;
S404:删除本地监视器数据;
S405:根据获取的监视器状态信息和密钥环,初始化本地监视器;
S406:启动监视器的守护进程;
S208:取消限制写的权限,启动OSD的守护进程,并删除local_rebuild标签。
8.根据权利要求1所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的Ceph集群中的两个节点分别配置一个监视器。
9.根据权利要求1所述的一种两节点Ceph集群的高可用方法,其特征在于,所述的限制写的权限和取消限制写的权限分别通过在OSD状态信息中增设的pause/unpause write标签设置,当该标签设置为“pause write”时,所有OSD的守护进程拒绝写请求,只处理读请求;当该标签设置为“unpause write”时,所有OSD的守护进程恢复正常读写。
CN202010166429.3A 2020-03-11 2020-03-11 一种两节点Ceph集群的高可用方法 Active CN111416753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010166429.3A CN111416753B (zh) 2020-03-11 2020-03-11 一种两节点Ceph集群的高可用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010166429.3A CN111416753B (zh) 2020-03-11 2020-03-11 一种两节点Ceph集群的高可用方法

Publications (2)

Publication Number Publication Date
CN111416753A true CN111416753A (zh) 2020-07-14
CN111416753B CN111416753B (zh) 2021-12-03

Family

ID=71492888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010166429.3A Active CN111416753B (zh) 2020-03-11 2020-03-11 一种两节点Ceph集群的高可用方法

Country Status (1)

Country Link
CN (1) CN111416753B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019601A (zh) * 2020-08-07 2020-12-01 烽火通信科技股份有限公司 一种基于分布式存储Ceph的两节点实现方法及系统
CN113608694A (zh) * 2021-07-27 2021-11-05 北京达佳互联信息技术有限公司 数据迁移方法、信息处理方法、装置及服务器与介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080123553A1 (en) * 2006-11-27 2008-05-29 Honeywell International Inc. Fault tolerance in wireless networks
CN103761058A (zh) * 2014-01-23 2014-04-30 天津中科蓝鲸信息技术有限公司 Raid1和raid4混合结构网络存储系统及方法
WO2015057240A1 (en) * 2013-10-18 2015-04-23 Hitachi Data Systems Engineering UK Limited Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system
CN108156215A (zh) * 2017-11-20 2018-06-12 广东睿江云计算股份有限公司 一种XenServer存储设备的监控方法、系统
CN108958970A (zh) * 2018-05-29 2018-12-07 新华三技术有限公司 一种数据恢复方法、服务器和计算机可读介质
CN110445822A (zh) * 2018-05-03 2019-11-12 中移(苏州)软件技术有限公司 一种对象存储方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080123553A1 (en) * 2006-11-27 2008-05-29 Honeywell International Inc. Fault tolerance in wireless networks
WO2015057240A1 (en) * 2013-10-18 2015-04-23 Hitachi Data Systems Engineering UK Limited Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system
CN103761058A (zh) * 2014-01-23 2014-04-30 天津中科蓝鲸信息技术有限公司 Raid1和raid4混合结构网络存储系统及方法
CN108156215A (zh) * 2017-11-20 2018-06-12 广东睿江云计算股份有限公司 一种XenServer存储设备的监控方法、系统
CN110445822A (zh) * 2018-05-03 2019-11-12 中移(苏州)软件技术有限公司 一种对象存储方法及装置
CN108958970A (zh) * 2018-05-29 2018-12-07 新华三技术有限公司 一种数据恢复方法、服务器和计算机可读介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019601A (zh) * 2020-08-07 2020-12-01 烽火通信科技股份有限公司 一种基于分布式存储Ceph的两节点实现方法及系统
CN113608694A (zh) * 2021-07-27 2021-11-05 北京达佳互联信息技术有限公司 数据迁移方法、信息处理方法、装置及服务器与介质
CN113608694B (zh) * 2021-07-27 2024-03-19 北京达佳互联信息技术有限公司 数据迁移方法、信息处理方法、装置及服务器与介质

Also Published As

Publication number Publication date
CN111416753B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
US10884837B2 (en) Predicting, diagnosing, and recovering from application failures based on resource access patterns
RU2751551C1 (ru) Способ и устройство для восстановления нарушенной работоспособности узла, электронное устройство и носитель данных
US9098439B2 (en) Providing a fault tolerant system in a loosely-coupled cluster environment using application checkpoints and logs
US8127174B1 (en) Method and apparatus for performing transparent in-memory checkpointing
US8046547B1 (en) Storage system snapshots for continuous file protection
KR100974156B1 (ko) 파일 서버 재초기화 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US20120151249A1 (en) Providing transparent failover in a file system
US6654771B1 (en) Method and system for network data replication
CN109656742B (zh) 一种节点异常处理方法、装置及存储介质
CN111416753B (zh) 一种两节点Ceph集群的高可用方法
US10884871B2 (en) Systems and methods for copying an operating source volume
US5996087A (en) Program product for serializating actions of independent process groups
CN110659159A (zh) 一种服务进程运行监控方法、装置、设备及存储介质
CN110351313B (zh) 数据缓存方法、装置、设备及存储介质
US7315959B2 (en) Real-time remote backup system and related method
US20050262381A1 (en) System and method for highly available data processing in cluster system
US8555105B2 (en) Fallover policy management in high availability systems
CN110858168B (zh) 集群节点故障处理方法、装置及集群节点
US9075809B1 (en) Methods and systems for application cluster virtual nodes
CN108604201A (zh) 一种快照回滚方法、装置、存储控制器和系统
CN113986450A (zh) 一种虚拟机备份方法及装置
CN111342986A (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN115878361A (zh) 数据库集群的节点管理方法、装置及电子设备
CN109582497A (zh) 一种基于动态数据增量快速应急启动方法
CN112612652A (zh) 分布式存储系统异常节点重启方法及系统

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
GR01 Patent grant
GR01 Patent grant