分布式文件系统的日志备份方法、系统及介质

未命名 08-05 阅读:96 评论:0


1.本发明涉及分布式文件系统技术领域,尤其涉及一种适用于智能网卡以及非易失性内存的分布式文件系统日志备份装置,具体地,涉及一种分布式文件系统的日志备份方法、系统及介质。


背景技术:

2.文件系统是操作系统的重要组成部分之一。在操作系统中,大部分的数据被储存在存储设备上,如磁盘,u盘等。而文件系统则是操作系统对于如何控制存储设备上数据的抽象。通俗地来说,文件系统决定了文件如何被命名,储存在介质上具体哪个位置,以及操作系统需要访问存储设备上的数据时如何去获取等这些操作。针对存储介质的多样性,目前的操作系统支持多种文件系统,如fat,ntfs,ext等。
3.起初,每台计算机都是为了运行某个单一的应用程序而建造的,该应用程序拥有整台机器的控制权,通过发送命令将数据直接写入存储介质,具体写入位置是由应用程序控制的;随后,运行多应用程序的计算机被开发出来,因此计算机需要一种机制引入应用程序之间写入数据的隔离性,不会相互干扰,文件系统因此被设计出来保证这一点。应用程序无需再直接与存储设备进行交互,只需要通知文件系统将数据块写入磁盘,交由文件系统去具体执行该操作。
4.可以看到,文件系统起初是为单机器设计的。然而,随着时间推移,存储需求如容量,性能以及可靠性等日益增加,单机文件系统已不能满足这些需求。分布式文件系统就是为了解决这些问题而诞生的。分布式文件系统由多台文件服务器组成,文件服务器之间通过计算机网络进行通信以及数据传输,客户端同样也是通过计算机网络与文件服务器之间交互进行数据的写入与读取。
5.然而,传统的客户端-服务器分布式文件系统架构存在着问题。在客户端-服务器架构中,数据被储存在服务器上,而客户端只负责运行应用程序,客户端的内存可以被视作一个由客户端操作系统内核管理的缓冲区。这种设计通过简单地让服务器管理数据一致性,无需进行复杂协议的设计。
6.在这种设计下,应用程序的性能被客户端访问内核缓冲区的开销所限制。当访问的数据不在内核缓冲区时,客户端需要多次网络往返以从服务器机器上获取具体数据。同时,当客户端发生故障,需要恢复重建数据的情况下,这些缓存都要重新被加载,这需要占用很高的网络带宽。
7.因此,基于非易失性内存的客户端-本地分布式文件系统架构被提出:在这种架构当中,数据被直接储存在客户端机器的非易失性内存上,而数据的一致性则通过设计具体的协议来保证同步。但是,在没有服务器端的情况下,所有的工作负载都交由客户端执行。这给客户端机器带来了额外的cpu负载,在文件操作频繁的情况下,甚至会与运行在客户端机器上的应用程序进行资源竞争,影响应用程序的性能。
8.针对这个问题,使用智能网卡进行任务卸载的分布式文件系统得以诞生。通过使
用智能网卡去卸载一些cpu占用较高的任务,如日志的复制以及发布,一致性的控制等,有效地缓解了使用客户端-本地架构时文件系统与应用程序之间的资源竞争。但是这种技术方案受到智能网卡本身架构影响,在高吞吐量的情况下系统会受限于智能网卡的pcie带宽,无法达到更高的系统吞吐量。
9.总体而言,现有的技术对于使用智能网卡以及非易失性内存下的客户端-本地分布式文件系统仍存在很大的不足。


技术实现要素:

10.针对现有技术中的缺陷,本发明提供一种分布式文件系统的日志备份方法、系统及介质。
11.根据本发明提供的一种分布式文件系统的日志备份方法、系统及介质,所述方案如下:
12.第一方面,提供了一种分布式文件系统的日志备份方法,所述方法包括:
13.步骤s1:获取文件操作信息并生成日志,将其持久化在非易失性内存上;
14.步骤s2:判断目前网卡pcie带宽的使用情况,选择直接在宿主机进行日志的复制备份或通过智能网卡卸载的方式进行日志的复制备份;
15.步骤s3:将日志从非易失性内存的私有日志区域拷贝到公有日志区域,完成日志的发布过程;
16.步骤s4:备份机器接收请求,同时将日志从非易失性内存的私有日志区域拷贝到公有日志区域;
17.步骤s5:整个系统完成一次文件操作,进行下一个文件操作。
18.优选地,所述步骤s2包括:若智能网卡占用pcie带宽比例过高,直接在宿主机进行日志的复制备份;否则,通过智能网卡卸载的方式进行日志的复制备份。
19.优选地,所述步骤s1中获取文件操作信息需通过系统调用拦截库拦截获取。
20.优选地,所述步骤s2中直接在宿主机进行日志的复制备份包括:将日志通过一次rdma write操作直接写入至备份机器的非易失性内存上的对应位置。
21.优选地,所述步骤s2中通过智能网卡卸载的方式进行日志的复制备份包括:通过发送rpc给智能网卡,由智能网卡一次rdma read或者dma read操作将日志从机器的非易失性内存上读取至网卡内存中,再进行压缩后通过一次rdma write操作将日志传输至备份机器的智能网卡,由备份机器的智能网卡解压后通过一次rdma write或者dma write操作将日志写入至备份机器的非易失性内存上的对应位置。
22.优选地,所述日志发布过程中日志的拷贝通过使用多个内核中的工作线程进行。
23.优选地,所述日志的发布过程在宿主机直接执行的情况下由宿主机直接进行日志的迁移。
24.优选地,所述日志的发布过程在使用智能网卡卸载的情况下由智能网卡发送rpc请求通知宿主机进行日志的迁移。
25.第二方面,提供了一种分布式文件系统的日志备份系统,所述系统包括:宿主机、备份机器,所述宿主机与备份机器均装有智能网卡以及非易失性内存;
26.宿主机端进行文件操作,并将生成的日志信息持久化在非易失性内存上,然后根
据整个系统资源使用情况进行判断,将日志传输给远端的备份机器。
27.第三方面,提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的分布式文件系统的日志备份方法中的步骤。
28.与现有技术相比,本发明具有如下的有益效果:
29.1、通过混合执行的方式,有效缓解使用智能网卡进行卸载时整个系统因智能网卡架构导致的pcie瓶颈,达到更高的系统吞吐;
30.2、通过混合执行的方式,有效缓解传统的客户端-本地架构下整个系统运行时高的cpu占用以及文件系统与应用程序之间的资源竞争;
31.3、利用智能网卡的算力对日志进行压缩,在不增加宿主处理器占用的前提下提升日志传输的效率。
32.本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
33.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
34.图1为发明整体流程图;
35.图2为分布式文件系统的日志复制与发布过程示意图;
36.图3为硬件装置结构示意图。
具体实施方式
37.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
38.本发明实施例提供了一种分布式文件系统的日志备份方法,参照图1所示,该方法具体包括:
39.步骤s1:获取文件操作信息并生成日志,将其持久化在非易失性内存上。其中,获取文件操作信息需通过系统调用拦截库拦截获取。
40.步骤s2:判断目前网卡pcie带宽的使用情况,选择直接在宿主机进行日志的复制备份或通过智能网卡卸载的方式进行日志的复制备份(混合执行的方式)。若智能网卡占用pcie带宽比例过高,直接在宿主机进行日志的复制备份;否则,通过智能网卡卸载的方式进行日志的复制备份(设网络带宽为n,pcie带宽为p,当宿主与网卡之间的流量小于p-n时,使用智能网卡进行卸载,否则宿主直接进行日志备份)。
41.其中,直接在宿主机进行日志的复制备份包括:将日志通过一次rdma write操作直接写入至备份机器的非易失性内存上的对应位置。本实施例中rdma write操作,是本端主动写入远端内存的行为,除了准备阶段,远端cpu不需要参与,也不感知何时有数据写入、数据在何时接收完毕。
42.通过智能网卡卸载的方式进行日志的复制备份包括:通过发送rpc(rpc一般指远程过程调用)给智能网卡,由智能网卡一次rdma read或者dma read操作将日志从机器的非易失性内存上读取至网卡内存中,再进行压缩后通过一次rdma write操作将日志传输至备份机器的智能网卡,由备份机器的智能网卡解压后通过一次rdma write或者dma write操作将日志写入至备份机器的非易失性内存上的对应位置。本实施例中dma read/write操作,是智能网卡端主动访问宿主端内存,进行内存拷贝的行为,除了准备阶段,宿主端cpu不需要参与,也不感知何时有数据被远端读取。而本实施例中rdma read操作是本端主动读取远端内存的行为,除了准备阶段,远端cpu不需要参与,也不感知何时有数据被读取。
43.步骤s3:将日志从非易失性内存的私有日志区域拷贝到公有日志区域,完成日志的发布过程。
44.步骤s4:备份机器接收请求,同时将日志从非易失性内存的私有日志区域拷贝到公有日志区域。
45.日志发布过程中日志的拷贝通过使用多个内核中的工作线程进行,日志的发布过程在宿主机直接执行的情况下由宿主机直接进行日志的迁移,日志的发布过程在使用智能网卡卸载的情况下由智能网卡发送rpc请求通知宿主机进行日志的迁移。
46.步骤s5:整个系统完成一次文件操作,进行下一个文件操作。
47.本发明还提供了一种分布式文件系统的日志备份系统,该系统包括:宿主机、备份机器,所述宿主机与备份机器均装有智能网卡以及非易失性内存;
48.宿主机端进行文件操作,并将生成的日志信息持久化在非易失性内存上,然后根据整个系统资源使用情况进行判断,将日志传输给远端的备份机器。
49.接下来,对本发明进行更为具体的说明。
50.参照图2所示,为本发明进行文件write操作的具体流程,完成分布式文件系统的日志复制与发布过程。下面以两台处于智能网卡以及非易失性内存环境下的计算机为例,结合图1对以下步骤进行详细描述:
51.1)在该步骤中,主要机器上的应用程序调用了一个write操作对某个文件进行数据写入,然后执行步骤2);
52.2)该步骤中,主要机器上的文件系统将这个write的系统调用拦截下来,然后执行步骤3);
53.3)该步骤中,主要机器上的文件系统获取write操作的数据,根据这些数据生成了日志,然后执行步骤4);
54.4)该步骤中,主要机器判断目前智能网卡占用pcie带宽比例过高,若是,则执行步骤10);否则执行步骤5);
55.5)该步骤中,主要机器发送rpc给智能网卡,然后进入步骤6);
56.6)该步骤中,主要机器的智能网卡通过一次rdma read或者dma read从宿主机的非易失性内存上读取日志,然后进入步骤7);
57.7)该步骤中,主要机器的智能网卡将读取到的日志进行压缩,然后通过一次rdma write操作将压缩后的日志写入备份机器的智能网卡,然后进入步骤8);
58.8)该步骤中,备份机器的智能网卡将日志进行解压,并通过一次rdma write或者dma write操作将日志写入备份机器的非易失性内存上,然后进入步骤10);
59.9)该步骤中,主要机器直接通过一次rdma write操作将日志写入到备份机器的非易失性内存上,然后进入步骤10);
60.10)该步骤中,主要机器和备份机器进行日志的发布操作,将日志从应用程序的私有区域发布到所有应用程序可见的公有区域。
61.如图3所示,本发明把多台装配有智能网卡以及非易失性内存的计算机组成成一个系统,实现新型的客户端-本地分布式文件系统。本发明由多台配有智能网卡以及非易失性内存的计算机组成。
62.本发明实施例提供了一种分布式文件系统的日志备份方法、系统及介质,能更好的利用智能网卡和宿主机之间的带宽,能利用智能网卡的额外算力进行数据压缩以提升网络传输效率,同时不占用额外的宿主机处理器。
63.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
64.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。

技术特征:
1.一种分布式文件系统的日志备份方法,其特征在于,包括:步骤s1:获取文件操作信息并生成日志,将其持久化在非易失性内存上;步骤s2:判断目前网卡pcie带宽的使用情况,选择直接在宿主机进行日志的复制备份或通过智能网卡卸载的方式进行日志的复制备份;步骤s3:将日志从非易失性内存的私有日志区域拷贝到公有日志区域,完成日志的发布过程;步骤s4:备份机器接收请求,同时将日志从非易失性内存的私有日志区域拷贝到公有日志区域;步骤s5:整个系统完成一次文件操作,进行下一个文件操作。2.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述步骤s2包括:若智能网卡占用pcie带宽比例过高,直接在宿主机进行日志的复制备份;否则,通过智能网卡卸载的方式进行日志的复制备份。3.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述步骤s1中获取文件操作信息需通过系统调用拦截库拦截获取。4.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述步骤s2中直接在宿主机进行日志的复制备份包括:将日志通过一次rdma write操作直接写入至备份机器的非易失性内存上的对应位置。5.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述步骤s2中通过智能网卡卸载的方式进行日志的复制备份包括:通过发送rpc给智能网卡,由智能网卡一次rdma read或者dma read操作将日志从机器的非易失性内存上读取至网卡内存中,再进行压缩后通过一次rdma write操作将日志传输至备份机器的智能网卡,由备份机器的智能网卡解压后通过一次rdma write或者dma write操作将日志写入至备份机器的非易失性内存上的对应位置。6.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述日志发布过程中日志的拷贝通过使用多个内核中的工作线程进行。7.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述日志的发布过程在宿主机直接执行的情况下由宿主机直接进行日志的迁移。8.根据权利要求1所述的分布式文件系统的日志备份方法,其特征在于,所述日志的发布过程在使用智能网卡卸载的情况下由智能网卡发送rpc请求通知宿主机进行日志的迁移。9.一种分布式文件系统的日志备份系统,基于权利要求1-8任意一项所述的分布式文件系统的日志备份方法,其特征在于,包括:宿主机、备份机器,所述宿主机与备份机器均装有智能网卡以及非易失性内存;宿主机端进行文件操作,并将生成的日志信息持久化在非易失性内存上,然后根据整个系统资源使用情况进行判断,将日志传输给远端的备份机器。10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的分布式文件系统的日志备份方法中的步骤。

技术总结
本发明提供了一种分布式文件系统的日志备份方法、系统及介质,涉及分布式文件系统技术领域,包括:步骤S1:获取文件操作信息并生成日志,将其持久化在非易失性内存上;步骤S2:判断目前网卡PCIe带宽的使用情况,选择直接在宿主机进行日志的复制备份或通过智能网卡卸载的方式进行日志的复制备份;步骤S3:将日志从非易失性内存的私有日志区域拷贝到公有日志区域,完成日志的发布过程;步骤S4:备份机器接收请求,同时将日志从非易失性内存的私有日志区域拷贝到公有日志区域;步骤S5:整个系统完成一次文件操作,进行下一个文件操作。本发明能更好的利用智能网卡和宿主机之间的带宽,能利用智能网卡的额外算力进行数据压缩以提升网络传输效率,同时不占用额外的宿主机处理器。器。器。


技术研发人员:魏星达 杨宇晗 陈榕 陈海波
受保护的技术使用者:上海交通大学
技术研发日:2023.05.15
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐