共享贮存系统、以及控制向贮存装置的访问的方法
【技术领域】
[0001]本发明的实施方式涉及共享贮存系统、以及控制向贮存装置的访问的方法。
【背景技术】
[0002]近年来,共享贮存(storage)系统的开发正在盛行。共享贮存系统作为多个贮存装置被多个主服务器共享的贮存系统而公知。这样的共享贮存系统一般具备管理服务器。管理服务器对共享贮存系统整体进行管理。
[0003]在共享存系统中,采用逻辑单元。逻辑单元也被称为逻辑卷(Logical Volume)或者逻辑盘,具有逻辑性存储区域。逻辑性存储区域内的任意存储位置由虚拟地址指定。逻辑性存储区域与多个贮存装置的至少一个物理性的存储区域的至少一部分建立对应。管理服务器为了按共享贮存系统内的每个逻辑单元来管理虚拟地址与贮存装置的实地址的对应,按该逻辑单元的每一个来保持地址管理信息(例如,地址管理表)。
[0004]这里,设共享贮存系统内的主服务器访问自身配备的(自身被提供的)逻辑单元内的目标存储位置。该情况下,主服务器向管理服务器查询与目标存储位置的虚拟地址建立了对应的贮存装置内的存储位置的地址(即实地址)以及该贮存装置(更详细而言为该贮存装置的识别符)。即,主服务器在访问逻辑单元内的目标存储位置时,为了知晓与该目标存储位置建立了对应的贮存装置的存储位置而访问管理服务器。这样的向管理服务器的访问在共享贮存系统内的其他的各个主服务器想要访问逻辑单元内的目标存储位置的情况下也会发生。
[0005]现有技术文献
[0006]专利文献
[0007]专利文献1:日本特开2010 - 233190号公报
【发明内容】
[0008]发明要解决的课题
[0009]如上述那样,共享贮存系统内的多个主服务器在访问对该多个主服务器分别提供的逻辑单元内的目标存储位置时,有必要访问管理服务器。在这样的共享贮存系统中,从多个主服务器向管理服务器的访问的集中成为共享贮存系统整体的性能提高的瓶颈。即,即便共享贮存系统的例如主服务器的数量、或者贮存装置的数量(或存储容量)增加,由于向管理服务器的访问进一步集中,所以难以获得与这样的增加相称的系统性能。
[0010]鉴于此,为了消除向管理服务器的访问的集中,可考虑以下那样的构成。所述构成是共享贮存系统内的多个主服务器分别具有该管理服务器中保持的地址管理信息的拷贝的构成。根据这样的构成,多个服务器的每一个能够基于自身所具有的地址管理信息的拷贝来取得与目标存储位置的虚拟地址建立了对应的实地址。即,多个服务器的每一个能够不需要向管理服务器的查询地访问目标存储位置。
[0011]但是,在上述的构成中,例如在地址管理信息根据第一主服务器的数据更新而被更新的情况下,难以在第一主服务器与其他主服务器之间使地址管理信息一致。
[0012]本发明想要解决的课题在于,提供一种尽管应用多个主服务器分别具有管理服务器中保持的地址管理信息的拷贝的构成,但能够不需要进行在主服务器间使地址管理信息一致的处理的共享贮存系统、以及控制向贮存装置的访问的方法。
[0013]用于解决课题的方法
[0014]根据实施方式,共享贮存系统具备多个主服务器、多个贮存装置、管理服务器、和交换机。多个贮存装置被所述多个主服务器共享。所述管理服务器向所述多个主服务器提供被分配所述多个贮存装置的至少一部分的存储区域的多个逻辑单元。所述交换机将所述多个主服务器、所述多个贮存装置以及所述管理服务器连接。所述管理服务器对所述多个逻辑单元的每一个使用第一地址管理信息来管理所述多个逻辑单元各自的虚拟地址、该虚拟地址被分配的贮存装置的实地址、与表示该贮存装置的贮存识别符的对应,且使用第一修订数据来管理所述第一地址管理信息的修订。所述多个主服务器的每一个保持与由所述管理服务器提供的逻辑单元对应的所述第一地址管理信息以及所述第一修订数据各自的拷贝即第二地址管理信息以及第二修订数据。所述多个主服务器的每一个在访问第一逻辑单元的第一虚拟地址的情况下,从与所述第一逻辑单元对应的所述第二地址管理信息取得与所述第一虚拟地址建立了对应的第一实地址以及第一贮存识别符。所述多个主服务器的每一个还使用表示所述第一逻辑单元的第一逻辑单元识别符、所述第一实地址、以及与所述第一逻辑单元对应的所述第二修订数据,对由所述第一贮存识别符表示的贮存装置请求访问。所述多个贮存装置的每一个至少保持包括与被分配了所述多个贮存装置各自的存储区域的逻辑单元建立了对应的第三修订数据的更新管理信息。所述第三修订数据表示根据对应的所述第一地址管理信息的更新而由所述管理服务器通知的所述对应的第一地址管理信息的修订。在使用所述第一逻辑单元识别符、所述第一实地址、以及所述第二修订数据从所述多个主服务器之一的第一主服务器请求了访问的情况下,所述多个贮存装置的每一个至少以所述第二修订数据与所述第一逻辑单元识别符所表示的所述第一逻辑单元所对应的所述第三修订数据一致为条件,来基于所述第一实地址执行被请求的访问。
【附图说明】
[0015]图1是表示一个实施方式涉及的共享贮存系统的典型的构成的框图。
[0016]图2是表示逻辑单元的逻辑性存储区域与两个贮存装置的物理性存储区域的对应的例子的概念图。
[0017]图3是表示图1所示的管理信息的数据结构的例子的图。
[0018]图4是表示该实施方式中的读访问处理的典型的步骤的流程图。
[0019]图5是表示图1所示的地址管理表的数据结构的例子的图。
[0020]图6是表示该实施方式中应用的指令的典型的格式的图。
[0021]图7是表示该实施方式中的写访问处理的典型的步骤的流程图。
[0022]图8是表示图7所示的写访问处理中包含的地址管理表更新处理的典型的步骤的流程图。
[0023]图9是用于对地址管理表更新处理进行说明的图。
[0024]图10是表示该实施方式中的管理服务器停机时的访问处理的典型的步骤的流程图。
[0025]图11是用于对管理服务器停机时的访问处理进行说明的图。
【具体实施方式】
[0026]以下,参照附图对各种实施方式进行说明。
[0027]图1是表示一个实施方式涉及的共享贮存系统的典型的构成的框图。图1所示的共享贮存系统具备多个贮存装置(例如,两个贮存装置11a以及11b)、多个主服务器(例如,三个主服务器12a、12b以及12c)、和管理服务器13。这样,在本实施方式中,共享贮存系统具备两个贮存装置11a以及lib。但是,共享贮存系统也可以具备超过两个的贮存装置。另外,在本实施方式中,共享贮存系统具备三个主服务器12a、12b以及12c。但是,共享贮存系统也可以具备两个贮存装置或者超过三个的贮存装置。
[0028]主服务器12a、12b以及12c分别具备主机总线适配器(HBA) 120a、120b以及120c。HBA120a、120b以及120c也被称为主控制器,将主服务器12a、12b以及12c与其他的网络设备或者贮存装置连接。
[0029]贮存装置11a以及11b、主服务器12a、12b以及12c (更详细而言为主服务器12a、12b以及12c的HBA120a、120b以及120c)、和管理服务器13经由如交换集线器(网络交换机)那样的交换机14而连接。通过该连接,可构建包括贮存装置11a以及11b、主服务器12a、12b以及12c、和管理服务器13的网络(共享贮存系统),贮存装置11a以及11c被主服务器12a、12b以及12c共享。
[0030]在本实施方式中,服务器12a、12b、12c以及13是分别独立的计算机。但是,主服务器12a、12b以及12c的至少两个也可以在一个计算机上动作。另外,主服务器12a、12b以及12c的至少一个与管理服务器13也可以在一个计算机上动作。
[0031]贮存装置11a以及lib的存储区域(S卩,物理性存储区域)的一部分被分配给例如逻辑单元LU0至LU3(图2)的存储区域(即,逻辑性存储区域)的一部分。图2是表示逻辑单元LU0至LU3的存储区域与贮存装置11a以及lib的存储区域的对应的例子的概念图。在本实施方式中,贮存装置11a以及lib分别采用硬盘驱动器(HDD)阵列构成。若更详细叙述,则贮存装置11a是由具备多个硬盘驱动器(HDD)的RAID (Redundant Arrays ofInexpensive Disks 或者 Redundant Arrays of Independent Disks)构成的贝士存装置。同样,贮存装置lib也是具备多个HDD的RAID构成的贮存装置。此外,贮存装置11a以及lib的至少一个也可以采用HDD以外的存储装置的阵列(例如闪存阵列)来构成,另外,贮存装置11a以及lib并不一定需要具有阵列构成。
[0032]在图2的例子中,逻辑单元LU0至LU3各自的存储区域的一部分与贮存装置11a的存储区域的一部分建立对应。另外,逻辑单元LU0至LU3各自的存储区域的其他的一部分与贮存装置lib的存储区域的一部分建立对应。但是,也可以是逻辑单元LUO、LU1、LU2或者LU3的存储区域整体仅与贮存装置11a或者lib的任意一方的存储区域的至少一部分建立对应。
[0033]这里,设能够利用(识别)逻辑单元LUi (i为0、1、2或者3)的主服务器12j (j为a,b或者c)访问逻辑单元LUi内的目标存储位置(以下称为第一存储位置)。该情况下,主服务器12j有必要知晓(识别)与第一存储位置建立了对应的贮存装置llk(k为a或者b)内的存储位置(以下称为第二存储位置)、和该贮存装置Ilk。
[0034]第一存储位置的地址被称为虚拟地址,第二存储位置的地址被称为实地址。在本实施方式中,为了进行管理,逻辑单元LUi的存储区域以及贮存装置Ilk的存储区域被分割成称为区块(更详细而言为虚拟区块以及实区块)的一定尺寸(第一尺寸)的小区域。即,逻辑单元LUi以及贮存装置Ilk分别具备多个虚拟区块以及多个实区块。因此,在本实施方式中,分别使用虚拟区块地址(VBA)以及实区块地址(RBA)作为虚拟地址以及实地址。其中,虚拟区块地址以及实区块地址分别也被称为逻辑区块地址以及物理区块地址。
[0035]再次参照图1。管理服务器13构建逻辑单元,且将构建成的逻辑单元提供给主服务器12a、12b以及12c的至少一个。在本实施方式中,管理服务器13构件逻辑单元LU0至LU3。另外,管理服务器13将逻辑单元LU0提供给主服务器12a以及12c,将逻辑单元LU1提供给主服务器12a以及12b。管理服务器13还将逻辑单元LU2提供给主服务器12c,将逻辑单元LU3提供给主服务器12b。S卩,主服务器12a配备逻辑单元LU0以及LU1。主服务器12b配备逻辑单元LU1以及LU3,主服务器12c配备逻辑单元LU0以及LU2。
[0036]管理服务器13保持为了管理逻辑单元LU0至LU3而使用的管理信息130。若更详细叙述,则管理信息130被储存在管理服务器13所具有的本地存储装置。在本实施方式中,该本地存储装置是非易失性的存储装置、例如闪存那样的非易失性存储器或者如HDD那样的盘存储装置。
[0037]管理信息130包括与逻辑单元LU0至LU3分别对应的地址管理表(以下称为AM表)134 —LU0 至 134 —LU3。AM 表(第一地址管理信息)134 — LUi (i = 0、1、2、3)具有对与逻辑单元LUi的每个虚拟区块地址对应的地址管理数据进行保持的条目(entry)。该条目(地址管理数据)如在后面详细叙述那样,包括逻辑单元编号(LUN)字段、虚拟区块地址字段、贮存识别符(ID)字段以及实区块地址字段的组。
[0038]管理信息130还包括修订数据(revis1n data)(第一修订数据)135 —LU0至135—LU3。修订数据135 — LU0至135 — LU3表示与逻辑单元LU0至LU3分别对应的AM表134 — LU0至134 — LU3的修订。在本实施方式中,修订数据135 — LU0至135 — LU3包括表示AM表134 —LU0至134 —LU3的修订的修订编号(RN