用户空间中的基于服务器的持久性管理制造技术

技术编号:19396892 阅读:20 留言:0更新日期:2018-11-10 05:04
持久性管理系统在服务器处执行与多个应用相关联的操作。在服务器处,持久性管理器可以拦截来自应用中的一个应用的文件系统调用,其中文件系统调用指定被定位在与服务器分离的远程持久存储设备上的文件。持久性管理器可以确定属于由文件系统调用请求的文件的数据被存储在服务器处的本地持久存储设备上,从本地持久存储取回数据,并且利用数据响应于来自应用的文件系统调用。

【技术实现步骤摘要】
【国外来华专利技术】用户空间中的基于服务器的持久性管理相关申请本申请要求于2015年12月11日提交的、名称为“SERVER-BASEDPERSISTENCEMANAGEMENTINUSERSPACE”的美国非临时专利申请第14/967,219号的优先权,其通过引用并入本文。
本文中描述的示例涉及存储管理,并且更具体地,涉及一种用于用户空间中的基于服务器的持久性管理的系统和方法。
技术介绍
在计算中,文件服务器是被附接到网络的设备,该设备具有提供用于共享磁盘访问的位置(即,可以被连接到网络的其他机器或虚拟机访问的计算机文件(诸如文档、声音文件、照片、电影、图像、数据库等)的共享存储)的主要目的。一种常见类型的文件服务器是网络附接存储(NAS)设备。NAS专门用于通过它的硬件、软件或配置来为文件提供服务,并且通常被制造为计算机设备—特制专用计算机。NAS系统是包含一个或多个存储驱动的联网设备,存储驱动器通常被布置在逻辑冗余存储容器或RAID中。还可以利用包括NAS设备的文件服务器来形成存储区域网络(SAN),SAN提供对合并的块级数据存储装置的访问。SAN主要被用于增强存储设备(诸如磁盘阵列和磁带库),从而使得设备作为本地附接设备呈现给操作系统。SAN通常拥有其自己的存储设备的网络,这些存储设备通常不会被单独暴露于SAN之外。随着时间的推移,SAN的成本和复杂性已经下降,从而允许跨企业和中小型企业环境二者而被更广泛地采用。与此同时,包括NAS设备的文件存储产品和服务器的数目也被极大地增加。文件服务器通常提供高速缓存解决方案,该方案减少了响应于来自其他服务器的数据请求所必需的时间量。然而,利用这些高速缓存仍然需要将针对数据的请求传输到文件服务器,文件服务器可以位于通过网络可访问的远程异地位置。取决于距离和网络拥塞,服务器可能不得不等待不可接受的长久时间才能取回数据,即使它被高速缓存在文件服务器处。附图说明图1示出了根据一些方面的用于用户空间中的基于服务器的持久性管理的示例系统。图2示出了根据一些方面的示例持久性管理器。图3示出了用于使用用户空间中的基于服务器的持久性管理来读取数据的示例方法。图4示出了用于使用用户空间中的基于服务器的持久性管理来写入数据的示例方法。图5是示出可以在其上实现本文中描述的各方面的计算机系统的框图。具体实施方式诸如具有每秒高输入/输出操作(IOPS)的优化闪存设备的可用性以及将文件存储委托给专用数据存储设备的技术趋势已经使基于服务器的持久高速缓存成为利用远程数据存储的主机服务器的更具吸引力的选项。这些设备(包括网络附加存储(NAS)和存储区域网络(SAN))可以提供针对企业环境的专用功能、更快的数据访问、更容易的管理和简单的配置。附加地,NAS可以有效地利用存储容量,向很多不同的服务器环境提供文件,以及提供灾难恢复、故障转移和重复数据删除。然而,虽然像闪存驱动这样的快速存储技术已经有所改进,但由于存储设备被托管在远程非现场位置,因此通过网络将数据传输到存储设备的速度并不快,并且在很多情况下已经变得更糟。因此,在与应用本身更接近的服务器端管理的持久性高速缓存解决方案现在可以提供优于在存储设备本身处进行高速缓存的优势。在传统方法中,本地高速缓存以各种方式在虚拟机(VM)的客户操作系统中的块层处、在管理程序中或在单独的VM中被完成。对于非虚拟化环境,高速缓存通常在操作系统的内核中在根或管理级别被完成。由于开源许可问题和服务器的操作系统内核的所有权问题,需要提供持久性管理的备选方法。所描述的示例提供针对诸如NAS设备等数据存储设备的服务器端持久性管理。可以在用户空间中将持久性管理器插入在服务器上运行的应用与应用用来与远程数据存储设备上的文件交互的文件系统API之间。一旦被插入,持久性管理器就可以拦截来自应用的API调用,以便将来自服务器上的高速持久性高速缓存的频繁访问的数据高速缓存并且为其提供服务。除了其他优点之外,在服务器上运行的应用可以保持不变,因为插入器(interposer)拦截应用已经被编程为使用的标准文件系统调用。这允许持久性管理器与利用标准文件系统API的任何应用一起工作。此外,用于标准API的单个插入器(诸如POSIX)可以用于所有POSIX兼容应用。此外,持久性管理器可以提供针对被设计用于服务器端管理的存储的云端应用的高速缓存。如所描述的示例将应用感知带给持久性管理层。例如,高速缓存管理器可以知道重做日志文件与数据库文件之间的区别,这可以允许用户做出逻辑决策,诸如是否需要复制数据库文件,将日志文件高速缓存在存储器中,等等。与传统的高速缓存解决方案不同,如所描述的示例将数据的高速缓存块分配与高速缓存管理分离,这允许持久性管理,而不论文件系统布局和介质类型如何。在一些方面中,块级高速缓存也可以通过将每个逻辑单元号(LUN)映射为文件级高速缓存中的文件而被实现。附加地,持久性管理器可以经由历元(epoch)管理来保持应用一致的快照,并且将这些快照周期性地刷新到数据存储设备。除其他好处之外,保持本地高速缓存的快照可以通过减少对数据存储设备进行的回写的量来提高效率。根据一个方面,持久性管理系统在服务器处执行与多个应用相关联的操作。在服务器处,持久性管理器可以拦截来自应用中的一个应用的文件系统调用,其中文件系统调用指定被定位在与服务器分离的远程持久存储设备上的文件。持久性管理器可以确定属于由文件系统调用请求的文件的数据被存储在服务器处的本地持久存储设备上,从本地持久存储取回数据,并且使用数据响应于来自应用的文件系统调用。在另外的方面中,当在本地持久存储设备上未找到另外的数据时,持久性管理器从远程持久存储设备取回属于文件的另外的数据。然后,持久性管理器可以使用数据和另外的数据响应于来自应用的文件系统调用,并且在单独的过程中将另外的数据写入本地持久存储设备。在一个方面中,持久性管理系统将另外的数据写入与服务器成高可用性配置的对等服务器。此外,独立于与文件系统调用相关联的文件系统,可以将另外的数据写入本地持久存储设备。在各个方面中,持久性管理器可以确定文件系统调用指定写入操作,将与写入操作对应的新数据写入本地持久存储设备,将新数据与数据的快照相关联,并且将数据的快照写入远程持久存储设备。附加地,持久性管理器可以在服务器处拦截用户空间中的文件系统调用。拦截文件系统调用可以由第一进程执行,确定数据被存储在本地持久存储设备上可以由第二进程执行,并且第一进程和第二进程可以经由进程间通信机制通信。在一些示例中,来自应用的文件系统调用使用POSIXAPI。本文中描述的一个或多个方面提供了由计算设备执行的方法、技术和动作以编程方式或者作为计算机实现的方法而被执行。以编程方式表示通过使用代码或计算机可执行指令。以编程方式执行的步骤可以是或不是自动的。本文中描述的一个或多个方面可以使用编程模块或组件而被实现。编程模块或组件可以包括能够执行一个或多个所述任务或功能的程序、子例程、程序的一部分、软件组件或硬件组件。附加地,模块或组件可以独立于其他模块或组件而存在于硬件组件上。备选地,模块或组件可以是其他模块、程序或机器的共享的元素或进程。此外,本文中描述的一个或多个方面可以通过使用由一个或多个处理器可执行的指令本文档来自技高网...

【技术保护点】
1.一种持久性管理系统,包括:存储器资源,其用来存储指令;以及服务器的一个或多个处理器,其使用被存储在所述存储器资源中的所述指令以:执行与多个应用相关联的操作;拦截来自所述多个应用中的应用的文件系统调用,其中所述文件系统调用指定被定位在与所述服务器分离的远程持久存储设备上的文件;确定属于由所述文件系统调用请求的所述文件的数据被存储在所述服务器处的本地持久存储设备上;从所述本地持久存储取回所述数据;以及利用所述数据响应于来自所述应用的所述文件系统调用。

【技术特征摘要】
【国外来华专利技术】2015.12.11 US 14/967,2191.一种持久性管理系统,包括:存储器资源,其用来存储指令;以及服务器的一个或多个处理器,其使用被存储在所述存储器资源中的所述指令以:执行与多个应用相关联的操作;拦截来自所述多个应用中的应用的文件系统调用,其中所述文件系统调用指定被定位在与所述服务器分离的远程持久存储设备上的文件;确定属于由所述文件系统调用请求的所述文件的数据被存储在所述服务器处的本地持久存储设备上;从所述本地持久存储取回所述数据;以及利用所述数据响应于来自所述应用的所述文件系统调用。2.根据权利要求1所述的持久性管理系统,还包括由所述一个或多个处理器使用以进行以下操作的指令:从所述远程持久存储设备取回属于所述文件的另外的数据,其中所述另外的数据在所述本地持久存储设备上未被找到;利用所述数据和所述另外的数据响应于来自所述应用的所述文件系统调用;以及将所述另外的数据异步地写入所述本地持久存储设备。3.根据权利要求2所述的持久性管理系统,还包括由所述一个或多个处理器使用以将所述另外的数据写入与所述服务器成高可用性配置的对等服务器的指令。4.根据权利要求2或3所述的持久性管理系统,其中所述另外的数据独立于与所述文件系统调用相关联的文件系统被写入所述本地持久存储设备。5.根据任一前述权利要求所述的持久性管理系统,还包括由所述一个或多个处理器使用以进行以下操作的指令:确定所述文件系统调用指定写入操作;将与所述写入操作对应的新数据写入所述本地持久存储设备;将所述新数据与数据的快照相关联;以及将所述数据的快照写入所述远程持久存储设备。6.根据任一前述权利要求所述的持久性管理系统,其中拦截所述文件系统调用在所述服务器处的用户空间中被执行。7.根据任一前述权利要求所述的持久性管理系统,其中拦截所述文件系统调用由第一进程执行,确定所述数据被存储在本地持久存储设备上由第二进程执行,并且所述第一进程和所述第二进程经由进程间通信机制通信。8.根据任一前述权利要求所述的持久性管理系统,其中来自所述应用的所述文件系统调用使用POSIXAPI。9.一种包括根据任一前述权利要求所述的持久性管理系统的服务器,其包括所述一个或多个处理器和所述本地持久存储设备,其中所述服务器被配置为执行所述操作,并且其中与所述操作相关联的所述多个应用在所述服务器上运行。10.一种持久性管理的方法,所述方法由服务器的一个或多个处理器实现并且包括:执行与多个应用相关联的操作;拦截来自所述多个应用中的应用的文件系统调用,其中所述文件系统调用指定被定位在与所述服务器分离的远程持久存储设备上的文件;确定属于由所述文件系统调用请求的所述文件的数据被存储在所述服务器处的本地持久存储设备上;从所述本地持久存储取回所述数据;以及利用所述数据响应于来...

【专利技术属性】
技术研发人员:G·钱德拉舍卡S·巴苏V·加克哈
申请(专利权)人:NETAPP股份有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1