一种存储系统下自动配置缓存加速方法与流程

文档序号:16607274发布日期:2019-01-14 21:12阅读:202来源:国知局
一种存储系统下自动配置缓存加速方法与流程

本发明涉及集群服务通信领域,尤其涉及一种存储系统下自动配置缓存加速方法。



背景技术:

随着大数据时代的到来,数据已经成为企业、机构和个人最重要的财富。而数据集中已成为大势所趋,越来越多的企业都选择自建云存储系统,或直接把数据迁移到云端。

随着数据量的不断增加,一些虚拟集群存储的数据读写量负担也在增加,在数据读取高峰阶段虚拟集群存储容易出现数据读写堵塞的问题。造成虚拟集群存储的数据读写慢,影响存储系统的使用。

如果虚拟集群存储使用过程中,出现较大数据量的储存和读取,通常会配置一些ssd来对虚拟集群存储进行扩充,满足当前的需要。如何配置ssd来满足虚拟集群存储的扩充是当前丞待解决的问题。

而通常在对虚拟集群存储的扩充还是有针对性的扩充并非对整个虚拟集群的存储空间进行扩充。而且基于某一个虚拟机,或某几个虚拟机来进行扩充。这样集群系统存储主机需要获取虚拟机地址信息和网口名信息二者同时结合后确定虚拟机,再获取虚拟机当前的数据处理量,如果超出阈值则配置ssd来满足虚拟机存储的扩充。由于集群中配置虚拟机地址方式的不同,协议配置方式不同以及网口名信息命名方式不同导致,各虚拟机的地址信息和网口名信息随时变化。比如有的虚拟机在不同的使用环境下网口名信息出现了变化,虚拟机的地址信息为动态的,每次虚拟机地址信息也在变化。这样如果获取各个虚拟机的当前的数据处理量和储存量,增加了查找各个虚拟机的难度,容易造成未能及时获取到各个虚拟机的当前的数据处理量和储存量,造成集群无法进行有效的存储量扩充,出现集群中虚拟机的数据读写堵塞的问题。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种存储系统下自动配置缓存加速方法,方法包括:

系统存储主机实时检测系统新接入的ssd装置;当有ssd装置接入系统时,系统存储主机将所述ssd装置配置到系统缓存池,作为系统缓存池的储存增量;

系统存储主机配置各个系统存储子机的ip地址和网口名,并将各个系统存储子机的ip地址和网口名进行绑定;

系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前剩余存储量;

当某一系统存储子机当前剩余存储量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的缓存区作为当前剩余存储量。

优选地,方法包括:

系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前读数据量;

当某一系统存储子机当前读数据量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的读缓存区;

系统存储子机中被读取的数据信息缓存在读缓存区中;

当读数据信息为在先已读或已写过数据则缓存在读缓存区中;

当读数据信息在先未读或未写过数据,则向将所述数据读取至读缓存区中,再进行读取操作;

基于所述系统存储子机的读取操作完成后,将读缓存区中的数据信息存储至所述系统存储子机中,读缓存区释放回系统缓存池。

优选地,方法包括:

系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前写数据量;

当某一系统存储子机当前写数据量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的写缓存区;

系统存储子机中被写取的数据信息缓存在写缓存区中;

当完成当前数据信息的写操作后,或达到预设的写时长后,将所述数据信息存储至系统存储子机中;

基于所述系统存储子机的写操作完成后,将写缓存区中的写操作数据信息存储至所述系统存储子机,写缓存区释放回系统缓存池。

优选地,步骤系统存储主机配置各个系统存储子机的ip地址和网口名,并将各个系统存储子机的ip地址和网口名进行绑定还包括:

系统存储主机调取各系统存储子机的网络配置文件,查找网络配置文件中的bootproto文件;

系统存储主机设置各系统存储子机的bootproto字段为静态路由协议,并定义集群中各系统存储子机的ip地址;

系统存储主机配置各个系统存储子机的flavor模板,将每个系统存储子机的flavor模板与系统存储子机的ip地址相对应;

系统存储主机根据系统存储子机的ip地址查找对应的系统存储子机,将flavor模板配置到对应的系统存储子机,对系统存储子机进行配置;

配置完成后,将各系统存储子机的配置状态以可读文本保存至系统存储器。

优选地,步骤系统存储主机配置各个系统存储子机的ip地址和网口名,并将各个系统存储子机的ip地址和网口名进行绑定还包括:

系统存储主机获取各个系统存储子机的udev规则文件;

系统存储主机在各个系统存储子机的udev规则文件中,配置/etc/udev/rules.d/目录,在/etc/udev/rules.d/目录下建立一个以.rules结尾的udev规则文件;

各个系统存储子机基于udev命名规则设置各个系统存储子机网口名,将各个系统存储子机网口名与网口的ip地址绑定;

系统存储主机配置各个系统存储子机的flavor模板,将每个系统存储子机的flavor模板,系统存储子机网口名以及网口的ip地址绑定;

系统存储主机根据系统存储子机的ip地址和系统存储子机网口名查找对应的系统存储子机,将flavor模板配置到对应的系统存储子机,对系统存储子机进行配置;

配置完成后,系统存储主机将各系统存储子机的配置状态以可读文本保存至系统存储器。

优选地,系统存储主机切断与某一个或几个系统存储子机与系统连接关系,并经过预设的时长后,获取断开连接系统存储子机的连接信息,使所述系统存储子机与系统存储主机建立通信连接;

系统存储主机通过所述系统存储子机的ifconfig查看系统存储子机网口名是否与预设的网口名发生变化;如无变化,则命名完成。

优选地,当系统存储子机的网口名与预设的网口名发生变化,在所述系统存储子机的udev规则文件中,判断是否存在/etc/udev/rules.d/目录,如存在,在/etc/udev/rules.d/目录下判断是否存在以.rules结尾的udev规则文件;

如不存在,

配置/etc/udev/rules.d/目录,在/etc/udev/rules.d/目录下建立一个以.rules结尾的udev规则文件;

系统存储主机基于udev命名规则配置所述系统存储子机网口名,将网口名与网口的ip地址绑定。

优选地,系统存储主机实时监测系统当前新接入的系统存储子机;

当出现新接入的系统存储子机时,系统存储主机调取新接入系统存储子机的网络配置文件,查找网络配置文件中的bootproto文件;

系统存储主机根据预设条件设置新接入系统存储子机的bootproto字段,并定义新接入系统存储子机的ip地址;

系统存储主机获取新接入系统存储子机网口的ip地址;

将以预设字段结尾的udev命名规则,配置到新接入系统存储子机;

新接入系统存储子机基于udev命名规则设置网口名;

将新接入系统存储子机网口名与网口的ip地址绑定;

系统存储主机获取新接入系统存储子机的flavor模板;系统存储主机根据新接入系统存储子机的ip地址和新接入系统存储子机网口名查找对应的系统存储子机,将flavor模板配置到新接入的系统存储子机,对系统存储子机的进行配置;

配置完成后,系统存储主机将新接入系统存储子机的配置状态以可读文本保存至系统存储器。

优选地,以预设字段结尾的udev命名规则配置出多个系统存储子机网口名,其中系统存储子机网口名数量多于已配置的ip地址数量;

将多个系统存储子机网口名按照预设的次序,将网口名配置成网口名队列;

系统存储主机将各个系统存储子机网口的ip地址按照预设的次序进行排列,形成ip地址队列;

系统存储主机将网口名队列中的系统存储子机网口名与ip地址队列中的ip地址一一对应;网口名队列中的系统存储子机网口名已被使用的标识为已用;

对应后,ip地址所对应的系统存储子机网口名即为ip地址所涉及系统存储子机网口的网口名。

优选地,实时监测系统当前已接入的系统存储子机;当出现已接入的系统存储子机断开与系统连接,且经过预设的断开时长后,将断开连接系统存储子机的网口名释放;使所述网口名在网口名队列中标识为空闲。

从以上技术方案可以看出,本发明具有以下优点:

本发明中,系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前剩余存储量;当某一系统存储子机当前剩余存储量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的缓存区作为当前剩余存储量。这样如果虚拟集群存储使用过程中,某一系统存储子机当前出现较大数据量的储存和读取时,系统存储主机会配置一些储存量来对系统存储子机存储进行扩充,满足当前的需要。

系统存储主机获取各个系统存储子机的udev规则文件,基于统一的命名规则对每个系统存储子机网口名进行统一命名。将各个系统存储子机网口名与网口的ip地址绑定;系统存储主机配置各个系统存储子机的flavor模板,将每个系统存储子机的flavor模板,系统存储子机网口名以及网口的ip地址绑定,实现了三者的统一。将flavor模板配置到对应的系统存储子机,对系统存储子机进行配置;降低了查找各个虚拟机的难度,避免了未按照预设的设置方式设置对应的虚拟机,造成未能及时获取到各个虚拟机的当前的数据处理量和储存量,造成集群无法进行有效的存储量扩充,还避免了出现集群中虚拟机的数据读写堵塞的问题。

附图说明

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

图1为存储系统下自动配置缓存加速方法流程图;

图2为存储系统下自动配置缓存加速方法实施例流程图。

图3为存储系统下自动配置缓存加速方法实施例流程图。

具体实施方式

本发明提供一种存储系统下自动配置缓存加速方法,如图1所示,方法包括:

s1,系统存储主机实时检测系统新接入的ssd装置;当有ssd装置接入系统时,系统存储主机将所述ssd装置配置到系统缓存池,作为系统缓存池的储存增量;

s2,系统存储主机配置各个系统存储子机的ip地址和网口名,并将各个系统存储子机的ip地址和网口名进行绑定;

s3,系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前剩余存储量;

s4,当某一系统存储子机当前剩余存储量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的缓存区作为当前剩余存储量。

当系统存储子机的剩余存储量低于阈值时,将调取的储存量释放回系统缓存池。

其中存储系统支持基于光纤通道的san及对存储卷的智能缓存加速功能。

在系统存储主机配置外部usb设备,也可以是ssd装置等等,作为系统缓存池的储存增量。系统存储主机包含对卷进行缓存加速的命令,包括:检测当前操作的存储设备的卷id,创建缓存池,缓存分区,使用创建出的缓存分区对用户正在读写卷进行智能缓存加速,从而完成该功能的配置。

如下为系统存储主机储存处理实例:

vdisk_id=$(lsvdisk|grepid)#检测获取卷的id

ssd_id=$(lsdrive|grepflash)#检测获取缓存加速功能所需的ssd的id

mkicapool–ext1024–namessd_pool#创建缓存池

addicadrive–drive$ssd_id0#向缓存池添加ssd

mkicapartition–ica_pool0–iogrp0–node1–size1–unittb#创建缓存分区

addicapdisk–partition0

###使用循环对获取到的每一个卷进行智能缓存加速

for((i=0;i<=$vdisk_id;i++))

do

chvdisk–icaon–partition0$i

done

系统存储主机可以通过本方法快速地配置该功能,适用于大规模批量化地使用该功能,无需登录到每台设备进行命令部署,使用特定格式和包含特定文件的存储设备就可以完成对存储系统功能的快速配置。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本发明提供的实施例中,如图2所示,

s11,系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前读数据量;

s12,当某一系统存储子机当前读数据量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的读缓存区;

s13,系统存储子机中被读取的数据信息缓存在读缓存区中;

s14,当读数据信息为在先已读或已写过数据则缓存在读缓存区中;

s15,当读数据信息在先未读或未写过数据,则向将所述数据读取至读缓存区中,再进行读取操作;

s16,基于所述系统存储子机的读取操作完成后,将读缓存区中的数据信息存储至所述系统存储子机中,读缓存区释放回系统缓存池。

本发明提供的实施例中,如图3所示,

s21,系统存储主机基于系统存储子机的ip地址和网口名获取各个系统存储子机的当前写数据量;

s22,当某一系统存储子机当前写数据量超阈值时,系统存储主机从系统缓存池调取储存量至所述系统存储子机,将调取的储存量配置成所述系统存储子机的写缓存区;

s23,系统存储子机中被写取的数据信息缓存在写缓存区中;

s24,当完成当前数据信息的写操作后,或达到预设的写时长后,将所述数据信息存储至系统存储子机中;

s25,基于所述系统存储子机的写操作完成后,将写缓存区中的写操作数据信息存储至所述系统存储子机,写缓存区释放回系统缓存池。

可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明提供的实施例中,步骤系统存储主机配置各个系统存储子机的ip地址和网口名,并将各个系统存储子机的ip地址和网口名进行绑定还包括:

系统存储主机调取各系统存储子机的网络配置文件,查找网络配置文件中的bootproto文件;

系统存储主机设置各系统存储子机的bootproto字段为静态路由协议,并定义集群中各系统存储子机的ip地址;

系统存储主机配置各个系统存储子机的flavor模板,将每个系统存储子机的flavor模板与系统存储子机的ip地址相对应;

系统存储主机根据系统存储子机的ip地址查找对应的系统存储子机,将flavor模板配置到对应的系统存储子机,对系统存储子机进行配置;

配置完成后,将各系统存储子机的配置状态以可读文本保存至系统存储器。

对系统存储子机进行配置包括:系统存储主机配置各个系统存储子机的ram的大小,硬盘大小以及每个系统存储子机在系统中通信的上行带宽,下行速率。

flavor模板可以是基于集群管理人员根据各系统存储子机的设置条件来配置,各系统存储子机的flavor模板配置完成后,由系统存储主机配置到各系统存储子机。

也可以在集群运行过程中,集群管理人员根据各系统存储子机的当前需要来实时配置,配置完成后,由系统存储主机配置到各系统存储子机。

以可读文本输出结果保存至存储器,可读文本可以为output.txt,可查看存储系统下自动配置缓存加速方法过程数据。

本发明提供的实施例中,步骤系统存储主机配置各个系统存储子机的ip地址和网口名,并将各个系统存储子机的ip地址和网口名进行绑定还包括:

系统存储主机获取各个系统存储子机的udev规则文件;

系统存储主机在各个系统存储子机的udev规则文件中,配置/etc/udev/rules.d/目录,在/etc/udev/rules.d/目录下建立一个以.rules结尾的udev规则文件;

各个系统存储子机基于udev命名规则设置各个系统存储子机网口名,将各个系统存储子机网口名与网口的ip地址绑定;

系统存储主机配置各个系统存储子机的flavor模板,将每个系统存储子机的flavor模板,系统存储子机网口名以及网口的ip地址绑定;

系统存储主机根据系统存储子机的ip地址和系统存储子机网口名查找对应的系统存储子机,将flavor模板配置到对应的系统存储子机,对系统存储子机进行配置;

配置完成后,系统存储主机将各系统存储子机的配置状态以可读文本保存至系统存储器。其中,系统存储主机在对各个系统存储子机的命名过程以及配置ip地址过程可以同步进行,也可以根据需要配置先后次序。

如果在硬件中实现,本发明涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。

在一些实施例中,所述设备中的一个或多个设备的部分或所有功能或处理由计算机程序实现或支持,计算机程序由计算机可读程序代码形成并且被包括在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(rom)、随机存取存储器(ram)、硬盘驱动器、光盘(cd)、数字视频盘(dvd)、或任何其他类型的存储器。

本发明提供的实施例中,系统存储主机切断与某一个或几个系统存储子机与系统连接关系,并经过预设的时长后,获取断开连接系统存储子机的连接信息,使所述系统存储子机与系统存储主机建立通信连接;

系统存储主机通过所述系统存储子机的ifconfig查看系统存储子机网口名是否与预设的网口名发生变化;如无变化,则命名完成。

本发明中,每个系统存储子机及系统存储主机配置linux系统。其中udev是linux内核的设备管理器,位于用户空间,主要负责/dev目录下设备节点的管理,能够动态管理各个系统存储子机发起的事件,比如硬件设备的热插拔。系统存储主机通过自定义的规则文件,为各个系统存储子机灵活地产生标识性强的设备文件名。本发明利用udev规则可以为各个系统存储子机重命名的特性,通过建立一套特殊的命名规则,避免集群导致网口命名乱序的命名规则,解决网口命名乱序问题。而且由系统存储主机建立一个以预设字段结尾的udev命名规则,将预设字段结尾的udev命名规则配置到各个系统存储子机;统一对各个系统存储子机进行有效的,统一的命名,避免了命名混乱,影响集群系统的数据通信传输,以及相互之间的登录访问。

具体的可以采用在/etc/udev/rules.d/目录下建立一个以.rules结尾的udev规则文件10-netname.rules,并在该文件中增加网卡命名规则,将新的名字与网口的ip地址绑定,因为ip地址是唯一固定的,所以新的命名也将是固定的。

本发明提供的实施例中,当系统存储子机的网口名与预设的网口名发生变化,在所述系统存储子机的udev规则文件中,判断是否存在/etc/udev/rules.d/目录,如存在,在/etc/udev/rules.d/目录下判断是否存在以.rules结尾的udev规则文件;

如不存在,

配置/etc/udev/rules.d/目录,在/etc/udev/rules.d/目录下建立一个以.rules结尾的udev规则文件;

系统存储主机基于udev命名规则配置所述系统存储子机网口名,将网口名与网口的ip地址绑定。

这样可以测试当系统存储子机断开与集群后,重新再连接是否与预设的网口名发生变化。如无变化,则命名与网口的ip地址绑定完成。这样固定了系统存储子机在集群中的网口名,无论与集群系统连接与否都保证系统存储子机的稳定,避免命名混乱。

所述代码或指令可以是软件和/或固件由处理电路包括一个或多个处理器执行,如一个或多个数字信号处理器(dsp),通用微处理器,特定应用集成电路(asics),现场可编程门阵列(fpga),或者其它等价物把集成电路或离散逻辑电路。因此,术语“处理器,”由于在用于本文时可以指任何前述结构或任何其它的结构更适于实现的这里所描述的技术。另外,在一些方面,本公开中所描述的功能可以提供在软件模块和硬件模块。

本发明提供的实施例中,系统存储主机实时监测系统当前新接入的系统存储子机;

当出现新接入的系统存储子机时,系统存储主机调取新接入系统存储子机的网络配置文件,查找网络配置文件中的bootproto文件;

系统存储主机根据预设条件设置新接入系统存储子机的bootproto字段,并定义新接入系统存储子机的ip地址;

系统存储主机获取新接入系统存储子机网口的ip地址;

将以预设字段结尾的udev命名规则,配置到新接入系统存储子机;

新接入系统存储子机基于udev命名规则设置网口名;

将新接入系统存储子机网口名与网口的ip地址绑定;

系统存储主机获取新接入系统存储子机的flavor模板;系统存储主机根据新接入系统存储子机的ip地址和新接入系统存储子机网口名查找对应的系统存储子机,将flavor模板配置到新接入的系统存储子机,对系统存储子机的进行配置;

配置完成后,系统存储主机将新接入系统存储子机的配置状态以可读文本保存至系统存储器。

基于集群中系统存储子机会发生变化,比如出现新增系统存储子机,或删除系统存储子机。上述实施例说明了出现新增系统存储子机的状况,这样可以实现对新增的系统存储子机进行统一命名,避免混乱。

本发明提供的实施例中,以预设字段结尾的udev命名规则配置出多个系统存储子机网口名,其中系统存储子机网口名数量多于已配置的ip地址数量;

将多个系统存储子机网口名按照预设的次序,将网口名配置成网口名队列;

系统存储主机将各个系统存储子机网口的ip地址按照预设的次序进行排列,形成ip地址队列;

系统存储主机将网口名队列中的系统存储子机网口名与ip地址队列中的ip地址一一对应;网口名队列中的系统存储子机网口名已被使用的标识为已用;

对应后,ip地址所对应的系统存储子机网口名即为ip地址所涉及系统存储子机网口的网口名。

将多个系统存储子机网口名按照预设的次序,将网口名配置成网口名队列;按照预设的次序可以采用网口名首字母的作为排列次序,如首字母相同可以采用次字母作为排列次序。还可以以设置系统存储子机权限级别排列网口名次序,还可以以系统存储子机连接集群的频次时长排列网口名次序等等。

其中,在本实施例中,系统存储主机实时监测系统当前已接入的系统存储子机;当出现已接入的系统存储子机断开与集群连接,且经过预设的断开时长后,将断开集群连接系统存储子机的网口名释放;使所述网口名在网口名队列中标识为空闲。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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