基于分布式存储的NFS集群及其提供NFS服务的方法与流程

文档序号:20917774发布日期:2020-05-29 13:45阅读:774来源:国知局
基于分布式存储的NFS集群及其提供NFS服务的方法与流程

本发明涉及nfs技术领域,特别是指一种基于分布式存储的nfs集群及其提供nfs服务的方法。



背景技术:

nfs-user(用户态网络文件系统)是一个用户态的支持nfs协议(nfsv3/nfsv4,nfsv4.1)的文件服务器,它为unix和类unix的操作系统提供了fuse(filesysteminuserspace)兼容的接口fsal(filesystemabstractionlayer)。这样用户通过nfsclient可以访问自己的存储设备。nfs-user服务允许用户通过fsal在用户态访问数据而不需要和内核频繁的交互,大大的减少了数据读取的响应时间。现有的分布式存储支持nfs的解决方案分为两种:一种是本身自带的nfs功能,只支持nfs的v3版本的挂载,对于更高版本则无法支持;另一种是通过内核导出nfs功能,但都是单点模式。

然而,单点模式中所有的请求,都由一台服务器处理,容易导致很多问题:

1.并发处理能力因为单点服务器的性能有限制,所以最大连接数有限。

2.容错率低,一旦服务器故障,项目无法正常运行。

3.单独的服务器计算能力低,无法完成复杂的海量数据计算。

因此,目前服务器提供的基于分布式存储的nfs都是单点和单活高可用的方式,这使得服务器故障时,可能会导致项目无法正常运行;即使高可用方案在切换故障节点时,nfs客户端在使用上仍然最少会有30秒到3分钟之间的挂起状态,这个时间段服务器对客户端是不能提供读写操作的。



技术实现要素:

有鉴于此,本发明的目的在于提出一种基于分布式存储的nfs集群及其提供nfs服务的方法,采用高可用的双活nfs集群,能够在当前提供nfs服务器出现故障时,不中断服务器与客户端的会话,继续实时为客户端提供读写操作。

基于上述目的,本发明提供一种基于分布式存储的nfs集群,包括:

其中一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至另一服务器,由另一服务器处理所述nfs访问请求后响应所述客户端;

其中,所述两个服务器具有同一虚拟ip且共享分布式存储的nfs。

较佳地,所述两个服务器均还设置有负载均衡器。

较佳地,所述两个服务器分别配置为主、从服务器。

本发明还提供一种基于分布式存储的nfs集群的提供nfs服务的方法,包括:

当所述nfs集群中的一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至所述nfs集群中的另一服务器;

所述另一服务器处理所述nfs访问请求后响应所述客户端;

其中,所述nfs集群中的服务器具有同一虚拟ip且共享分布式存储的nfs。

其中,所述nfs集群中的服务器是根据如下方法配置为具有同一虚拟ip且共享分布式存储的nfs的:

将所述nfs集群中的服务器均设置为同一虚拟ip;

在所述nfs集群的每个服务器上安装并运行分布式存储软件;

在所述nfs集群的每个服务器上安装并运行用户态网络文件系统nfs-user软件;

在所述nfs集群的每个服务器上安装、配置并运行集群心跳软件。

进一步,在所述nfs集群的每个服务器上安装、配置并运行集群心跳软件之前,还包括:

在所述nfs集群的每个服务器上安装并运行负载均衡软件。

本发明技术方案中,采用分布式存储基于nfs-user高可用的双活nfs集群的方法,可以在nfs集群中提供双活的两个服务器;当其中一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至另一服务器,由另一服务器处理所述nfs访问请求后响应所述客户端;其中,这两个服务器具有同一虚拟ip且共享分布式存储的nfs。如此,客户端的会话将被切换到另一服务器而不会中断,从而实现继续实时为客户端提供读写操作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于分布式存储的nfs集群的架构示意图;

图2为本发明实施例提供的一种nfs集群提供nfs服务的方法流程图;

图3为本发明实施例提供的一种配置nfs集群中的服务器的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

本发明的发明人考虑,采用分布式存储基于nfs-user高可用的双活nfs集群的方法,可以在nfs集群中提供双活的两个服务器;当其中一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至另一服务器,由另一服务器处理所述nfs访问请求后响应所述客户端;其中,这两个服务器具有同一虚拟ip且共享分布式存储的nfs。如此,客户端的会话将被切换到另一服务器而不会中断,从而实现继续实时为客户端提供读写操作。

下面结合附图详细说明本发明实施例的技术方案。

本发明提供的一种基于分布式存储的nfs集群,架构如图1所示,包括:两个服务器;这两个服务器具有同一虚拟ip(internetprotocol,网际互连协议)且共享分布式存储的nfs。

其中一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至另一服务器,由另一服务器处理所述nfs访问请求后响应所述客户端。

更优地,本发明提供的一种基于分布式存储的nfs集群中的两个服务器均还设置有负载均衡器。

更优地,本发明提供的一种基于分布式存储的nfs集群中的两个服务器分别配置为主、从服务器。

上述基于分布式存储的nfs集群提供nfs服务的具体方法流程,如图2所示,包括如下步骤:

步骤s201:当所述nfs集群中的一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至所述nfs集群中的另一服务器。

步骤s202:所述nfs集群中的另一服务器处理所述nfs访问请求后响应所述客户端。

上述基于分布式存储的nfs集群提供nfs服务的服务器是根据如图3所示的方法流程配置为具有同一虚拟ip且共享分布式存储的nfs的,具体包括如下步骤:

步骤s301:将所述nfs集群中的服务器均设置为同一虚拟ip。

具体地,为所述nfs集群中的每个服务器分别规划主机名后,将各服务器均设置为同一虚拟ip。也就是说对外提供nfs服务的服务器除了有一个真实ip外还有一个虚拟ip,当服务器发生故障无法对外提供服务时,将动态将这个虚拟ip切换到集群的另一服务器。

步骤s302:在所述nfs集群的每个服务器上安装并运行分布式存储软件。

具体地,在在所述nfs集群的每个服务器上添加相同磁盘目录,并对添加的磁盘目录格式化后,在每个服务器上添加的所述磁盘目录中安装并运行分布式存储软件。

步骤s303:在所述nfs集群的每个服务器上安装并运行nfs-user软件,使得服务器可以提供nfs服务。

步骤s304:将所述nfs集群中的两个服务器中安装的nfs-user软件分别配置为主服务器的参数、从服务器的参数。

步骤s305:在所述nfs集群的每个服务器上安装并运行负载均衡软件。

软件,从而实现在所述nfs集群的每个服务器设置有负载均衡器。

步骤s306:在所述nfs集群的每个服务器上安装、配置并运行集群心跳软件。

具体地,在所述nfs集群的每个服务器上安装集群心跳软件后,设置集群心跳的内核绑定参数,进而配置并运行集群心跳软件。集群心跳软件可以使得服务器在网络里面保持在线,也就是所谓的高可用或热备,在集群管理中保证集群高可用的一个服务软件。

需要说明的是,本发明实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

本发明技术方案中,采用分布式存储基于nfs-user高可用的双活nfs集群的方法,可以在nfs集群中提供双活的两个服务器;当其中一个服务器若出现访问故障,则该服务器将当前接收的客户端的nfs访问请求转至另一服务器,由另一服务器处理所述nfs访问请求后响应所述客户端;其中,这两个服务器具有同一虚拟ip且共享分布式存储的nfs。如此,客户端的会话将被切换到另一服务器而不会中断,从而实现继续实时为客户端提供读写操作。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1