一种NAS快照的性能优化方法、系统、设备及可读存储介质与流程

文档序号:28218239发布日期:2021-12-28 23:03阅读:237来源:国知局
一种NAS快照的性能优化方法、系统、设备及可读存储介质与流程
一种nas快照的性能优化方法、系统、设备及可读存储介质
技术领域
1.本发明涉及计算机技术领域,更具体的说是涉及一种nas快照的性能优化方法、系统、设备及可读存储介质。


背景技术:

2.随着云计算、大数据等新型技术的发展,大量数据的产生,nas存储的设备越来越多,nas(network attached storage,即网络附属存储)存储设备是通过交换机直接连在网络上,按照tcp/ip协议进行通信,以文件的i/o方式进行数据传输。在lan环境下,nas可以实现异构平台下的数据共享。基于文件系统的linux系统通过nfs(network file system,即网络文件系统)扩展透明地访问nas中的文件,而基于fat和ntfs文件系统的windows系统通过cifs(common internet file system,即通用internet文件系统)扩展透明地访问nas中的文件。同时,使用nas可以提高文件服务速度,在不间断系统运行的情况下实现存储扩展。
3.为了保证安全,大量的存储系统开始使用快照的方式来保证数据的安全,采用nas存储设备也越来越多,nas快照性能也成为关注的重点。对于nas存储而言,执行快照操作时,会导致整体存储性能的下降,无法保证整体业务的性能。快速高频的进行快照,会干扰原始数据的性能,争抢资源,也给存储的调度带来很大的影响,从而影响整个存储的性能,影响所有业务的运行,造成一定的损失。nas快照有别于卷的快照,对于卷而言,更倾向于使用底层块级别的row(写时重定向)或cow(写时复制),与上层业务关联性低,而对于nas快照而言,文件级别的快照更有利于应用端的使用。
4.因此,从文件级别的快照入手,如何能够解决快照的性能问题,对于nas而言是一个解决的难点,也是解决的重点。


技术实现要素:

5.针对以上问题,本发明的目的在于提供一种nas快照的性能优化方法、系统、设备及可读存储介质,通过针对不同层次的nas进行进程中断优化、缓存下刷优化、索引优化等一系列手段,实现nas快照的性能优化,通过数据校验,提高了存储整体的可用性。
6.本发明为实现上述目的,通过以下技术方案实现:一种nas快照的性能优化方法,包括:
7.接收快照指令,对执行快照指令的快照指令文件进行分析,查看快照指令文件对应的nfs系统守护进程;
8.通过nfs系统守护进程判断客户端和文件的分类,并根据分类结果识别出对快照指令文件产生读写的nfs系统守护进程的子进程,并挂起识别出的子进程;
9.分析快照指令文件对应的内存,把快照指令文件所属的读缓存剥离,直接把快照指令文件中的写数据下刷,下刷完成后恢复挂起的子进程;
10.找到快照指令文件的文件索引,并进行索引归档;
11.索引归档完成后,校验各节点索引是否一致,若是,则反馈快照指令执行完成命
令,若否,则返回失败指令,并重新接收快照指令。
12.进一步,所述通过nfs系统守护进程判断客户端和文件的分类包括:
13.通过nfs系统守护进程确定对快照指令文件有读写操作的客户端;
14.通过nfs系统守护进程确定占用nfs系统守护进程的子进程的文件。
15.进一步,所述把快照指令文件中的写数据下刷采用单节点下刷的方式。
16.进一步,所述找到快照指令文件的文件索引,并进行索引归档,具体包括:找到快照指令文件的文件索引,根据文件索引中的数据与缓存中预写数据的差异点修改索引,修改完成后进行索引归档。
17.进一步,所述失败指令包括:节点故障提示信息和节点缓存同步故障信息。
18.相应的,本发明还公开了一种nas快照的性能优化系统,包括:
19.业务层,用于接收快照指令,对执行快照指令的快照指令文件进行分析,查看快照指令文件对应的nfs系统守护进程;通过nfs系统守护进程判断客户端和文件的分类,并根据分类结果识别出对快照指令文件产生读写的nfs系统守护进程的子进程,并挂起识别出的子进程;
20.缓存层,用于分析快照指令文件对应的内存,把快照指令文件所属的读缓存剥离,直接把快照指令文件中的写数据下刷,下刷完成后通知业务层恢复挂起的子进程;找到快照指令文件的文件索引,并进行索引归档;
21.存储层,用于索引归档完成后,校验各节点索引是否一致,若是,则反馈快照指令执行完成命令,若否,则返回失败指令,并重新接收快照指令。
22.进一步,所述业务层包括:
23.分类单元,用于通过nfs系统守护进程确定对快照指令文件有读写操作的客户端;还用于通过nfs系统守护进程确定占用nfs系统守护进程的子进程的文件。
24.进一步,所述缓存层包括:
25.索引存储单元,用于找到快照指令文件的文件索引,根据文件索引中的数据与缓存中预写数据的差异点修改索引,修改完成后进行索引归档。
26.相应的,本发明公开了一种nas快照的性能优化装置,包括:
27.存储器,用于存储nas快照的性能优化程序;
28.处理器,用于执行所述nas快照的性能优化程序时实现如上文任一项所述nas快照的性能优化方法的步骤。
29.相应的,本发明公开了一种可读存储介质,所述可读存储介质上存储有nas快照的性能优化程序,所述nas快照的性能优化程序被处理器执行时实现如上文任一项所述nas快照的性能优化方法的步骤。
30.对比现有技术,本发明有益效果在于:本发明提供了一种nas快照的性能优化方法、系统、设备及可读存储介质,在实现了nas以文件为基础粒度快照的基础上,实现了快速进行快照,而减少对性能的影响。可以实现对nas存储的文件进行批量的快照,而不影响业务端的性能,使业务无感知。
31.本发明通过对进程、缓存、索引的优化,通过进程中断优化,快照索引共享,缓存分散下刷,使nas中的文件快照能够迅速被记录,而同步进行的文件读写能够快速被存储在设备上,当快照完成后,再与各节点数据的索引信息校验,从而保障数据的安全性。
32.基于多种技术的运用,本发明很好的解决了nas下的快照性能问题,同时也就解决了nas文件级快照的实现问题。本发明提供的方法即可以保证存储数据的可靠性,也可以提升存储的性能,通过此种方法,可以增加nas存储的可用性、性能,提高整个系统的应用价值,广泛应用,会大幅降低总维护成本。
33.本发明解决了nas存储快照对存储造成的性能问题,多存储多客户端高延时、效率低的问题,提高了整体的性能。同时针对nfs进行针对性的优化,提高了nfs的性能。本发明具备兼顾安全性的特点,通过设置校验的调整机制,解决了设备故障等引起的诸多问题。本发明通过针对nas不同层次,进行进程中断优化、缓存下刷优化、索引优化等一系列手段,实现性能优化,通过数据校验,提高了存储整体的可用性、性能。通过多种技术方法的结合解决了nas存储快照影响性能的技术难题。同时加入了多客户端、交叉进程调整机制等,提高了应用的广度,增加了存储系统的适应能力。
34.由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.附图1是本发明的方法流程图;
37.附图2是本发明的系统结构图。
38.图中,1为业务层;2为缓存层;3为存储层;11为分类单元;21为索引存储单元。
具体实施方式
39.本发明的核心是提供一种nas快照的性能优化方法,现有技术中,对于nas存储而言,执行快照操作时,会导致整体存储性能的下降,无法保证整体业务的性能。快速高频的进行快照,会干扰原始数据的性能,争抢资源,也给存储的调度带来很大的影响,从而影响整个存储的性能,影响所有业务的运行,造成一定的损失。
40.而本发明提供的nas快照的性能优化方法,通过优化nas快照多个流程模块,针对业务层、缓存层、存储层,进行进程中断优化、缓存下刷优化、索引优化,实现整体性能的优化,同时引入索引校验的机制,提高存储数据安全性,从而解决了nas快照的性能问题,存储性能问题。
41.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.实施例一:
43.如图1所示,本实施例提供了一种nas快照的性能优化方法,包括如下步骤:
44.s1:接收快照指令,对执行快照指令的快照指令文件进行分析,查看快照指令文件
对应的nfs系统守护进程。
45.存储当收到快照指令后,需要通过对执行指令的文件进行分析,查看文件对应的nfsd daemon。
46.s2:通过nfs系统守护进程判断客户端和文件的分类,并根据分类结果识别出对快照指令文件产生读写的nfs系统守护进程的子进程,并挂起识别出的子进程。
47.其中,客户端和文件的分类主要采用以下两种方式:
48.1、通过nfs系统守护进程确定对快照指令文件有读写操作的客户端。
49.2、通过nfs系统守护进程确定占用nfs系统守护进程的子进程的文件。
50.nfsd daemon进程主要分为两个类型的判断,一类判断为客户端的,判断哪些客户端对该文件有读写;一类判断为文件的,判断哪些文件占用了nfsd daemon的子进程。等判断确认之后,执行中断指令,相应的nfsd daemon子进程会有短暂的i/o静默,这个i/o静默主要是为了保证数据的一致性,此i/o静默会根据文件大小,业务类型等会有不同,大部分的情况下,静默都会控制在毫秒级,对于业务系统而言,可以忽略不计。
51.通过本步骤,识别出对对应快照指令文件产生读写的子进程进行挂起,这样就不会影响其他无关客户端和文件的读写,就不会影响其他客户端或文件在nfs的读写。对于多线程并发快照而言,通过优先级分类方法,分批次、交叉进程进行处理,使其对i/o性能影响降到最低。使用分批次、交叉进程处理的方法,可以使i/o在快照时无感知,尤其针对多客户端、多文件目录的系统架构,效果明显,可以大幅提升系统整体的性能。
52.s3:分析快照指令文件对应的内存,把快照指令文件所属的读缓存剥离,直接把快照指令文件中的写数据下刷,下刷完成后恢复挂起的子进程。
53.快照指令文件中的写数据下刷采用单节点下刷的方式。
54.为了提升缓存的下刷速度,本步骤采用文件级缓存下刷机制,对于接收到快照指令的文件,读数据仍驻内存,写数据下刷,为了保障下刷速度,直接进行分节点下刷,采用后校验机制,不做缓存同步,这种考虑是因为nas存储读写时本身进行缓存同步,快照时再进行缓存同步会延长i/o静默时间,影响整体性能。nfsd daemon进程收到完成指令后,即可恢复读写,因为读缓存仍然驻在缓存中,读性能不受影响。
55.s4:找到快照指令文件的文件索引,并进行索引归档。
56.具体为:找到快照指令文件的文件索引,根据文件索引中的数据与缓存中预写数据的差异点修改索引,修改完成后进行索引归档。
57.s5:索引归档完成后,校验各节点索引是否一致,若是,则反馈快照指令执行完成命令,若否,则返回失败指令,并重新接收快照指令。
58.其中,失败指令包括:节点故障提示信息和节点缓存同步故障信息。
59.通过本步骤实现了索引优化。索引归档完成后,进行索引后校验,校验各节点索引是否一致,因为索引本身只有表头,文件校验较快,如校验完成后,即可反馈快照指令执行完成命令。如果存在异常情况,比如当执行快照时,有节点故障,那么就无法保证各节点索引一致,即返回快照执行失败。另外,如果各节点缓存同步故障,也会导致快照索引校验失败的情况,此类其实可以归属为存储故障的情况,按照意外情况执行即可。快照本身是为了保障数据的安全性,对于实时性要求较低,所以从这个意义上来看,只要能够顺利完成快照,在需要回滚时,能够保障回滚无异常即可。与传统前校验相比,可以提高快照执行效率。
60.另外,采用各节点索引共享,进行校验,在实际测试中来看,校验出现错误的概率很小,除非在快照进行当中,有节点故障或其他意外情况发生,而这种情况下,一旦发现校验不一致的情况,返回快照创建失败信息。
61.由此可见,本方法主要是针对nas的nfs协议进行的针对性优化,调优的方向主要是针对进程挂起中断的优化和索引、缓存的优化,针对与其他nas相关协议,如cifs、ftp等可以灵活运用,提高性能。
62.本实施例提供了一种nas快照的性能优化方法,通过对进程、缓存、索引的优化,通过进程中断优化,快照索引共享,缓存分散下刷,使nas中的文件快照能够迅速被记录,而同步进行的文件读写能够快速被存储在设备上,当快照完成后,再与各节点数据的索引信息校验,从而保障数据的安全性。
63.实施例二:
64.基于实施例一,如图2所示,本发明还公开了一种nas快照的性能优化系统,包括:业务层1、缓存层2和存储层3。
65.业务层1,用于接收快照指令,对执行快照指令的快照指令文件进行分析,查看快照指令文件对应的nfs系统守护进程;通过nfs系统守护进程判断客户端和文件的分类,并根据分类结果识别出对快照指令文件产生读写的nfs系统守护进程的子进程,并挂起识别出的子进程。
66.业务层1包括:分类单元11,用于通过nfs系统守护进程确定对快照指令文件有读写操作的客户端;还用于通过nfs系统守护进程确定占用nfs系统守护进程的子进程的文件。
67.可见,业务层1为nas的进程运行部分,业务层1包括了文件系统协议和通信协议。文件系统协议是指一个nas系统所能够提供的数据存取服务方式,nas的要求之一是实现跨平台的文件共享应用,所以提供了nfs、smb/cifs等协议来为分别采用unix/linux、windows操作系统的各类客户端提供合适的文件存取方式。
68.缓存层2,用于分析快照指令文件对应的内存,把快照指令文件所属的读缓存剥离,直接把快照指令文件中的写数据下刷,下刷完成后通知业务层恢复挂起的子进程;找到快照指令文件的文件索引,并进行索引归档。
69.缓存层2包括:索引存储单元21,用于找到快照指令文件的文件索引,根据文件索引中的数据与缓存中预写数据的差异点修改索引,修改完成后进行索引归档。
70.可见,缓存层2主要功能是管理接收缓存和处理底层的数据控制。这一部分负责缓存数据的管理、组织和划分,并配合其他流程实现接入、中断、数据块传输等功能,为上层业务提供支持。
71.存储层3,主要功能是负责数据的存储管理及数据的保护。具体用于索引归档完成后,校验各节点索引是否一致,若是,则反馈快照指令执行完成命令,若否,则返回失败指令,并重新接收快照指令。
72.本实施例提供了一种nas快照的性能优化系统,通过优化nas快照多个流程模块,针对业务层、缓存层、存储层,进行进程中断优化、缓存下刷优化、索引优化,实现整体性能的优化,同时引入索引校验的机制,提高存储数据安全性,从而解决了nas快照的性能问题,存储性能问题。
73.实施例三:
74.本实施例公开了一种nas快照的性能优化装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的nas快照的性能优化程序时实现以下步骤:
75.1、接收快照指令,对执行快照指令的快照指令文件进行分析,查看快照指令文件对应的nfs系统守护进程。
76.2、通过nfs系统守护进程判断客户端和文件的分类,并根据分类结果识别出对快照指令文件产生读写的nfs系统守护进程的子进程,并挂起识别出的子进程。
77.3、分析快照指令文件对应的内存,把快照指令文件所属的读缓存剥离,直接把快照指令文件中的写数据下刷,下刷完成后恢复挂起的子进程。
78.4、找到快照指令文件的文件索引,并进行索引归档。
79.5、索引归档完成后,校验各节点索引是否一致,若是,则反馈快照指令执行完成命令,若否,则返回失败指令,并重新接收快照指令。
80.进一步的,本实施例中的nas快照的性能优化装置,还可以包括:
81.输入接口,用于获取外界导入的nas快照的性能优化程序,并将获取到的nas快照的性能优化程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
82.输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于usb接口、串行接口等。
83.通讯单元,用于在nas快照的性能优化装置和外部服务器之间建立远程通讯连接,以便于nas快照的性能优化装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
84.键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
85.显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
86.鼠标,可以用于协助用户输入数据并简化用户的操作。
87.本实施例提供了一种nas快照的性能优化装置,通过针对nas不同层次,进行进程中断优化、缓存下刷优化、索引优化等一系列手段,实现性能优化,通过数据校验,提高了存储整体的可用性、性能。通过多种技术方法的结合解决了nas存储快照影响性能的技术难题。同时加入了多客户端、交叉进程调整机制等,提高了应用的广度,增加了存储系统的适应能力。
88.实施例四:
89.本实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动硬盘、cd

rom或技术领域内所公知的任意其他形式的存储介质。可读存储介质中存储有nas快照的性能优化程序,所述nas快照的性能优化程序被处理器执行时实现以下步骤:
90.1、接收快照指令,对执行快照指令的快照指令文件进行分析,查看快照指令文件对应的nfs系统守护进程。
91.2、通过nfs系统守护进程判断客户端和文件的分类,并根据分类结果识别出对快照指令文件产生读写的nfs系统守护进程的子进程,并挂起识别出的子进程。
92.3、分析快照指令文件对应的内存,把快照指令文件所属的读缓存剥离,直接把快照指令文件中的写数据下刷,下刷完成后恢复挂起的子进程。
93.4、找到快照指令文件的文件索引,并进行索引归档。
94.5、索引归档完成后,校验各节点索引是否一致,若是,则反馈快照指令执行完成命令,若否,则返回失败指令,并重新接收快照指令。
95.本实施例提供了一种可读存储介质,通过优化nas快照多个流程模块,针对业务层、缓存层、存储层,进行进程中断优化、缓存下刷优化、索引优化,实现整体性能的优化,同时引入索引校验的机制,提高存储数据安全性,从而解决了nas快照的性能问题,存储性能问题。
96.综上所述,本发明通过针对不同层次的nas进行进程中断优化、缓存下刷优化、索引优化等一系列手段,实现nas快照的性能优化,通过数据校验,提高了存储整体的可用性。
97.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
98.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
99.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
100.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
101.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
102.同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
103.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存
储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
104.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
105.以上对本发明所提供的nas快照的性能优化方法、系统、装置及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1