CN115277606B - 一种优化drbd数据同步的方法 - Google Patents

一种优化drbd数据同步的方法 Download PDF

Info

Publication number
CN115277606B
CN115277606B CN202210917819.9A CN202210917819A CN115277606B CN 115277606 B CN115277606 B CN 115277606B CN 202210917819 A CN202210917819 A CN 202210917819A CN 115277606 B CN115277606 B CN 115277606B
Authority
CN
China
Prior art keywords
drbd
value
timeout
write
data synchronization
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.)
Active
Application number
CN202210917819.9A
Other languages
English (en)
Other versions
CN115277606A (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.)
Chengdu DBAPPSecurity Co Ltd
Original Assignee
Chengdu DBAPPSecurity 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 Chengdu DBAPPSecurity Co Ltd filed Critical Chengdu DBAPPSecurity Co Ltd
Priority to CN202210917819.9A priority Critical patent/CN115277606B/zh
Publication of CN115277606A publication Critical patent/CN115277606A/zh
Application granted granted Critical
Publication of CN115277606B publication Critical patent/CN115277606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据同步技术领域,公开了一种优化DRBD数据同步的方法,计算DRBD的单次写入请求超时时间T1和DRBD完成单次写入请求的实际耗时T2,判断T2的值是否大于T1的值,如果是,DRBD出现同步超时,用free读取DRBD系统当前内存剩余量m,调整memlimit大小和resync‑rate速率避免资源耗尽,调整ko‑count参数,使得T1的值大于T2的值,将要改动的参数自动写入DRBD的配置文件中,重启DRBD进程完成DRBD数据同步。本发明通过检测磁盘读写与网络带宽的峰值,计算出DRBD写入速率和DRBD完成单次写入请求所需时间的合理值,并自动写入DRBD配置文件中。避免DRBD同步数据超时,避免资源过度开销,提升DRBD系统的稳定性。

Description

一种优化DRBD数据同步的方法
技术领域
本发明涉及数据同步技术领域,具体地说,是一种优化DRBD数据同步的方法。
背景技术
DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群,其实现方式是通过网络来镜像整个设备。它允许用户在远程机器上建立一个本地块设备的实时镜像,与心跳连接结合使用,类似磁盘阵列的 RAID 1(镜像),只不过 RAID1是在同一台主机内,而DRBD是利用网络让不同主机内的分区成为镜像。DRBD一般使用主从模型,即在某一时刻只允许有一个主节点。主节点的作用是可以挂载使用,写入数据等;从节点只是作为主节点的镜像,是主节点的备份。因此可以有效的避免磁盘出现单点故障。两台主机在组建DRBD之初要先手动指定主机与备机,然后主备之间建立tcp连接。主机通过网络传输将自己的磁盘镜像同步给备节点。同步完成后,主备节点上的磁盘数据是一致的。如果主节点出现故障可以启用备节点继续承载业务数据。 DRBD主节点会把本地磁盘数据分段同步给备机,每一段称为一个写入请求(request)。DRBD备机每完成一个写请求之后会对主机进行响应,主机再发起下一个写入请求,直到备机把所有数据都同步完毕。而每一个request候有超时机制:如果备节点没有在规定时间内完成单次写请求就会触发超时,主备会断开重连,尝试重新同步数据。
DRBD是不同的服务器磁盘I/O瓶颈,网络带宽,系统资源占用率存在差异,所以完成单次写入请求的耗时也不相同,但是DRBD的同步超时时间是默认值,并且DRBD本身无法根据服务器的各项指标(磁盘I/O、网络带宽、资源占用)给出合理的超时时间。因此难免会出现DRBD同步超时的情况。甚至服务器会因为I/O读写持续达到瓶颈,导致资源长期被占用,服务器死机的风险。如果DRBD同步的时候频繁触发超时,那么主备节点的数据一直无法达到一致状态,上层业务就无法实现高可用。会带来一系列的风险问题:①服务器资源耗尽无法提供正常服务,甚至死机。②如果主节点故障,备节点因为没有完整的同步主节点的数据从而导致数据丢失。③如果主节点的关键数据如配置文件等,未同步至备节点,那么主备将无法完成切换,无法实现高可用。因此迫切需要一种办法来解决上述问题。
因此,本发明提出了一种优化DRBD数据同步的方法,能够合理利用服务器的资源,保证在数据同步的时候设备不会资源耗尽,不会影响整机正常运行;能够保证DRBD数据实时同步,确保主备节点的数据保持一致;同时避免设备因为数据丢失无法切换,为设备高可用提供基本保障。
发明内容
本发明的目的在于提供一种优化DRBD数据同步的方法,实现避免DRBD同步数据超时以及避免资源过度开销的功能,具有提升DRBD系统的稳定性的效果。
本发明通过下述技术方案实现:一种优化DRBD数据同步的方法,包括以下步骤:
步骤S1,计算DRBD的单次写入请求超时时间T1和DRBD完成单次写入请求的实际耗时T2;
步骤S2,判断T2的值是否大于T1的值,如果是,DRBD出现同步超时,进入步骤S3,如果否,DRBD未出现同步超时;
步骤S3,用free读取DRBD系统当前内存剩余量m,调整memlimit大小和resync-rate速率避免资源耗尽;
步骤S4,调整ko-count参数,使得T1的值大于T2的值;
步骤S5,将要改动的参数自动写入DRBD的配置文件中,重启DRBD进程完成DRBD数据同步。
为了更好地实现本发明,进一步地,所述步骤S1中DRBD的单次写入请求超时时间T1的计算方法包括:
DRBD的单次写入请求超时时间T1由timeout参数和ko-count参数控制;
T1的计算公式为T1=(timeout/10)s * (ko-count)。
为了更好地实现本发明,进一步地,所述步骤S1中DRBD完成单次写入请求的实际耗时T2的计算方法包括:
DRBD单次写请求的缓冲区大小由memlimit参数控制,DRBD的数据同步速率取决于磁盘读写速度speed1和网络实际带宽speed2的最小值;
T2的计算公式为T2=memlimit/min(speed1,speed2)。
为了更好地实现本发明,进一步地,所述磁盘读写速度speed1的获取方法包括:
用dd测试磁盘读写速度得到结果speed1。
为了更好地实现本发明,进一步地,所述网络实际带宽speed2的获取方法包括:用iperf测试主备节点之间的网络实际带宽得到结果speed2。
为了更好地实现本发明,进一步地,所述步骤S3中调整memlimit大小和resync-rate速率避免资源耗尽的方法包括:
调整memlimit大小为当前内存剩余量m的90%;
调整resync-rate速率为speed1的90%。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明可以针对不同硬件环境和网络环境下的节点计算出适合本机的DRBD数据同步配置参数,灵活性强,适配度高;
(2)本发明整个适配过程都是自动完成,无需人为干预;
(3)本发明能够避免DRBD数据同步反复超时重连,保持上层应用的高可用;
(4)本发明能够避免DRBD同步出现资源耗尽,维持DRBD系统稳定性。
附图说明
本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。
图1为本发明提供的一种优化DRBD数据同步的方法中DRBD系统的工作原理图。
图2为本发明提供的一种优化DRBD数据同步的方法的流程示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,DRBD(Distributed Replicated BlockDevice,分布式复制块设备)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。通常用于高可用集群。
Raid1,Raid1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。
高可用,两台业务系统启动着相同的服务,并由主机提供访问服务。如果主机故障,备机自动接管。我们将这个称之为高可用。
Iperf,一种测试网络传输速率的工具。
Dd,一种测试磁盘读写速度的工具。
Free,Linux命令,用于查看设备当前内存使用情况。
实施例1:
本实施例的一种优化DRBD数据同步的方法,如图1所示,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群,其实现方式是通过网络来镜像整个设备。它允许用户在远程机器上建立一个本地块设备的实时镜像,与心跳连接结合使用,可以把它看作是一种网络Raid,它允许用户在远程机器上建立一个本地块设备的实时镜像。DRBD工作在内核当中,类似于一种驱动模块。DRBD工作的位置在文件系统的buffer cache和磁盘调度器之间,通过tcp/ip发给另外一台主机到对方的tcp/ip最终发送给对方的DRBD,再由对方的DRBD存储在本地对应磁盘 上,类似于一个网络Raid1功能。在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵。本地(主节点)与远程主机(备节点)的数据可以保证实时同步。当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用。
本发明提供了一种优化DRBD数据同步的方法,通过检测磁盘读写与网络带宽的峰值,计算出DRBD写入速率和DRBD完成单次写入请求所需时间的合理值,并自动写入DRBD配置文件中,避免DRBD同步数据超时,避免资源过度开销,提升DRBD系统的稳定性。
实施例2:
本实施例在实施例1的基础上做进一步优化,如图2所示,在本实施例中,DRBD的单次写入请求超时时间T1由timeout和ko-count这两个参数控制。Timeout是一个命令行实用程序,它运行指定的命令,如果在给定的时间段后仍在运行,则终止该命令。
ko-count:该选项设定一个值,把该选项设定的值乘以 timeout设定的值,得到一个数字N,如果secondary节点没有在此时间内完成单次写请求,它将从集群中被移除(即,primary node进入StandAlong模式)。取值范围0~200,默认值为0,即禁用该功能。
计算方法是:T1=(timeout/10)s * (ko-count),timeout默认值为60s, ko-count默认值为7。即默认情况下在42秒内备节点仍未完成单次写入请求,DRBD就会超时重连。
DRBD单次写请求的缓冲区大小由memlimit参数控制,单位是MB。memlimit参数
DRBD的数据同步速率取决于磁盘读写速度(speed1)和网络实际带宽(speed2)这两者的最小值,因为在磁盘读写速率不变的情况下,网络带宽再大,DRBD同步速度也不会超过磁盘读写瓶颈。反之亦然。由此可得,DRBD完成单次写入请求的实际耗时T2=memlimit/min(speed1,speed2)。如果T2>T1,那么DRBD就会出现同步超时。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例3:
本实施例在上述实施例1或2的基础上做进一步优化,在本实施例中,DRBD资源耗尽原理如下:memlimit参数控制DRBD缓冲区大小,如果缓冲区过大把现有内存占满,会导致设备内存资源耗尽。DRBD同步速度由resync-rate参数控制,如果配置同步速度大于磁盘读写速度,那么DRBD会榨干服务器性能,长期占用磁盘I/O导致CPU资源耗尽。
本实施例的其他部分与上述实施例1或2相同,故不再赘述。
实施例4:
本实施例在上述实施例1-3任一项的基础上做进一步优化,用dd测试磁盘读写速度得到结果speed1。用iperf测试主备节点之间的网络实际带宽得到结果speed2。用free读取系统当前内存剩余量m。避免资源耗尽:①调整memlimit大小为剩余内存m的90%;②调整resync-rate速率为speed1的90%。计算单次写入请求实际耗时T2。调整ko-count参数,使得T1>T2。调整memlimit大小为剩余内存m的90%以及调整resync-rate速率为speed1的90%是为了预留10%防止服务器资源被耗尽。
本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。
实施例5:
本实施例在上述实施例1-4任一项的基础上做进一步优化,将要改动的参数自动写入DRBD的配置文件中:/etc/DRBD.d/global_common.conf。在/etc/DRBD.d/global_common.conf中,ko-count参数、memlimit参数、resync-rate参数等涉及到DRBD的参数都在这个配置文件里面,调整参数就是去更改配置文件对应参数的值。
最后重启DRBD进程,令配置生效。
本实施例的其他部分与上述实施例14任一项相同,故不再赘述
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (3)

1.一种优化DRBD数据同步的方法,其特征在于,包括以下步骤:
步骤S1,计算DRBD的单次写入请求超时时间T1和DRBD完成单次写入请求的实际耗时T2;
步骤S2,判断T2的值是否大于T1的值,如果是,DRBD出现同步超时,进入步骤S3,如果否,DRBD未出现同步超时;
步骤S3,用free读取DRBD系统当前内存剩余量m,调整memlimit大小和resync-rate速率避免资源耗尽;DRBD同步速度由resync-rate参数控制;
步骤S4,调整ko-count参数,使得T1的值大于T2的值;
步骤S5,将要改动的参数自动写入DRBD的配置文件中,重启DRBD进程完成DRBD数据同步;
所述步骤S1中DRBD的单次写入请求超时时间T1的计算方法包括:
DRBD的单次写入请求超时时间T1由timeout参数和ko-count参数控制;
T1的计算公式为T1=(timeout/10)s * (ko-count);
其中,timeout参数是设定的时间值,
ko-count参数是设定的值,且取值范围0~200;
所述步骤S1中DRBD完成单次写入请求的实际耗时T2的计算方法包括:
DRBD单次写请求的缓冲区大小由memlimit参数控制,DRBD的数据同步速率取决于磁盘读写速度speed1和网络实际带宽speed2的最小值;
T2的计算公式为T2=memlimit/min(speed1,speed2);
所述步骤S3中调整memlimit大小和resync-rate速率避免资源耗尽的方法包括:
调整memlimit大小为当前内存剩余量m的90%;
调整resync-rate速率为speed1的90%。
2.根据权利要求1所述的一种优化DRBD数据同步的方法,其特征在于,所述磁盘读写速度speed1的获取方法包括:
用dd测试磁盘读写速度得到结果speed1。
3.根据权利要求1所述的一种优化DRBD数据同步的方法,其特征在于,所述网络实际带宽speed2的获取方法包括: 用iperf测试主备节点之间的网络实际带宽得到结果speed2。
CN202210917819.9A 2022-08-01 2022-08-01 一种优化drbd数据同步的方法 Active CN115277606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210917819.9A CN115277606B (zh) 2022-08-01 2022-08-01 一种优化drbd数据同步的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210917819.9A CN115277606B (zh) 2022-08-01 2022-08-01 一种优化drbd数据同步的方法

Publications (2)

Publication Number Publication Date
CN115277606A CN115277606A (zh) 2022-11-01
CN115277606B true CN115277606B (zh) 2023-11-24

Family

ID=83746485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210917819.9A Active CN115277606B (zh) 2022-08-01 2022-08-01 一种优化drbd数据同步的方法

Country Status (1)

Country Link
CN (1) CN115277606B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486319A (zh) * 2014-12-09 2015-04-01 上海爱数软件有限公司 适用于高可用系统的配置文件实时同步方法及其系统
CN109543988A (zh) * 2018-11-16 2019-03-29 中国银行股份有限公司 优化交易超时阀值的方法、装置和存储介质
WO2019061407A1 (zh) * 2017-09-30 2019-04-04 华为技术有限公司 一种系统服务超时的处理方法及装置
CN110620681A (zh) * 2019-08-22 2019-12-27 中国平安财产保险股份有限公司 网络连接超时时间设置方法、装置、设备及介质
CN111522740A (zh) * 2020-04-10 2020-08-11 成都安恒信息技术有限公司 一种基于自然数元组的web服务器超时分析系统及分析方法
CN112887432A (zh) * 2021-03-31 2021-06-01 中国工商银行股份有限公司 分布式系统重建运维方法、运维节点及系统
CN114048059A (zh) * 2021-11-29 2022-02-15 中国平安财产保险股份有限公司 接口的超时时间调整方法、装置、计算机设备及存储介质
WO2022037171A1 (zh) * 2020-08-20 2022-02-24 苏州浪潮智能科技有限公司 一种数据请求方法、设备以及介质
CN114416885A (zh) * 2022-04-01 2022-04-29 广东睿江云计算股份有限公司 基于drbd的数据同步方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11375023B2 (en) * 2019-12-02 2022-06-28 International Business Machines Corporation Dynamically configuring a web server timeout

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486319A (zh) * 2014-12-09 2015-04-01 上海爱数软件有限公司 适用于高可用系统的配置文件实时同步方法及其系统
WO2019061407A1 (zh) * 2017-09-30 2019-04-04 华为技术有限公司 一种系统服务超时的处理方法及装置
CN109543988A (zh) * 2018-11-16 2019-03-29 中国银行股份有限公司 优化交易超时阀值的方法、装置和存储介质
CN110620681A (zh) * 2019-08-22 2019-12-27 中国平安财产保险股份有限公司 网络连接超时时间设置方法、装置、设备及介质
CN111522740A (zh) * 2020-04-10 2020-08-11 成都安恒信息技术有限公司 一种基于自然数元组的web服务器超时分析系统及分析方法
WO2022037171A1 (zh) * 2020-08-20 2022-02-24 苏州浪潮智能科技有限公司 一种数据请求方法、设备以及介质
CN112887432A (zh) * 2021-03-31 2021-06-01 中国工商银行股份有限公司 分布式系统重建运维方法、运维节点及系统
CN114048059A (zh) * 2021-11-29 2022-02-15 中国平安财产保险股份有限公司 接口的超时时间调整方法、装置、计算机设备及存储介质
CN114416885A (zh) * 2022-04-01 2022-04-29 广东睿江云计算股份有限公司 基于drbd的数据同步方法、装置、计算机设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
G. Xylomenos ; C. Tsilopoulos.Adaptive timeout policies for wireless links.20th International Conference on Advanced Information Networking and Applications - Volume 1 (AINA'06).2006,全文. *
面向机群文件系统的高可靠消息传输机制;周江;熊劲;马灿;;华中科技大学学报(自然科学版)(第S1期);全文 *

Also Published As

Publication number Publication date
CN115277606A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
CN105389230B (zh) 一种结合快照技术的持续数据保护系统及方法
CN111124301B (zh) 一种对象存储设备的数据一致性存储方法及系统
US6643671B2 (en) System and method for synchronizing a data copy using an accumulation remote copy trio consistency group
US7512757B2 (en) Computer system and control method for the computer system
US5822531A (en) Method and system for dynamically reconfiguring a cluster of computer systems
JP2003162439A (ja) ストレージシステム及びその制御方法
US8583885B1 (en) Energy efficient sync and async replication
CN105471622B (zh) 一种基于Galera的控制节点主备切换的高可用方法及系统
US8433862B2 (en) Storage system for adjusting asynchronous copy load based on cache activity rate
CN106776121B (zh) 一种数据灾备装置、系统及方法
JP2014532921A (ja) 高可用性クラスタにおけるスプリット・ブレイン耐性フェイルオーバ
CN103516736A (zh) 分布式缓存系统的数据恢复方法及装置
CN105760519A (zh) 一种集群文件系统及其文件锁分配方法
CN110099084B (zh) 一种保证存储服务可用性的方法、系统及计算机可读介质
CN114466027B (zh) 一种云原生数据库服务提供方法、系统、设备及介质
CN104980307A (zh) 数据访问请求的处理方法、装置及数据库服务器
CN103428288A (zh) 基于分区状态表和协调节点的副本同步方法
CN107357800A (zh) 一种数据库高可用零丢失解决方法
WO2020133473A1 (zh) 一种备份数据的方法、装置和系统
CN111984474B (zh) 一种双控集群故障恢复的方法、系统及设备
CN115277606B (zh) 一种优化drbd数据同步的方法
CN108460047B (zh) 数据同步方法及设备
CN100372302C (zh) 一种远程容灾系统及方法
CN111752758B (zh) 一种双主架构的InfluxDB高可用系统
CN107590024B (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