CN113505111B - 一种共享目录挂载方法及分布式网络附加存储系统 - Google Patents
一种共享目录挂载方法及分布式网络附加存储系统 Download PDFInfo
- Publication number
- CN113505111B CN113505111B CN202110691189.3A CN202110691189A CN113505111B CN 113505111 B CN113505111 B CN 113505111B CN 202110691189 A CN202110691189 A CN 202110691189A CN 113505111 B CN113505111 B CN 113505111B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- partition
- client
- shared directory
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000005192 partition Methods 0.000 claims description 324
- 230000004044 response Effects 0.000 claims description 44
- 238000007726 management method Methods 0.000 abstract description 93
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000000125 metastable de-excitation spectroscopy Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 102100039121 Histone-lysine N-methyltransferase MECOM Human genes 0.000 description 2
- 101001033728 Homo sapiens Histone-lysine N-methyltransferase MECOM Proteins 0.000 description 2
- 101001056394 Homo sapiens Myelodysplastic syndrome 2 translocation-associated protein Proteins 0.000 description 2
- 102100026313 Myelodysplastic syndrome 2 translocation-associated protein Human genes 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 102100038804 FK506-binding protein-like Human genes 0.000 description 1
- 101001031402 Homo sapiens FK506-binding protein-like Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Abstract
本申请涉及数据存储技术领域,特别涉及一种共享目录挂载方法及分布式网络附加存储系统。该方法包括:管理节点接收客户端发送的域名解析请求,并基于域名解析请求确定客户端列表中是否存在客户端对应的表项;若确定客户端列表中不存在客户端对应的表项,则为客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得第一节点基于该虚IP与客户端建立关联关系;将该虚IP推送给客户端,以使得客户端向第一节点发送共享目录挂载请求;以及在客户端列表中生成客户端对应的表项;第一节点在接收客户端发送的共享目录挂载请求后,判断自身是否为执行访问共享目录的节点;若判定自身为执行访问共享目录的节点,则执行共享目录的挂载操作。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种共享目录挂载方法及分布式网络附加存储系统。
背景技术
随着5G时代的到来,全球互联网和企业数据量呈爆炸式增长,其中非结构化数据占据了80%以上的份额,分布式NAS集群技术在存储这些非结构化数据中扮演了重要角色。随着数据规模的增长,分布式NAS集群的部署规模越来越大,同时对分布式NAS集群在容量和性能等方面也提出了更高的要求。
分布式NAS集群通常对外提供NFS(Network File System,网络文件系统)和CIFS(Common Internet File System,通用因特网文件系统)服务。采用cephfs作为NAS集群的底层实现时,NFS和CIFS服务的守护程序作为cephfs的客户端,且NFS/CIFS服务守护进程通常和cephfs的元数据服务程序进行融合部署,为了表述方便,后面均只以NFS为例,CIFS协议原理相同,并以NFSD表示提供NFS服务的守护程序。
目前,MDS(Metadata Server,元数据服务器)集群不感知每个NFSD提供服务的共享目录路径,MDS集群对他们等同视之,MDS集群根据自己的负载均衡算法将文件系统子树打散到各个MDS中。这样一方面导致NFSD需要大量跨节点通信去访问元数据,影响性能。
且每个NFSD独立提供服务,并依赖DNS做负载均衡,这样就会存在不同节点上的NFSD可能提供相同共享目录的服务,导致两个甚至更多节点NFSD需要频繁地与MDS交互以避免数据/元数据不一致的问题,同时数据缓存也会失效,极大地影响业务性能。
发明内容
本申请提供了一种共享目录挂载方法及分布式网络附加存储系统,用以解决现有技术中存在的由于跨节点元数据访问和/或元数据交换而导致系统业务性能降低的问题。
第一方面,本申请提供了一种共享目录挂载方法,应用于包括运行有负载均衡组件的管理节点和若干业务节点的分布式NAS网络附加存储系统,其中,所述管理节点维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP;所述方法包括:
所述管理节点接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项;
所述管理节点若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得所述第一节点基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空;
所述第一节点在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点;
若所述第一节点判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
可选地,所述方法还包括:
若所述第一节点判定自身不是执行访问所述目标共享目录的节点,则向所述管理节点发送第一消息;
所述管理节点在接收到所述第一消息后,判断本地维护的分区列表中是否存在所述目标共享目录对应的目标分区;
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息为空,则从所述目标分区记录的各节点中确定出第二节点,向所述第一节点发送应答消息,以使得所述第一节点与所述目标客户端断开连接,并解绑与所述目标客户端之间的关联关系,以及将该虚IP推送给所述第二节点,以使得所述第二节点基于该虚IP与所述目标客户端建立关联关系,其中,所述目标客户端在检测到与所述第一节点断开连接之后,基于该虚IP与所述第二节点建立连接,并向所述第二节点发送目标共享目录挂载请求;
所述第二节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
可选地,从所述目标分区记录的各节点中确定出第二节点的步骤包括:
所述管理节点从所述目标分区中获取节点列表;
所述管理节点去除所述节点列表中节点负载大于设定阈值的节点,并将所述节点列表除节点负载大于设定阈值的节点之外的其他节点中负载最大的节点确定为第二节点。
可选地,所述方法还包括:
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息不为空,则将所述第一节点添加至所述目标分区,以使得所述第一节点为执行访问所述目标共享目录的节点,并将所述目标分区添加至所述目标表项的分区集合;
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
可选地,所述方法还包括:
若所述管理节点判定本地维护的分区列表中不存在所述目标共享目录对应的目标分区,则在所述分区列表中创建一个分区,其中,所述一个分区的共享目录为所述目标共享目录,用于执行访问所述一个分区的节点为所述第一节点;
所述管理节点将所述一个分区添加至所述目标客户端对应的目标表项的分区集合中,
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
第二方面,本申请提供了一种分布式NAS网络附加存储系统,所述系统包括运行有负载均衡组件的管理节点和若干业务节点,其中,所述管理节点维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP,其中,
所述管理节点接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项;
所述管理节点若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得所述第一节点基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空;
所述第一节点在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点;
若所述第一节点判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
可选地,若所述第一节点判定自身不是执行访问所述目标共享目录的节点,则向所述管理节点发送第一消息;
所述管理节点在接收到所述第一消息后,判断本地维护的分区列表中是否存在所述目标共享目录对应的目标分区;
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息为空,则从所述目标分区记录的各节点中确定出第二节点,向所述第一节点发送应答消息,以使得所述第一节点与所述目标客户端断开连接,并解绑与所述目标客户端之间的关联关系,以及将该虚IP推送给所述第二节点,以使得所述第二节点基于该虚IP与所述目标客户端建立关联关系,其中,所述目标客户端在检测到与所述第一节点断开连接之后,基于该虚IP与所述第二节点建立连接,并向所述第二节点发送目标共享目录挂载请求;
所述第二节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
可选地,从所述目标分区记录的各节点中确定出第二节点时,所述管理节点具体用于:
所述管理节点从所述目标分区中获取节点列表;
所述管理节点去除所述节点列表中节点负载大于设定阈值的节点,并将所述节点列表除节点负载大于设定阈值的节点之外的其他节点中负载最大的节点确定为第二节点。
可选地,若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息不为空,则将所述第一节点添加至所述目标分区,以使得所述第一节点为执行访问所述目标共享目录的节点,并将所述目标分区添加至所述目标表项的分区集合;
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
可选地,若所述管理节点判定本地维护的分区列表中不存在所述目标共享目录对应的目标分区,则在所述分区列表中创建一个分区,其中,所述一个分区的共享目录为所述目标共享目录,用于执行访问所述一个分区的节点为所述第一节点;
所述管理节点将所述一个分区添加至所述目标客户端对应的目标表项的分区集合中,
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
第三方面,本申请实施例提供一种管理节点,该管理节点包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述应用于管理节点的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述应用于管理节点方法的步骤。
第五方面,本申请实施例提供一种业务节点,该业务节点包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述应用于业务节点的方法的步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述应用于业务节点方法的步骤。
综上可知,本申请实施例提供的共享目录挂载方法,应用于包括运行有负载均衡组件的管理节点和若干业务节点的分布式NAS网络附加存储系统,其中,所述管理节点维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP;所述方法包括:所述管理节点接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项;所述管理节点若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得所述第一节点基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空;所述第一节点在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点;若所述第一节点判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
采用本申请实施例提供的共享目录挂载方法,显著减少NFSD跨节点访问MDS的频率,有效降低集群内元数据访问网络通信的开销。能够将访问同一个共享目录的客户端聚合到同一个分区中,有效降低网络协议服务组件中元数据缓存/数据缓存的冲突,从而能够显著提升基于cephfs的分布式NAS集群的整体性能。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种共享目录挂载方法的详细流程图;
图2为本申请实施例提供的一种分布式NAS系统的结构示意图;
图3为本申请实施例提供的一种管理节点的结构示意图;
图4为本申请实施例提供的一种业务的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种共享目录挂载方法的详细流程图,该方法应用于包括运行有负载均衡组件的管理节点和若干业务节点的分布式NAS网络附加存储系统,其中,所述管理节点维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP;该方法包括以下步骤:
步骤100:所述管理节点接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项。
具体地,本申请实施例提供的一种分布式NAS(Network Attached Storage,网络附加存储)系统可以包括多个提供业务服务的节点,其中,该多个提供业务服务的节点又可以分为一个或多个运行有负载均衡组件,NFS服务和MDS服务的管理节点,一个或多个仅运行有NFS服务和MDS服务的业务节点。本申请实施例中,各节点(包括管理节点和业务节点)维护有一个分区列表(如,各节点的MDS和/或NFSD中保存有一个分区列表),该分区列表包括各分区分别对应的表项,一个分区对应的表项可以包括如下信息:分区标识(如,分区ID),该分区包括的共享目录路径,属于该分区的MSD列表(即用于执行访问该共享目录的节点);进一步地,管理节点的负载均衡组件包括定制的DNS服务器,可用的虚IP地址集合,维护有每个MDS的负载统计信息,各节点负载统计信息,客户端列表和分区列表,其中:
可用的虚IP地址集合,该集合由管理员根据实际的业务情况进行预先配置,对可能存在的客户端最大连接数进行评估,然后配置等量数目的虚IP地址。
每个MDS的负载统计信息,由每个MDS定时上报给本组件,以单位时间内MDS进行的inode读、inode写、目录读、元数据池读请求、元数据池写请求、客户端请求数量等因素综合计算出来的负载值。体现了MDS最新的工作负载情况。
节点负载统计信息,由节点负载监控组件定时上报给本组件,以节点的内存使用情况、CPU使用情况、网络使用情况等因素综合计算出来的负载值,体现节点的最新工作负载
客户端列表:每个客户端包含如下信息,客户端IP,分配给该客户端的虚拟IP,客户端访问的分区标识(分区ID)。
例如,客户端列表格式如下:
其中,10.10.10.1为客户端IP,192.100.100.1为分配给该客户端的虚IP,分区1为客户端访问的分区ID。
分区列表:每个分区包含如下信息:分区ID、分区共享目录路径、属于该分区的节点列表。其中节点列表中每个节点信息又包含如下信息:节点ID、分配给该节点,且提供分区共享目录路径的虚IP列表。
例如,分区列表格式如下:
其中,分区1为分区ID,“/PATH/TO/DIR1”为分区1包括的共享目录的路径,nodeC:[192.100.100.3]为用于执行访问该共享目录的节点信息,nodeC为节点信息包括的节点ID、192.100.100.3为与nodeC关联的客户端的虚IP。
本申请实施例中,客户端可以以域名方式进行mount,那么,客户端就可以向管理节点包括的DNS服务器发送域名解析请求,管理节点在接收到目标客户端发送的域名解析请求之后,判断本地维护的客户端列表中是否存在与该目标客户端匹配的表项。即判断本地维护的客户端列表中是否有表项中记录的客户端IP为该目标客户端的IP。
步骤110:所述管理节点若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得所述第一节点基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空。
也就是说,若管理节点确定本地维护的客户端列表中不存在与该目标客户端匹配的表项,则需要从预设的虚IP集合中为该目标客户端分配一个虚IP,并在客户端列表中增加该目标客户端对应的目标表项,记录该目标客户端的IP,为该目标客户端分配的虚IP,由于此时不能判断目标客户端访问哪个共享目录,目标客户端对应的目标表项中的客户端访问的分区信息为空。管理节点根据各节点的负载情况,选择系统中一个负载最轻的节点(第一节点),将该虚IP推送给第一节点,第一节点在接收到该虚IP后,建立自身与该虚IP之间的关联关系(如,在虚拟网卡上配置该虚IP),管理节点将该虚IP返回给目标客户端,目标客户端在接收到该虚IP后,基于该虚IP向第一节点发送mount请求。
步骤120:所述第一节点在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点。
具体地,第一节点在收到目标客户端发送的mount请求后,获取该mount请求包括的目标共享目录参数(如,目标共享目录路径),判断第一节点自身是否为执行访问该目标共享目录的节点。
例如,第一节点查找本地维护的分区列表中是否存在与该目标共享目录对应的分区信息。若存在与该目标共享目录对应的分区信息,且对应分区信息中包括第一节点,则确定第一节点为执行该目标共享目录的节点,否则,确定第一节点不是执行该目标共享目录的节点。
步骤130:若所述第一节点判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
具体地,若第一节点确定本地维护的分区列表中存在与该目标共享目录对应的分区信息,且对应分区信息中包括第一节点,则确定第一节点为执行该目标共享目录的节点,则继续执行mount操作,若mount成功,则mount流程结束。
进一步地,若所述第一节点判定自身不是执行访问所述目标共享目录的节点,则向所述管理节点发送第一消息;
所述管理节点在接收到所述第一消息后,判断本地维护的分区列表中是否存在所述目标共享目录对应的目标分区;
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息为空,则从所述目标分区记录的各节点中确定出第二节点,向所述第一节点发送应答消息,以使得所述第一节点与所述目标客户端断开连接,并解绑与所述目标客户端之间的关联关系,以及将该虚IP推送给所述第二节点,以使得所述第二节点基于该虚IP与所述目标客户端建立关联关系,其中,所述目标客户端在检测到与所述第一节点断开连接之后,基于该虚IP与所述第二节点建立连接,并向所述第二节点发送目标共享目录挂载请求;
所述第二节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
本申请实施例中,管理节点从所述目标分区记录的各节点中确定出第二节点时,一种较佳地实现方式为,所述管理节点从所述目标分区中获取节点列表;所述管理节点去除所述节点列表中节点负载大于设定阈值的节点,并将所述节点列表除节点负载大于设定阈值的节点之外的其他节点中负载最大的节点确定为第二节点。
例如,管理节点执行全局查找,判断本地维护的分区列表中是否存在与该目标共享目录匹配的分区,若判定存在目标共享目录对应分区,且客户端列表中该目标客户端对应的分区信息为空,则从该分区中获取节点列表,剔除掉节点负载已经超过阈值的节点,再从剩下的节点集合中选择其中负载最大的节点,设为第二节点,将虚IP推送至第二节点,第二节点绑定该虚IP。
具体地,上述阈值可以根据节点的CPU、内存和网络带宽能力决定,超过阈值则说明该节点的处理能力达到和接近达到它的处理能力极限,否则该节点仍然有资源能够处理新的请求,这里选择负载最大的节点,是为了增加提供相同共享目录服务的节点聚集度。
管理节点发送事件应答给第一节点,应答类型为解绑虚IP,第一节点收到应答后,断开与目标客户端的连接并解绑虚IP;目标客户端检测到连接断开,重新发起相同虚IP的连接请求,此时会连接到第二节点,继续执行mount请求直到mount成功。
更进一步地,若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息不为空,则将所述第一节点添加至所述目标分区,以使得所述第一节点为执行访问所述目标共享目录的节点,并将所述目标分区添加至所述目标表项的分区集合;
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
例如,管理节点执行全局查找,判断本地维护的分区列表中是否存在与该目标共享目录匹配的分区,若判定存在目标共享目录对应分区(如,分区1),但该客户端的分区集合不为空,说明该客户端同时在访问多个共享目录,此时,将第一节点加入到分区的节点列表中,并将分区插入客户端列表中目标客户端对应的目标表项的分区集合中;以及将修改分区信息的任务给MDS集群中的所有MDS服务,修改点为分区的MDS列表中新增了第一节点的MDS。
管理节点发送事件应答给第一节点的NFSD服务,应答类型为新建分区,并附带分区信息;第一节点的NFSD服务在接收到应答后,进行分区初始化,完成后继续执行mount流程,mount成功,流程结束。
更进一步地,若所述管理节点判定本地维护的分区列表中不存在所述目标共享目录对应的目标分区,则在所述分区列表中创建一个分区,其中,所述一个分区的共享目录为所述目标共享目录,用于执行访问所述一个分区的节点为所述第一节点;
所述管理节点将所述一个分区添加至所述目标客户端对应的目标表项的分区集合中,
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
例如,管理节点执行全局查找,判断本地维护的分区列表中是否存在与该目标共享目录匹配的分区,若判定不存在目标共享目录对应分区,则在分区列表中新建一个分区,初始化分区共享目录路径为目标共享目录,节点列表为第一节点;客户端列表中目标客户端对应的目标表项的分区集合中;
管理节点发送创建分区的任务给MDS集群中的所有MDS服务,参数包含分区ID,共享目录,分区包含的MDS列表,其中MDS列表初始化为第一节点的MDS。
管理节点发送事件应答给第一节点的NFSD服务,应答类型为新建分区,并附带分区信息;第一节点的NFSD服务在接收到应答后,发现是新建分区,则进行分区初始化,完成后继续执行mount流程,mount成功,流程结束。
接着,客户端umount共享目录流程可以如下:
客户端发起umount(解挂文件系统)流程给节点x的NFSD,节点x的NFSD发送umount事件给负载均衡组件(管理节点);负载均衡组件收到事件后进行如下处理:
令is_shrink_zone表示是否需要从分区中移除节点,默认为false;
令is_remove_zone表示是否需要移除分区,默认为false;
令is_relaim_vip表示是否需要回收虚ip,默认为false;
从分区列表中找对应分区,在其中的节点列表中找到节点x,从节点x的虚IP列表中删除客户端对应的虚IP。如果此时虚IP列表为空,则将is_shrink_zone置为true,并将节点x从节点列表中移除,如果此时分区的节点列表也空,则将is_remove_zone置为true,并将分区信息从分区列表中移除。
从客户端列表中找到该客户端,并从分区集合中移除当前分区,若分区集合为空,则从客户端列表中删除该客户端信息,并将is_reclaim_vip置为true;
若is_remove_zone为true,此时忽略is_shrink_zone的值,发送移除分区信息的任务给MDS集群的所有MDS,随后发送应答给给节点x的NFSD,应答类型为移除分区,并附带分区信息,以及is_relaim_vip的值;
否则,若is_shink_zone为true,则发送修改分区信息的任务给所有MDS,修改内容为,从MDS列表中移除了节点x的MDS,随后发送应答给给节点x的NFSD,应答类型为移除分区,并附带分区信息,以及is_relaim_vip的值;
否则,is_remove_zone和is_shrink_zone都为false,则发送应答给节点x的NFSD,应答类型为normal,并附带is_relaim_vip的值;
如果is_relaim_vip的值为true,则将虚IP重新添加回可用虚IP集合;
节点x的NFSD收到事件应答后,继续处理umount请求直到成功,最后根据应答参数按需进行移除分区和解绑虚IP。
进一步地,本申请实施例中,共享目录解挂的过程包括:
客户端发起umount(解挂文件系统)流程给节点x的NFSD;节点x的NFSD发送umount事件给管理节点的负载均衡组件。
管理节点的负载均衡组件收到事件后进行如下处理:
令is_shrink_zone表示是否需要从分区中移除节点,默认为false;
令is_remove_zone表示是否需要移除分区,默认为false;
令is_relaim_vip表示是否需要回收虚ip,默认为false;
从分区列表中找对应分区,在其中的节点列表中找到节点x,从节点x的虚IP列表中删除客户端对应的虚IP。如果此时虚IP列表为空,则将is_shrink_zone置为true,并将节点x从节点列表中移除,如果此时分区的节点列表也空,则将is_remove_zone置为true,并将分区信息从分区列表中移除。
从客户端列表中找到该客户端,并从分区集合中移除当前分区,若分区集合为空,则从客户端列表中删除该客户端信息,并将is_reclaim_vip置为true;
若is_remove_zone为true,此时忽略is_shrink_zone的值,发送移除分区信息的任务给MDS集群的所有MDS,随后发送应答给给节点x的NFSD,应答类型为移除分区,并附带分区信息,以及is_relaim_vip的值;
否则,若is_shink_zone为true,则发送修改分区信息的任务给所有MDS,修改内容为,从MDS列表中移除了节点x的MDS,随后发送应答给给节点x的NFSD,应答类型为移除分区,并附带分区信息,以及is_relaim_vip的值;
否则,is_remove_zone和is_shrink_zone都为false,则发送应答给节点x的NFSD,应答类型为normal,并附带is_relaim_vip的值;
如果is_relaim_vip的值为true,则将虚IP重新添加回可用虚IP集合。
节点x的NFSD收到事件应答后,继续处理umount请求直到成功,最后根据应答参数按需进行移除分区和解绑虚IP。
更进一步地,MDS增加分区的概念后,需要进行如下操作:
例如,后台定期扫描本MDS的权威子树,如果当前权威子树属于某个分区,但所在分区的MDS列表不包含本MDS,说明当前权威子树有偏差,此时从目标MDS集合中选择负载最小的MDS作为目标MDS,将当前权威子树迁移到目标MDS中;如果当前权威子树不属于任何分区,则计算MDS集群中,不属于任何分区的MDS集合,若该集合不为空,则从中选择负载最小的MDS作为目标MDS,将权威子树迁移到目标MDS中。
MDS增加分区的概念后,MDS的负载均衡功能实现如下:
MDS负载信息只在分区内的MDS之间进行同步,每个MDS的负载包括本分区的各个子树负载和其他分区的所有子树的负载之和。
判断负载大小是综合考虑其他分区在这个MDS上的负载,如果分区中MDS1的总负载为200,但属于本分区的负载只有80,分区中的MDS2的总负载为100,属于本分区的负载为100,仍然需要将部分子树从MDS1迁移到MDS2。
MDS在进行某个分区的负载均衡和子树迁移过程中,如果该MDS还属于其他分区,则不允许这些分区同时进行负载均衡和子树迁移。
分区的子树迁移限定在属于这个分区的MDS之间进行。
这样,就实现了将NFSD的挂载目录与MDS权威子树的目录对应上,尽量将挂载目录和权威子树目录都绑定到同一个分区,大大降低了跨节点通信的概率。
基于与上述方法实施例同样的发明构思。示例性的,参阅图2所示,为本申请实施例提供的一种分布式NAS系统的结构示意图,该系统包括运行有负载均衡组件的管理节点20和若干业务节点,其中,所述管理节点20维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP,其中,
所述管理节点20接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项;
所述管理节点20若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点21,以使得所述第一节点21基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点21发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空;
所述第一节点21在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点;
若所述第一节点21判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
可选地,若所述第一节点21判定自身不是执行访问所述目标共享目录的节点,则向所述管理节点20发送第一消息;
所述管理节点20在接收到所述第一消息后,判断本地维护的分区列表中是否存在所述目标共享目录对应的目标分区;
若所述管理节点20判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息为空,则从所述目标分区记录的各节点中确定出第二节点22,向所述第一节点21发送应答消息,以使得所述第一节点21与所述目标客户端断开连接,并解绑与所述目标客户端之间的关联关系,以及将该虚IP推送给所述第二节点22,以使得所述第二节点22基于该虚IP与所述目标客户端建立关联关系,其中,所述目标客户端在检测到与所述第一节点21断开连接之后,基于该虚IP与所述第二节点22建立连接,并向所述第二节点22发送目标共享目录挂载请求;
所述第二节点22在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
可选地,从所述目标分区记录的各节点中确定出第二节点22时,所述管理节点20具体用于:
所述管理节点20从所述目标分区中获取节点列表;
所述管理节点20去除所述节点列表中节点负载大于设定阈值的节点,并将所述节点列表除节点负载大于设定阈值的节点之外的其他节点中负载最大的节点确定为第二节点22。
可选地,若所述管理节点20判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息不为空,则将所述第一节点21添加至所述目标分区,以使得所述第一节点21为执行访问所述目标共享目录的节点,并将所述目标分区添加至所述目标表项的分区集合;
所述管理节点20向所述第一节点21发送应答消息,以使得所述第一节点21在本地的分区信息中记录所述目标分区;
所述第一节点21在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
可选地,若所述管理节点20判定本地维护的分区列表中不存在所述目标共享目录对应的目标分区,则在所述分区列表中创建一个分区,其中,所述一个分区的共享目录为所述目标共享目录,用于执行访问所述一个分区的节点为所述第一节点21;
所述管理节点20将所述一个分区添加至所述目标客户端对应的目标表项的分区集合中,
所述管理节点20向所述第一节点21发送应答消息,以使得所述第一节点21在本地的分区信息中记录所述目标分区;
所述第一节点21在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的管理节点,从硬件层面而言,所述管理节点的硬件架构示意图可以参见图3所示,所述管理节点可以包括:存储器30和处理器31,
存储器30用于存储程序指令;处理器31调用存储器30中存储的程序指令,按照获得的程序指令执行上述应用于管理节点的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种管理节点,包括用于执行上述应用于管理节点的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于管理节点的方法实施例。
进一步地,本申请实施例提供的业务节点,从硬件层面而言,所述业务节点的硬件架构示意图可以参见图4所示,所述管理节点可以包括:存储器40和处理器41,
存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述应用于业务节点的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种业务节点,包括用于执行上述应用于业务节点的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于业务节点的方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种共享目录挂载方法,其特征在于,应用于包括运行有负载均衡组件的管理节点和若干业务节点的分布式NAS网络附加存储系统,其中,所述管理节点维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP;所述方法包括:
所述管理节点接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项;
所述管理节点若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得所述第一节点基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空;
所述第一节点在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点;
若所述第一节点判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一节点判定自身不是执行访问所述目标共享目录的节点,则向所述管理节点发送第一消息;
所述管理节点在接收到所述第一消息后,判断本地维护的分区列表中是否存在所述目标共享目录对应的目标分区;
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息为空,则从所述目标分区记录的各节点中确定出第二节点,向所述第一节点发送应答消息,以使得所述第一节点与所述目标客户端断开连接,并解绑与所述目标客户端之间的关联关系,以及将该虚IP推送给所述第二节点,以使得所述第二节点基于该虚IP与所述目标客户端建立关联关系,其中,所述目标客户端在检测到与所述第一节点断开连接之后,基于该虚IP与所述第二节点建立连接,并向所述第二节点发送目标共享目录挂载请求;
所述第二节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
3.如权利要求2所述的方法,其特征在于,从所述目标分区记录的各节点中确定出第二节点的步骤包括:
所述管理节点从所述目标分区中获取节点列表;
所述管理节点去除所述节点列表中节点负载大于设定阈值的节点,并将所述节点列表除节点负载大于设定阈值的节点之外的其他节点中负载最大的节点确定为第二节点。
4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息不为空,则将所述第一节点添加至所述目标分区,以使得所述第一节点为执行访问所述目标共享目录的节点,并将所述目标分区添加至所述目标表项的分区集合;
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
5.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
若所述管理节点判定本地维护的分区列表中不存在所述目标共享目录对应的目标分区,则在所述分区列表中创建一个分区,其中,所述一个分区的共享目录为所述目标共享目录,用于执行访问所述一个分区的节点为所述第一节点;
所述管理节点将所述一个分区添加至所述目标客户端对应的目标表项的分区集合中,
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
6.一种分布式NAS网络附加存储系统,其特征在于,所述系统包括运行有负载均衡组件的管理节点和若干业务节点,其中,所述管理节点维护有客户端列表和分区列表,所述客户端列表中一个客户端对应的表项记录有该客户端的IP、该客户端的虚拟IP和分区集合,所述分区列表中一个分区对应的表项记录有该分区标识、该分区包括的共享目录的路径,用于执行访问该共享目录的节点信息,一个节点信息包括该节点ID、与该节点关联的客户端的虚IP,其中,
所述管理节点接收目标客户端发送的域名解析请求,并基于所述域名解析请求确定客户端列表中是否存在所述目标客户端对应的表项;
所述管理节点若确定所述客户端列表中不存在所述目标客户端对应的表项,则为所述目标客户端分配一个虚IP,并将该虚IP推送给第一节点,以使得所述第一节点基于该虚IP与所述目标客户端建立关联关系;将该虚IP推送给所述目标客户端,以使得所述目标客户端向所述第一节点发送目标共享目录挂载请求;以及在所述客户端列表中生成所述目标客户端对应的目标表项,其中,所述目标表项中的分区信息为空;
所述第一节点在接收所述目标客户端发送的目标共享目录挂载请求后,判断自身是否为执行访问所述目标共享目录的节点;
若所述第一节点判定自身为执行访问所述目标共享目录的节点,则执行所述目标共享目录的挂载操作。
7.如权利要求6所述的系统,其特征在于,
若所述第一节点判定自身不是执行访问所述目标共享目录的节点,则向所述管理节点发送第一消息;
所述管理节点在接收到所述第一消息后,判断本地维护的分区列表中是否存在所述目标共享目录对应的目标分区;
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息为空,则从所述目标分区记录的各节点中确定出第二节点,向所述第一节点发送应答消息,以使得所述第一节点与所述目标客户端断开连接,并解绑与所述目标客户端之间的关联关系,以及将该虚IP推送给所述第二节点,以使得所述第二节点基于该虚IP与所述目标客户端建立关联关系,其中,所述目标客户端在检测到与所述第一节点断开连接之后,基于该虚IP与所述第二节点建立连接,并向所述第二节点发送目标共享目录挂载请求;
所述第二节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
8.如权利要求7所述的系统,其特征在于,从所述目标分区记录的各节点中确定出第二节点的步骤包括:
所述管理节点从所述目标分区中获取节点列表;
所述管理节点去除所述节点列表中节点负载大于设定阈值的节点,并将所述节点列表除节点负载大于设定阈值的节点之外的其他节点中负载最大的节点确定为第二节点。
9.如权利要求7或8所述的系统,其特征在于,
若所述管理节点判定本地维护的分区列表中存在所述目标共享目录对应的目标分区,且本地维护的客户端列表中所述目标客户端对应的目标表项中的分区信息不为空,则将所述第一节点添加至所述目标分区,以使得所述第一节点为执行访问所述目标共享目录的节点,并将所述目标分区添加至所述目标表项的分区集合;
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
10.如权利要求7或8所述的系统,其特征在于,
若所述管理节点判定本地维护的分区列表中不存在所述目标共享目录对应的目标分区,则在所述分区列表中创建一个分区,其中,所述一个分区的共享目录为所述目标共享目录,用于执行访问所述一个分区的节点为所述第一节点;
所述管理节点将所述一个分区添加至所述目标客户端对应的目标表项的分区集合中,
所述管理节点向所述第一节点发送应答消息,以使得所述第一节点在本地的分区信息中记录所述目标分区;
所述第一节点在接收到所述目标客户端发送的目标共享目录挂载请求之后,执行所述目标共享目录的挂载操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691189.3A CN113505111B (zh) | 2021-06-22 | 2021-06-22 | 一种共享目录挂载方法及分布式网络附加存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691189.3A CN113505111B (zh) | 2021-06-22 | 2021-06-22 | 一种共享目录挂载方法及分布式网络附加存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505111A CN113505111A (zh) | 2021-10-15 |
CN113505111B true CN113505111B (zh) | 2024-03-12 |
Family
ID=78010284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691189.3A Active CN113505111B (zh) | 2021-06-22 | 2021-06-22 | 一种共享目录挂载方法及分布式网络附加存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505111B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701299B (zh) * | 2022-12-09 | 2024-03-26 | 荣耀终端有限公司 | 一种目录管理方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685579A (zh) * | 2014-01-13 | 2014-03-26 | 浪潮(北京)电子信息产业有限公司 | 一种集群nas存储系统共享访问方法 |
WO2016110004A1 (zh) * | 2015-01-05 | 2016-07-14 | 中兴通讯股份有限公司 | 一种磁盘存储空间管理方法、装置及存储设备 |
CN109040207A (zh) * | 2018-07-20 | 2018-12-18 | 广东浪潮大数据研究有限公司 | 一种访问用户态网络文件系统的方法、装置及设备 |
CN111225003A (zh) * | 2018-11-23 | 2020-06-02 | 北京京东金融科技控股有限公司 | 一种nfs节点配置方法和装置 |
CN112000635A (zh) * | 2020-08-20 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种数据请求方法、设备以及介质 |
WO2021088254A1 (zh) * | 2019-11-07 | 2021-05-14 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件系统双栈访问方法、装置及设备 |
-
2021
- 2021-06-22 CN CN202110691189.3A patent/CN113505111B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685579A (zh) * | 2014-01-13 | 2014-03-26 | 浪潮(北京)电子信息产业有限公司 | 一种集群nas存储系统共享访问方法 |
WO2016110004A1 (zh) * | 2015-01-05 | 2016-07-14 | 中兴通讯股份有限公司 | 一种磁盘存储空间管理方法、装置及存储设备 |
CN109040207A (zh) * | 2018-07-20 | 2018-12-18 | 广东浪潮大数据研究有限公司 | 一种访问用户态网络文件系统的方法、装置及设备 |
CN111225003A (zh) * | 2018-11-23 | 2020-06-02 | 北京京东金融科技控股有限公司 | 一种nfs节点配置方法和装置 |
WO2021088254A1 (zh) * | 2019-11-07 | 2021-05-14 | 苏州浪潮智能科技有限公司 | 一种用户态网络文件系统双栈访问方法、装置及设备 |
CN112000635A (zh) * | 2020-08-20 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种数据请求方法、设备以及介质 |
Non-Patent Citations (1)
Title |
---|
耿娟平 ; 刘培培 ; .基于Windows和Linux操作系统对NAS的访问.北华航天工业学院学报.2012,(03),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113505111A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052962B2 (en) | Distributed storage of data in a cloud storage system | |
EP3001644B1 (en) | Distributed storage system, cluster node and interval management method thereof | |
CN110324177B (zh) | 一种微服务架构下的服务请求处理方法、系统及介质 | |
US20100138540A1 (en) | Method of managing organization of a computer system, computer system, and program for managing organization | |
CN108282522B (zh) | 基于动态路由的数据存储访问方法及系统 | |
EP2564306A1 (en) | System and methods for mapping and searching objects in multidimensional space | |
US11068537B1 (en) | Partition segmenting in a distributed time-series database | |
US11822970B2 (en) | Identifier (ID) allocation in a virtualized computing environment | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 | |
WO2018090606A1 (zh) | 数据存储方法及装置 | |
CN112351110B (zh) | 基于zookeeper的ID分配方法、装置 | |
US11461053B2 (en) | Data storage system with separate interfaces for bulk data ingestion and data access | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
CN113505111B (zh) | 一种共享目录挂载方法及分布式网络附加存储系统 | |
CN115774703A (zh) | 信息处理方法及装置 | |
CN115150410A (zh) | 多集群访问方法和系统 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
CN110581784B (zh) | 一种节点健康检查方法、装置及设备 | |
CN115037754A (zh) | 一种负载均衡方法及装置 | |
WO2017177400A1 (zh) | 一种数据处理方法及系统 | |
WO2021072574A1 (en) | Load balancing | |
CN107168645B (zh) | 一种分布式系统的存储控制方法及系统 | |
CN113868605B (zh) | 授权管理方法、装置及系统 | |
US9548940B2 (en) | Master election among resource managers |
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 |