存储系统及其控制方法

文档序号:7738704阅读:107来源:国知局
专利名称:存储系统及其控制方法
技术领域
本发明涉及存储系统和存储系统的控制方法,特别涉及根据协议的使用状态和存储系统性能优化性能分离(s印aration)的技术。
背景技术
为了实现存储系统的有效操作,存在通过将存储系统划分成多个逻辑分区(LPAR) 并且从用户提供群集作为多个分离的存储系统来配置群集的技术。例如,PTLl公开了,在多个相对小规模的存储系统(群集)由互联网络连接并且用作一个系统的群集类型存储系统中,为了解决在互联网络的有限带宽范围内逻辑分区不能确保值得分配给逻辑分区的资源的性能的问题,将相同群集的资源分配给每个逻辑分区。PTL2公开了,为了有效地利用存储系统中的未使用资源,控制处理器逻辑地分区作为分区目标的包括主机I/F、驱动器I/F、磁盘驱动器、数据传递引擎、高速缓存存储器和控制存储器的资源,配置多个逻辑分区,并且根据从主计算机的访问数目动态地改变每个逻辑分区的分区率。PTL3公开了,当管理对其已经执行了存储强化的子系统的逻辑分区时,为了防止当改变RAID配置时由管理员或其他人引起的操作错误,允许在特定范围内释放改变RAID 配置的功能。引用列表专利文献PTLl 日本专利申请公开 No. 2006-285808PTL2 日本专利申请公开 No. 2008-257572PTL3 日本专利申请公开No. 2005-7110
发明内容
技术问题希望增加COS(云优化存储)用于云服务的需求,为了实现低TC0(总所有权成本),可以以小的初始投资且小的规模开始该云服务,跟上快速的增长(通过向外扩充 (scale out)即,安装新的存储系统同时保持现有存储系统的配置),并且灵活地改变配置。此外,开始扩展能够独立地对应于多个协议的存储(下文中称为统一存储),协议例如iSCSI (因特网小型计算机系统接口)、NFS/CIFS(NFS 网络文件系统,CIFS 公共因特网文件系统)或者FC (光纤通道)。在使用向外扩展配置的统一存储器的用于云服务的存储系统的操作中,为了优化性能,期望有效地利用(分区)在统一存储中包括的资源(例如CPU和高速缓冲存储器) 将是明显的。然而,因为统一存储器通过公共CPU处理多个协议,并且协议还共享高速缓冲存储器,很难根据每个协议的使用状态和存储系统性能来优化性能分离。
5
本发明在上述背景下用于提供存储系统和存储系统的控制方法,该存储系统和存储系统的控制方法可以根据协议的使用状态和存储系统性能来优化性能分离。问题的解决方案用于解决上述和其他问题本发明的一个方面是存储系统,包括多个存储设备,所述存储设备包括存储控制单元,根据从外部设备发送的数据输入/输出请求将数据写入存储器并且从存储器读出数据;以及协议处理单元,响应对于外部设备的输入/输出请求的处理结果,并且能够响应从外部设备发送的遵从至少两个或更多协议的数据输入/输出请求;其中每个存储设备包括群集处理单元,与用于外部设备的其他存储设备一起配置群集,并且群集处理单元能够对每个协议配置群集组。由此,通过使用存储系统配置用于每个协议的群集组,该存储系统使用包括能够响应从外部设备发送的遵从至少两个或更多协议的数据输入/输出请求的协议处理单元的存储设备(统一存储器),能够根据协议的使用状态以及整个存储系统性能优化性能分离。
本发明的另一个方面是上述存储系统,其中,存储设备存储群集管理表,群集管理表用于管理每个存储设备所属的群集组处理的协议,以及群集处理单元根据群集管理表通过将从外部设备发送的数据输入/输出请求转发或重新引导至其他外部设备来配置每个协议的群集组。本发明能够通过群集管理表以及群集处理单元中包括的转发和重新定向功能容易地配置每个协议的群集组,该群集管理表用于管理存储设备所属的群集组应对的协议。本发明的另一个方面是上述存储系统,其中,如果配置了每个协议的群集组,则群集处理单元使用于处理存储设备的协议的资源中的用于实现由存储设备所属的群集组应对的协议以外的协议的资源失活。因为不需要激活除了存储设备所属的群集组应对的协议之外的协议,通过失活这样的资源,减少存储设备上的处理负载,并且可以有效地操作存储设备。本发明的另一个方面是上述存储系统,其中,存储设备存储群集管理表,群集管理表用于管理每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,其中逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在配置了每个协议的群集组的情况下,如果群集管理表的内容发生了变化,并且逻辑卷所对应的协议不与相关逻辑卷所属的存储设备在所述变化后被假定要应对的协议相匹配时,群集处理单元将逻辑卷的数据迁移到其他存储设备的存储设备的逻辑卷,所述其他存储设备在所述变化后被假定要应对与相关逻辑卷对应的协议。由此,如果改变群集管理表的内容,群集处理单元自动地将数据迁移到与逻辑卷对应的协议相匹配的其他存储设备的逻辑卷。由此,例如,通过改变来自管理设备的群集管理表,可以容易且灵活地改变群集组的配置。本发明的另一个方面是如上所述的存储系统,其中,存储设备存储群集管理表,群集管理表用于管理每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,其中逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在将存储设备新加入到已经配置的群集组中而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。如上所述,在将存储设备新加入到已经配置的群集组中而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,群集处理单元根据逻辑卷的负载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。由此,本发明能够通过改变群集管理表的内容,容易地将新的存储设备加入到已经配置好的群集组。 可以通过在重新定位时尝试负载分配而优化存储系统的性能。本发明的另一个方面是上述存储系统,其中,存储设备存储群集管理表,群集管理表用于管理每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,其中逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在从已经配置的群集组中删除所述存储设备而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,群集处理单元将要被删除的存储设备的逻辑卷的数据迁移到用于应对相关存储设备曾经应对的协议的所述其他存储设备的逻辑卷。如上所述,在从已经配置的群集组中删除所述存储设备而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,群集处理单元将要被删除的存储设备的逻辑卷的数据迁移到应对相关存储设备曾经应对的协议的其他存储设备的逻辑卷。 由此,本发明通过改变群集管理表的内容能够容易地从已经配置好的群集组中删除存储设备。本发明的另一个方面是如上所述的的存储系统,其中,存储系统存储群集管理表, 群集管理表用于管理由每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,其中逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在将配置某个群集组的存储设备迁移到其他群集组而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。如上所述,在将配置某个群集组的存储设备迁移到其他群集组而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。由此,本发明通过改变群集管理表的内容能够容易地将配置某个群集组的存储设备迁移到其他群集组。也可以通过在重新定位时尝试负载分配来优化存储系统的性能。注意协议是iSCSI (互联网小型计算机系统接口)、NFS/CIFS (NFS 网络文件系统, CIFS 公共因特网文件系统)和FC(光纤通道)中的至少一个。在下面的实施例和附图中描述申请公开的其他问题和用于解决其他问题的手段。本发明的有益效果通过本发明,可以优化根据协议的使用状态的性能分离和存储系统性能。


图1是存储系统1的配置的示意图。图2是示出客户端设备1000、管理设备1100和存储设备MOO的功能的图表。图3是示出存储设备MOO的操作的图表。图4是示出当新安装统一存储器时访问LU 2420的方法的图表。
图5是示出通过转发实现群集的情况的图表。图6是示出群集管理表2517的例子的图表。图7是示出通过重新导向实现群集的情况的图表。图8是示出以协议为单位设置群集组观12的情况的图表。图9是群集管理表2517的例子。图10是示出群集组设置处理S1000的流程图。图11是示出改变群集组观12的设置的情况的图表。图12是示出设置改变处理S1200的流程图。图13是卷管理表1300的例子。图14是示出迁移处理1234的流程图。图15是示出将新的节点加入到群集组观12的情况的图表。图16是示出节点加入处理S1600的流程图。图17是示出从群集组观12删除节点的情况的图表。图18是示出节点删除处理S1800的流程图。图19是示出在群集组观12之间迁移节点的情况的图表。图20是示出节点迁移处理S2000的流程图。
具体实施例方式如下面图1所述的实施例示出了描述为实施例的存储系统1的配置的示意图。如图1所示,该存储系统1包括多个存储设备M00、一个或多个客户端设备1000 (外部设备)、 以及在第一位置6000处安装的管理设备1100,第一位置例如是数据中心、系统操作中心或其他。客户端设备1000和存储设备MOO通过数据网络5000可通信地连接。数据网络 5000例如是LAN(局域网)、WAN(广域网)或SAN(存储区域网)。存储设备MOO通过管理网络5100与管理设备1100可通信地连接。管理网络5001是例如LAN或WAN。存储设备 2400通过内部网络5002和外部网络5003与在其他位置(第二位置7000和第三位置8000) 处安装的其他存储系统可通信地连接。内部网络5002例如是LAN、WAN或SAN。外部网络 5003包括LAN、WAN、SAN、因特网、公共通信网和专用线路。注意还可以通过逻辑划分通信带宽的方法(例如VLAN(虚拟LAN))来共享相同的物理通信介质,从而实现数据网络5000、管理网络5001、内部网络5002和外部网络5003。客户端设备1000是用于访问存储设备MOO并且将数据输入/输出请求(数据写请求/数据读请求)发送到存储设备MOO的设备。客户端设备1000以块或文件为单位将输入输入/输出请求发送给存储设备M00。客户端设备1000是信息处理设备(计算机),例如个人计算机、办公计算机、大型主机或其他。客户端设备1000至少包括处理器1001 (例如CPU (中央处理单元))或MPU (微处理单元)、存储器1002 (例如易失性或非易失性RAM(随机访问存储器)或ROM(只读存储器))、以及通信接口 1003(例如NIC(网络接口卡)或HBA (主机总线适配器))。客户端设备1000还可以包括存储器(例如硬盘或半导体存储设备(SSD(固态驱动器))),输入设备 (例如键盘、鼠标或其他),以及输出设备(例如液晶监视器或打印机)。
8
根据以下协议执行客户端设备1000和存储设备MOO之间的通信例如TCP/IP、 FICON(光纤连接,注册商标)、ESC0N(企业系统连接,注册商标)、AC0NARC(高级连接结构, 注册商标)、FIBARC (光纤连接结构,注册商标)及其他。管理设备1100是信息处理设备(计算机),例如个人计算机、办公计算机或其他。 管理设备1100至少包括处理器1101 (例如CPU或MPU)、存储器1002 (例如易失性或非易失性RAM或ROM)、以及通信接口 1003 (例如NIC或HBA)。管理设备1100还可以包括存储器(例如硬盘或半导体存储设备(SSD(固态驱动器))),输入设备(例如键盘、鼠标或其他),以及输出设备(例如液晶监视器和打印机)。 管理设备1100通过管理网络5001与存储设备MOO可通信地连接。管理设备1100包括 GUI (图形用户界面)、CLI (命令行界面)或其他的用户界面,并且向用户或操作者提供功能以控制或监测存储设备MOO。管理设备1100还可能是存储设备MOO的一部分。存储设备MOO包括头设备2500、驱动控制设备2100和存储驱动2200 (存储器)。 头设备2500、驱动控制设备2100和存储驱动2200中的每一个可以被封装在单个框架 (chassis)中,或者这些中的至少一些可以被封装在相同的框架中。头设备2500和驱动控制设备2100的功能也可以由公共硬件实现。存储设备MOO是统一存储器,对应于多个协议(例如iSCSI (因特网小型计算机系统接口 )、NFS/CIFS(NFS 网络文件系统,CIFS 公共因特网文件系统)、FC(光纤通道) 等)(即能够响应遵守多个协议的输入输入/输出请求)。头设备2500包括用于与数据网络5000、管理网络5001和内部网络5002相连接的外部通信接口 2504、2505、2507 (例如NIC和HBA)、以及用于与处理器2501 (例如CPU、MPU、 DMA(直接存储器访问)、或定制LSI (大规模集成电路))、存储器2502(易失性或非易失性 RAM或ROM)、高速缓存存储器2503 (易失性或非易失性RAM)和驱动控制设备2100进行通信的内部通信接口 2506(例如NIC、HBA、PCI (外设部件互联)以及PCI-Express (注册商标))°头设备2500包括执行与客户端设备1000通信所需的协议(例如NAS、iSCSI、NFS/ CIFS和FC)相关的控制的功能,与文件控制(文件系统)相关的功能,以及与客户端设备 1000交换高速缓存存储器数据和数据输入/输出请求的功能。下面将描述在头设备2500 中包括的功能的细节。驱动控制设备2100包括与头设备2500和管理网络5001连接的外部通信接口 2104 和 2105 (例如 NIC,HBA,PCI 和 PCI-Express)、处理器 2101 (例如 CPU,MPU,DMA 或定制 LSI),存储器2102 (易失性或非易失性RAM或ROM)、高速缓存存储器2103 (易失性或非易失性RAM)和与存储设备进行通信的驱动通信接口 2106 (例如SAS (串行连接SCSI) ,SATA (串行 ATA)、PATA (并行 ATA)、FC 或 SCSI)。驱动控制设备2100根据从头设备2500发送的数据输入/输出请求(下文中称为驱动访问请求)来从存储驱动器2200读出数据以及向存储驱动器2200写入数据。驱动控制设备2100用于安全或有效利用存储驱动器2200的多种功能,例如通过RAID(廉价(独立)磁盘冗余阵列)控制存储驱动器2200的功能、向头设备2500和客户端设备提供逻辑存储设备(LDEV(逻辑设备))的功能、验证数据的有效性的功能、获得快照(snapshot)的功能或其他。下面将描述在驱动控制设备2100中包括的功能的细节。
存储驱动器2200例如是符合特定标准(SAS、SATA, FC、PATA或SCSI)的硬盘驱动器,具有多个硬盘驱动器的JBOD (就是一组磁盘),或者半导体存储设备(SSD (固态驱动器))°图2示出客户端设备1000、管理设备1100和存储设备MOO的功能。在客户端设备1000中,执行应用软件(下文中称为应用1011)和通信客户端1012。应用1011是用于提供例如文件共享、电子邮件、数据库或其他的软件。通信客户端1012(协议客户端)与存储设备MOO进行通信(例如发送数据输入 /输出请求以及接收数据输入/输出请求的响应)。对于上述通信,通信客户端1012执行与协议(例如iSCSI、NFS/CIFS和FC)相关的处理(例如格式转换和通信控制)。注意这些功能是由读取存储器1002中存储的程序的客户端设备1000的处理器1001实现的。管理设备1100包括管理单元1111。管理单元1111设置、控制和监测存储设备 2400的操作。注意管理单元1111是由管理设备1100的处理器1101通过读取和执行存储器1102中存储的程序实现的。管理单元1111的功能既可以由与存储设备MOO不同的设备实现也可以由存储设备MOO实现。存储设备MOO的头设备2500包括操作系统2511 (包括驱动器软件)、卷管理单元 2512、文件系统2513、一个或多个通信服务器2514 (协议服务器)(协议处理单元)、以及群集处理单元2516。注意这些功能由头设备2500的硬件实现,或者由处理器2501读取存储器2502中存储的程序实现。卷管理单元2512向客户端设备1000提供基于由存储驱动器2200提供的逻辑存储区域的虚拟存储区域(下文中称为虚拟卷)。文件系统2513通过文件规范方法从客户端设备1000接收数据输入/输出请求。 头设备2500作为数据网络5000中的NAS(网络附接存储器)操作。注意,尽管这个实施例中的描述假定头设备2500包括文件系统2513,头设备2500不必须包括文件系统2513。例如,头设备2500可以通过LBA (逻辑块地址)规范方法来接受数据输入/输出请求。通信服务器2514与客户端设备1000的通信客户端1012以及管理设备1100的管理单元1111进行通信。对于上述通信,通信服务器2514执行与协议(例如iSCSI,NFS/ CIFS和FC)相关的处理(例如格式转换和通信控制)。群集处理单元2516按照原来设置的群集定义处理数据输入/输出请求。例如,如果从客户端设备1000接收的数据输入/输出请求寻址其自己,群集处理单元2516自己处理数据输入/输出请求。如果所接收的数据输入/输出请求寻址其他存储设备M00,它将相关的数据输入/输出请求发送给应对数据输入/输出请求的其他存储设备2400。群集处理单元2516管理群集管理表2517中的上述群集定义。存储设备MOO的驱动设备2000包括存储控制单元MlO。存储控制单元MlO向头设备2500提供逻辑卷(下文中称为LUM20(LU:逻辑单元))作为基于存储驱动器2200 的逻辑存储区域。头设备2500可以通过指定LUM20的标识符(LUN(逻辑单元号))来指定LUM20。例如通过LVM(逻辑卷管理器)来实现存储控制单元MlO的功能。统一存储器图3是示出存储设备MOO的操作的图表。如上所述,存储设备MOO是对应于多个协议(iSCSI,NFS/CIFS,FS)的统一存储器(即,能够响应遵守多个协议的数据输入/输出请求)。图中所示的存储设备MOO对应于NFS和iSCSI两个协议,并且包括操作为NFS 服务器的通信服务器2514和操作为iSCSI目标的通信服务器2514。其中,操作为NFS服务器的上述通信服务器2514接受数据输入/输出请求,该数据输入/输出请求是从操作为客户端设备1000的NFS客户端的通信客户端1012发送的。同时,操作为iSCSI目标的上述通信服务器2514从操作为客户端设备1000的iSCSI初始化器(initiator)的通信客户端 1012发送的数据输入/输出请求。资源分配图4是示出当通过使用第一存储设备MOO作为用于增强资源(性能,容量或其他)等的统一存储器而配置的存储系统1中新安装第二存储设备MOO作为统一存储器时访问LUM20的方法的图表。用户或操作员通过使用管理设备1100的管理单元1111提供的用户界面,通过执行将LUM20装配到每个客户端设备1000的设置,从客户端设备1000 到LUM20的访问路径的设置和其他设置,来追加第二存储设备2400。注意,通过这个方法, 存储设备MOO (第一存储设备MOO和第二存储设备2400)被客户端设备1000识别为两个独立的设备。群集类似于图4,图5示出了新安装第二存储设备MOO的情况。然而,与图4的不同之处在于,通过使用两个存储设备MOO (第一存储设备MOO和第二存储设备2400)来配置群集观11。如果由这个方法配置群集观11,第一存储设备MOO和第二存储设备MOO被客户端设备1000识别为一个虚拟存储系统。这样的群集观11可以通过转发或重新导向存储设备MOO中的请求来实现从客户端设备1000发送的数据输入/输出请求。图5是示出通过转发实现群集观11的情况的图表,以及图7是示出通过重新导向实现群集观11的情况的图表。如图5所示,在转发的情况下,群集处理单元2516首先识别应该处理从客户端设备1000接收的数据输入/输出请求的存储设备2400。然后,如果请求是应该由群集处理单元2516自己处理的数据输入/输出请求,则群集处理单元2516处理该请求,并且如果该请求是应该有其他存储设备MOO处理的数据输入/输出请求,则群集处理单元2516将接收到的数据输入/输出请求发送给其他存储设备M00。图6是当识别应该处理数据输入/输出请求的存储设备MOO时由群集处理单元 2516参考的信息(下文中称为群集管理表2517)。如图所示,群集管理表2517包括由群集名称611和节点612构成的一个或多个记录。在群集名称611中,设置对每个配置的群集组给出的标识符(下文中称为群集ID)。在节点612中,设置作为每个群集的要素的存储设备MOO的标识符(下文中称为设备ID)。如图7所示,在重新导向的情况下,群集处理单元2516首先通过参考群集管理表2517来识别应该处理从客户端设备1000接收的数据输入/输出请求的存储设备M00。 然后,如果请求是应该由存储设备MOO自己处理的数据输入/输出请求,则群集处理单元 2516处理该请求,并且如果请求是应该由其他存储设备MOO处理的数据输入/输出请求, 则向发送了所接收的数据输入/输出请求的客户端设备1000通知重新导向地址(所识别的其他存储设备2400(例如网络地址))。接收到该通知的客户端设备1000将数据输入/ 输出请求重新发送到所通知的重新导向地址。
以协议为单位的群集组尽管上面已经描述了不根据协议实现群集组观11的方法,通过使用统一存储器的特性可以以协议为单位设置群集组(下文中称为群集组(能够对应于多个协议)。图8是示出以协议为单位设置群集组观12的情况的图表(在图中每个群集组观12具有NFS服务器和iSCSI目标)。也可以通过准备上述群集管理表2517并执行转发或重新导向来实现群集组观12。图9是用于管理群集组观12的群集管理表2517的例子。如图所示,群集管理表 2517包括一个或多个记录,每个记录包括群集名称911、节点912、作用(role)913、和节点 914。在群集名称911中,设置对每个配置的群集给出的标识符(下文中称为群集ID)。在节点912中,设置作为每个群集的要素的存储设备MOO的标识符(下文中称为设备ID)。 在作用913中,设置用于识别由每个群集组观12支持的协议的标识符(下文中称为协议 ID)。在节点914中,设置分配给每个作用的存储设备MOO的标识符。在图9所示的群集管理表2517中,具有“群集1”的群集名称911和 “10. 1. 1. 1-10. 1. 1. 5”的节点914的一组存储设备2400配置具有“NAS-1”的作用913的 NFS服务器的群集组观12。具有“群集1”的群集名称911和“10. 1. 1. 6-10. 1. 1. 10”的节点 914的一组存储设备MOO配置具有“iSCSI-1”的作用913的iSCSI服务器的群集组沘12。 具有“群集2”的群集名称911和“10. 1. 1. 11-10. 1. 1. 15”的节点914的一组存储设备2400 配置具有“FC-1”的作用913的FC (光纤通道)服务器的群集组观12。具有“群集2”的群集名称911和“10. 1. 1. 15-10. 1. 1. 20”的节点914的一组存储设备2400配置具有“NAS-2” 的作用913的NFS服务器的群集组观12。注意,为了以协议为单元设置群集组观12,这可以被认为失活资源(硬件资源和软件资源)以实现每个存储设备MOO未使用的协议。图8以实线示出激活的资源,以虚线示出未激活的资源。如图所示,通过失活未使用的协议的资源,可以减少存储设备MOO的处理负载,并且可以有效地操作存储设备对00。初始设置图10是示出当用户或操作者通过操作管理设备1100来执行群集观11和群集组观12的初始设置时执行的处理(下文中称为群集设置处理S1000)的流程图。注意在下面的描述中在数字前面加字母“S”表示步骤。首先,管理设备1100的管理单元1111从用户或操作者接收群集观11的设置信息以及群集组观12的设置信息(S1011到S1012)。此时,管理单元1111例如通过显示图9所示的群集管理表2517的设置屏幕而接收设置信息。然后,管理单元1111经由管理网络5001将接收的设置信息发送到存储设备 2400 (S1013)。每个存储设备MOO的群集处理单元2516接收从管理设备1100发送的设置信息(S1021),并且在群集管理表2517中反映所接收的设置信息(S1022)。在群集管理表 2517中反映设置信息之后,每个存储设备MOO的群集处理单元2516将注册完成报告发送给管理设备1100(S1023)。当接收到注册完成报告(S1031)时,管理单元1111将资源设置命令(设置激活或失活的命令)(S103》发送到每个存储设备MOO的群集处理单元2516。在接收到资源设置命令(S1041)时,每个存储设备MOO的群集处理单元2516激活与它应对的协议相关的资源,并且失活与它不应对的协议相关的资源(S1042)。这一系列处理(S1031、1032、1041和 1042)不是强制的,其可以被看作可选的。这也可以应用到下面的描述。注意软件资源的激活意味着开始软件的处理,而软件资源的失活意味着终止或删除软件的处理。群集处理单元2516根据分配给节点的接口协议,执行开始、终止和删除接口处理过程的操作(nfsd和iSCSI目标软件)。改变群集组设置的情况下面描述如图11所示在存储系统1中已经设置群集观11和群集组观12时改变群集组观12的设置的情况。图12是示出当在存储系统1中已经设置了群集观11和群集组观12时改变群集组观12的设置的处理(下文中称为设置改变处理S1200)的流程图。首先,管理设备1100的管理单元1111从用户或操作者接受群集组观12的设置信息(S1211)。管理单元1111例如通过显示图9所示的群集管理表2517的设置屏幕来接受设置信息。然后,管理单元1111经由管理网络5001将所接收的设置信息发送到每个存储设备MOO (S1212)。每个存储设备MOO的群集处理单元2516接收从管理设备1100发送的设置信息(S1221),并且在群集管理表2517中反映所接收的设置信息(S1222)。在群集管理表2517中反映设置信息之后,每个存储设备MOO的群集处理单元2516将注册完成报告发送给管理设备1100(S1223)。当接收到注册完成报告(S1231)时,管理设备1100的管理单元1111识别与群集组观12的新设置的设置不匹配(在设置改变之后)的LU 2420(即不匹配在设置改变之后的群集组观12的使用的LU) (S1232)。在这一步,通过参考由每个存储设备MOO管理的 LU M20相关的信息识别这样的LU 2420。图13是示出这样的信息的例子的表格(此后称为卷管理表1300)。在图中示出的卷管理表1300中,管理每个LU(LUN 1311)的当前使用 1312(协议)。下面,管理单元1111将存储设备MOO确定为在S1232中识别的LU 2420的迁移目的地(下文中称为迁移目的地存储设备2400) (S1233)。这个由管理单元1111作出的确定是在上述设置改变之后通过从群集管理表2517中选择支持与S1232中识别的LU 2420 的使用相匹配的协议的一个存储设备MOO作出的。注意,如果在这一步可以选择多个迁移目的地存储设备MOO,管理单元1111鉴于例如循环(round-robin)方法、负载分配、存储区域的剩余容量和其他因素来选择最恰当的一个。下面,管理单元1111开始将识别的LU 2420的数据迁移到所确定的目的地的处理 (下文中称为迁移处理S1234) (S1234)。图14是示出迁移处理S1234的细节的流程图。首先,管理设备1100的管理单元1111选择一个识别的LU 2420(下文中称为迁移源LU 2420) (SHll)0然后,管理单元1111将用于获取迁移源LU M20的快照的命令发送到其中存在选定的迁移源LU 2420的存储设备2400(下文中称为迁移源存储设备2400) (S1412)。在接收到用于获取快照的命令(S1413)时,迁移源存储设备MOO获取迁移源LU 2420 的快照(S1414)。然后,管理单元1111向在步骤S1233确定的迁移目的地存储设备MOO发送用于创建LU作为迁移源LU M20的迁移目的地(下文中称为迁移目的地LU 2420)的命令(S1421)。在接收到上述创建命令(S1422)时,迁移目的地存储设备MOO创建迁移目的地 LU 2420(S1423) 然后,管理单元1111向迁移源存储设备MOO和迁移目的地存储设备MOO发送用于将迁移源LU M20中存储的数据复制到迁移目的地LU M20的命令(S1431)。当接收到上述复制命令(S1432和S143!3)时,迁移源存储设备MOO和迁移目的地存储设备MOO将在S1414获取的快照从迁移源LU M20传递到迁移目的地LU M20 (S1434和S143Q。在完成复制之后,从迁移目的地存储设备2400(或迁移源存储设备也是有可能的)向管理设备 1100发送快照复制完成报告(S1436)。管理设备1100接收所发送的复制完成报告(S1437)。注意,如果迁移源存储设备MOO实现了执行上述复制而不中止客户端设备1000 的服务的功能(下文中称为容错迁移功能),上述复制处理过程中的差异数据由高速缓存存储器2503 (其可由高速缓存存储器2103替换)和存储驱动器2200来管理,并且在完成复制之后,在迁移目的地LU 2420中反映被管理的差异数据。然后,管理单元1111执行用于将与迁移源LU M20连接的端口转换到与迁移目的地LU M20连接的端口的处理(S1461)。该处理是通过例如将与迁移源LU M20连接的 iSCSI端口的IP地址设置为与迁移目的地LU 2420连接的iSCSI端口的IP地址而执行。 注意,优选地通过例如在迁移之前和之后由DNS (域名服务器(系统))改变IP地址而不改变服务名或其他,执行该转换而不改变客户端设备1000的设置。在S1462,管理单元1111确定是否存在S1411中没有选择的任何LU 2420。如果存在(S1462 是),处理返回到S1411。如果不存在(S1462 否),完成迁移处理S1234并且返回到图12中的S1235。注意迁移处理S1234的上述描述假定在存储设备MOO中实现的存储设备MOO之间使用数据复制功能,但是也可以通过使用配置数据网络5000的网络交换机中实现的复制功能、客户端设备1000中安装的复制功能或其他来执行从迁移源LU 2420到迁移目的地 LU 2420的数据复制。描述再次返回图12。在S1235,管理单元1111将资源设置命令发送到每个存储设备MOO的群集处理单元2516 (S1235)。当接收到所发送的资源设置命令(S1241)时,每个存储设备MOO的群集处理单元2516根据改变后它的群集组观12的设置执行资源设置(激活或失活)(S1M2)。如上所述,如果改变了群集管理表2517的内容,群集处理单元2516自动地将数据迁移到与LU 2420对应的协议相匹配的其他存储设备MOO的LUM20。由此,可以通过例如从管理设备1100改变群集管理表2517来容易且灵活地改变群集组观12的配置。将新的节点加入到现有群集组的情况下面如图15所示,下面描述将新的节点(存储设备M00)加入到现有的群集组观12的情况。图16是示出这种情况下执行的处理(节点追加处理S1600)的流程图。下面通过参考如上所述的图表描述节点追加处理S1600。首先,管理设备1100的管理单元1111从用户或操作者接收将新的节点(上述附图中的第五存储设备M00)追加到群集组观12的设置信息(S1611)。此时,管理单元1111 通过显示图9所示的群集管理表2517的设置屏幕来接受设置信息。然后,管理单元1111将上述接受的设置信息经由管理网络5001发送给每个存储
14设备MOO (S1612)。每个存储设备MOO的群集处理单元2516接收从管理设备1100发送的设置信息(S1621),并且将接收的设置信息反映到群集管理表2517 (S1622)。在将设置信息反映到群集管理表2517之后,每个存储设备MOO的群集处理单元2516将注册完成报告发送给管理设备1100(S1623)。在接收到注册完成报告(S1631)时,管理单元1111确定由于追加节点是否必须迁移数据(重新定位数据)(S163》。参考LU 2420的负载信息进行确定,例如在每个存储设备2400中每个LU M20的使用状态或者与每个LU M20连接的端口性能信息。如果确定必须迁移数据(S1632 是),管理单元1111开始数据迁移处理(S1633)。这个迁移处理S1633 与图14所示的上述迁移处理S1234相同。然后,管理单元1111将资源设置命令发送给每个存储设备MOO的群集处理单元 2516(S1635)。当接收到发送的资源设置命令(S1641)时,每个存储设备MOO的群集处理单元2516根据改变后它的群集组观12的设置执行资源设置(激活或失活)(S1642)。如上所述,如果改变群集管理表2517的内容以将新的存储设备MOO加入到现有的群集组观12,群集处理单元2516根据LU 2420的负载信息确定是否必须重新定位数据, 并且如果确定必须,自动地在LU M20之间迁移数据。如上所述,这种方法能够容易地将新的存储设备MOO加入到已经配置的群集组观12。还可以通过在重新定位时尝试负载分配来优化存储系统1的性能。从群集组删除节点的情况下面如图17所示,描述从现有的群集组观12删除节点的情况。图18是示出这种情况执行的处理(节点删除处理S1800)的流程图。下面通过参考图18描述节点删除处理 S1800。首先,管理设备1100的管理单元1111从用户或操作者接受从群集组观12删除节点(图17中的第一存储设备M00)的设置信息(S1811)。此时,管理单元1111通过显示图 9所示的群集管理表2517的设置屏幕来接受设置信息。然后,管理单元1111将上述接受的设置信息经由管理网络5001发送给每个存储设备MOO (S1812)。每个存储设备MOO的群集处理单元2516接收从管理设备1100发送的设置信息(S1821),并且将接收的设置信息反映到群集管理表2517 (S1822)。在将设置信息反映到群集管理表2517之后,每个存储设备MOO的群集处理单元2516将注册完成报告发送给管理设备1100(S1823)。在接收到注册完成报告(S1831)时,管理单元1111将存储设备MOO确定为要被删除的存储设备MOO的LU 2420(要被删除的LU 2420)中存储的数据的迁移目的地(下文中称为迁移目的地存储设备2400) (S1832)。通过从群集管理表2517中选择支持与要被删除的LU 2420的使用匹配的协议的一个存储设备M00,在上述设置改变之后,由管理单元1111进行上述确定。注意,如果在这一步可以选择多个迁移目的地存储设备M00,管理单元1111鉴于例如循环方法、负载分配、存储区域的剩余容量和其他因素选择最恰当的一个。然后,管理单元1111开始将要被删除的第一存储设备MOO的LU 2420中存储的数据迁移到在S1832确定的另一个存储设备MOO的LU 2420(S1833)o该迁移处理与图14 所示的上述迁移处理S1234相同。
如上所述,如果改变群集管理表2517的内容以当已经配置了用于每个协议的群集组观12时从已经配置的群集组观12删除存储设备M00,群集处理单元2516将数据迁移到应对用于由相关存储设备MOO曾经应对的协议的另一个存储设备MOO的LU 2420。这使得容易从已经配置的群集组观12删除存储设备M00。在群集组之间转移节点的情况下面参考图19描述将属于现有群集组观12的节点(存储设备M00)转移到另一个现有群集组观12的情况。图20是示出在这种情况下执行的处理(节点转移处理S2000) 的流程图。下面参考图20描述节点转移处理S2000。首先,管理设备1100的管理单元1111从用户或操作员接受转移节点的设置信息(图19示出了将属于NAS群集的群集组观12的第二存储设备MOO转移到群集组 ^12(iSCSI群集))的设置信息(S2011)。此时,管理单元1111通过显示图9所示的群集管理表2517的设置屏幕来接受设置信息。然后,管理单元1111将上述接受的设置信息经由管理网络5001发送给每个存储设备MOO (S2012)。每个存储设备MOO的群集处理单元2516接收从管理设备1100发送的设置信息(S2021),并且将所接收的设置信息反映到群集管理表2517(S2022)。在将设置信息反映到群集管理表2517之后,每个存储设备MOO的群集处理单元2516将注册完成报告发送给管理设备1100(S2023)。在接收到注册完成报告(S2031)时,管理单元1111确定是否必须迁移数据(重新定位数据)(S203》。参考LU 2420的负载信息进行确定,例如在每个存储设备MOO中每个LU M20的使用状态或者与每个LU M20连接的端口性能信息。如果确定必须迁移数据 (S2032 是),管理单元1111开始数据迁移处理(S203!3)。这个处理与图14所示的迁移处理S1234相同。然后,管理单元1111将资源设置命令发送给每个存储设备MOO的群集处理单元 2516(S2035)。当接收到资源设置命令(S2041)时,每个存储设备MOO的群集处理单元2516 根据改变后它的群集组观12的设置执行资源设置(激活或失活)(S2042)。如上所述,如果改变群集管理表2517的内容以当已经配置了每个协议的群集组 2812时将配置某个群集组观12的存储设备MOO转移到另一个群集组观12,群集处理单元 2516根据LU 2420的负载信息确定是否必须重新定位数据,并且如果是,自动地在LUM20 之间迁移数据。由此,本发明通过改变群集管理表2517的内容能够容易地将配置某个群集组观12的存储设备MOO迁移到另一个群集组。还可以通过在重新定位时尝试负载分配来优化存储系统的性能。如上所述,本实施例中的存储系统1通过使用包括通信服务器2514(协议处理单元)的存储设备MOO (统一存储器)对每个协议容易地配置群集组观12,该通信服务器 2514能够响应从客户端设备1000发送的遵守至少两个或更多协议的数据输入/输出请求。 通过该方法,可以根据协议的使用状态和存储系统性能优化性能分离。应该理解到上述实施例用于容易理解本发明并且不以任何方式局限于这里的特定构成,而是可以包括本发明的精神和范围内的任何改变、修改或等效替换。
权利要求
1.一种存储系统,包括多个存储设备,所述存储设备包括存储控制单元,根据从外部设备发送的数据输入/输出请求将数据写入存储器和从存储器读出数据;以及协议处理单元,响应对于外部设备的输入/输出请求的处理结果,并且能够响应从外部设备发送的遵从至少两个或更多协议的数据输入/输出请求;其中,每个存储设备包括群集处理单元,所述群集处理单元与用于外部设备的其他存储设备一起配置群集,并且群集处理单元能够对每个协议配置群集组。
2.根据权利要求1所述的存储系统,其中,存储设备存储群集管理表,群集管理表用于管理由每个存储设备所属的群集组应对的协议,并且群集处理单元根据群集管理表通过将从外部设备发送的数据输入/输出请求转发或重新引导至所述其他存储设备来配置每个协议的群集组。
3.根据权利要求1所述的存储系统,其中,如果配置了每个协议的群集组,则群集处理单元使用于处理所述存储设备的协议的资源中的用于实现由所述存储设备所属的群集组应对的协议以外的协议的资源失活。
4.根据权利要求1所述的存储系统,其中,存储设备存储群集管理表,群集管理表用于管理由每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在配置了每个协议的群集组的情况下,如果群集管理表的内容发生了变化,并且逻辑卷所对应的协议不与相关逻辑卷所属的存储设备在所述变化后被假定要应对的协议相匹配时,则群集处理单元将逻辑卷的数据迁移到其他存储设备的存储设备的逻辑卷,所述其他存储设备的存储设备在所述变化后被假定要应对与相关逻辑卷对应的协议。
5.根据权利要求1所述的存储系统,其中,存储设备存储群集管理表,群集管理表用于管理由每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在将存储设备新加入到已经配置的群集组中而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,则在逻辑卷之间迁移数据。
6.根据权利要求1所述的存储系统,其中,存储设备存储群集管理表,群集管理表用于管理由每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在从已经配置的群集组中删除所述存储设备而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元将要被删除的存储设备的逻辑卷的数据迁移到用于应对相关存储设备曾经应对的协议的所述其他存储设备的逻辑卷。
7.根据权利要求1所述的存储系统,其中,存储系统存储群集管理表,群集管理表用于管理由每个存储设备所属的群集组应对的协议,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在将配置某个群集组的存储设备迁移到其他群集组而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。
8.根据权利要求1所述的存储系统,其中,协议是iSCSI (因特网小型计算机系统接口)、NFS/CIFS(NFS 网络文件系统,CIFS 公共因特网文件系统)和FC(光纤通道)中的至少一个。
9.一种存储系统的控制方法,所述存储系统包括多个存储设备,所述存储设备包括存储控制单元,根据从外部设备发送的数据输入/输出请求将数据写入存储器和从存储器读出数据;以及协议处理单元,响应对于外部设备的输入/输出请求的处理结果,并且能够响应从外部设备发送的遵从至少两个或更多协议的数据输入/输出请求;其中,每个存储设备包括群集处理单元,所述群集处理单元与用于外部设备的其他存储设备一起配置群集,群集处理单元能够对每个协议配置群集组,所述方法包括存储系统存储群集管理表,群集管理表用于管理由每个存储设备所属的群集组应对的协议;以及群集处理单元通过根据群集管理表将从外部设备发送的数据输入/输出请求转发或重新定向到所述其他存储设备来配置每个协议的群集组。
10.根据权利要求9所述的存储系统的控制方法,其中,如果配置了每个协议的群集组,则群集处理单元使用于处理所述存储设备的协议的资源中的用于实现由所述存储设备所属的群集组应对的协议以外的协议的资源失活。
11.根据权利要求9所述的存储系统的控制方法,其中,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在配置了每个协议的群集组的情况下,如果群集管理表的内容发生了变化,并且逻辑卷所对应的协议不与相关逻辑卷所属的存储设备在所述变化后被假定要应对的协议相匹配时,则群集处理单元将逻辑卷的数据迁移到其他存储设备的存储设备的逻辑卷,所述其他存储设备的存储设备在所述变化后被假定要应对与相关逻辑卷对应的协议。
12.根据权利要求9所述的存储系统的控制方法,其中,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在将存储设备新加入到已经配置的群集组中而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。
13.根据权利要求9所述的存储系统的控制方法,其中,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在从已经配置的群集组中删除所述存储设备而使得所述群集表的内容发生了变化时, 如果已经配置了每个协议的群集组,则群集处理单元将要被删除的存储设备的逻辑卷的数据迁移到用于应对相关存储设备曾经应对的协议的其他存储设备的逻辑卷。
14.根据权利要求9所述的存储系统的控制方法,其中,存储设备以逻辑卷为单位提供存储器的存储区域,所述逻辑卷是采用逻辑方式对外部设备设置的存储区域,并且在将配置某个群集组的存储设备迁移到其他群集组而使得所述群集管理表的内容发生了变化时,如果已经配置了每个协议的群集组,则群集处理单元根据逻辑卷的装载信息确定是否需要重新定位数据,并且如果确定需要,在逻辑卷之间迁移数据。
全文摘要
为了根据协议的使用状态和存储系统性能优化性能分离的目的,在存储系统(1)中,包括多个存储设备(2400),所述存储设备包括存储控制单元(2410),根据从外部设备(1000)发送的数据输入/输出请求将数据写入存储驱动器(2200)并且从存储驱动器(2200)读出数据;以及协议处理单元(2514),响应至外部设备(1000)的输入/输出请求的处理结果,并且能够响应遵守从外部设备(1000)发送的至少两个或更多协议的数据输入/输出请求;其中每个存储设备(2400)包括群集处理单元(2516),与外部设备(1000)的其他存储设备(2400)一起配置群集,并且群集处理单元(2516)能够对每个协议配置群集组(2812)。
文档编号H04L29/08GK102341777SQ20098015779
公开日2012年2月1日 申请日期2009年6月26日 优先权日2009年6月26日
发明者冈本卓哉, 蔀秀久 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1