CN100476748C - 控制计算机单元之间存储访问的计算机集群、计算机单元和方法 - Google Patents

控制计算机单元之间存储访问的计算机集群、计算机单元和方法 Download PDF

Info

Publication number
CN100476748C
CN100476748C CNB2004800329795A CN200480032979A CN100476748C CN 100476748 C CN100476748 C CN 100476748C CN B2004800329795 A CNB2004800329795 A CN B2004800329795A CN 200480032979 A CN200480032979 A CN 200480032979A CN 100476748 C CN100476748 C CN 100476748C
Authority
CN
China
Prior art keywords
unit
data storage
computer
service unit
file access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004800329795A
Other languages
English (en)
Other versions
CN1879088A (zh
Inventor
H·海蒂艾南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN1879088A publication Critical patent/CN1879088A/zh
Application granted granted Critical
Publication of CN100476748C publication Critical patent/CN100476748C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Abstract

一种用于执行计算机单元之间的存储访问转移的方法、计算机集群和计算机单元。冗余计算机集群包括计算机单元和共享存储单元。这些计算机单元与共享存储单元接口,它存储由计算机集群中执行的复制服务单元已对其建立访问的数据存储资源。当检测到与复制服务单元相关联的切换状况时,首先在将进入待机状态的服务单元复制品中释放已经从服务单元建立对其的访问的数据存储资源。然后,在将要进入活动状态的服务单元复制品中建立对数据存储资源的访问。然后才允许服务单元的复制品变成活动的。本发明的好处涉及冗余多节点计算机集群中文件系统访问的提高的性能和可靠性。

Description

控制计算机单元之间存储访问的计算机集群、计算机单元和方法
技术领域
本发明涉及关键环境中的计算机系统。具体来说,本发明涉及冗余计算机集群和其中使用例如服务器节点的计算机单元之间的存储访问转移来协助切换。
背景技术
可靠性是通信网络或一般任何其他关键系统环境中的一个重要因素。尽管实际上在计算机硬件和软件中可能有故障,仍向最终用户提供持续不间断的服务体验是重要的。最小化事务处理中的中断是重要的。事务处理的示例可包括数据通信会话和数据库事务处理。再者,必须可以在不影响最终用户体验的前提下在计算机系统中执行管理动作。例如,必须可以尽可能透明和快速地激活、去活、添加、移除和替换子系统。在关键环境中,复制包括硬件和/或软件的子系统,以便有后备子系统准备就绪来替换变得有故障的子系统。这种子系统常常可热切换。可以复制子系统,使得对于每个活动子系统都有一个后备子系统或者使得对于一组子系统有一个后备子系统。在该情况中,子系统意味着包括至少一个硬件单元的集合和/或包括至少一个软件组件的集合。硬件单元可以是例如处理器单元、接口卡和通信链路。软件组件可以是例如处理器单元中执行的一组进程或一组线程。子系统还可以同时包括软件和硬件。例如,通信链路子系统可以包括线路接口卡和在相关联的处理器单元中执行的进程集合。通常,有许多相似的线路接口卡,各包括含线路接口卡硬件和在该线路接口卡相关联的处理器单元中执行的软件的子系统。通常,后备子系统,在软件进程的情况中即复制品,在与其活动配对进程不同的另一个计算机单元中执行。
有一个联盟称为服务可用性论坛(SA论坛),正在开发两层的标准载波等级接口。如果一个系统具有不会丧失服务连续性和送达地提供不间断服务的能力,则称它为载波等级。SA论坛规范具有应用接口和平台接口。应用接口提供对应用软件的标准工具集的访问以使用,以便将其处理分布在多个计算部件上。这些工具将不会丧失服务连续性和向任何用户的送达地响应那些部件的故障。这些工具通过符合应用接口规范的管理中间件来提供。平台接口用于访问操作系统级。其目的在于隐藏不同平台之间的操作系统级差异。在SA论坛规范概念中,有多个服务组(SG),它们包括至少一个服务单元(SU)。每个SU又包括至少一个组件。组件可以是软件进程或线程。组件可以已与硬件单元相关联。换言之,SU是一个子系统,它可以是活动子系统或作为活动子系统的替代的冗余子系统。SU基于如下意义来复制,在SG中,有至少一个处于活动状态的SU和至少一个处于待机状态的SU。处于待机状态的SU将充当处于活动状态的SU的后备复制品。如果活动SU变得有故障或因维护而停机,则复制品SU变成活动的,并接管故障或停机的SU的任务。本文使用来自SA论坛规范的概念来用于说明目的。可以其他等效概念来替换它们。因此本发明及其实施例不限于明确符合SA论坛规范的系统和实现。
现在参考图1,图中说明上述SA论坛规范概念。在图1中,有具有计算机单元110和112的冗余两单元计算机集群。使用通信信道104连接计算机单元。通信信道104可以是例如以太网段或PCI总线。有三个SG,即SG 140-144。在每个SG中,有两个SU。在SG 140中有SU 120和130,在SG 142中有SU 122和SU 132,以及在SG 144中有SU 124和134。SU 120、132和124处于活动状态,SU 130、122和134处于待机状态。对于每个活动SU,有一个处于待机状态的备用SU。例如,若因SU 132中的某个故障或管理动作导致SG 142中有切换,则SU 122变成活动的且接管SU 132的任务。SU 132的状态变成“待机”或“不存在”或反映SU 132中的状况的任何其他状态。如果在计算机单元级发生故障和计算机单元110出故障,则计算机单元112中的SU 130-134必须代替出故障的计算机单元110中的对等SU 120-124。
在冗余计算机集群中,例如在活动-待机冗余性中,冗余应用通常因软件局限将一次仅经由一个单元,即节点来访问给定的共享数据存储资源。在此上下文中数据存储资源意味着例如文件系统(FS)、软件RAID(独立盘的冗余阵列)或逻辑卷管理(LVM)的逻辑卷。在此上下文中,数据存储访问建立意味着,例如,文件系统(FS)安装、软件RAID(独立盘的冗余阵列)启动或逻辑卷管理(LVM)的逻辑卷部署。应该注意,例如当软件RAID在一个单元中启动时,它仅包括为从软件RAID读取或向其中写入而在操作系统级上就绪的建立。文件系统通常较早已经创建,所以它不是软件RAID启动的问题。一次只能从一个单元建立对数据存储资源的读写访问,以便避免例如文件系统崩溃或数据存储资源的任何不相干状态。数据存储资源的读写访问意味着,允许建立了对数据存储资源的访问的实体修改数据存储资源中的数据的访问。如果单元已经建立对给定数据存储资源的读写访问,通常任何其他单元就不能建立甚至对该数据存储资源的读访问。在文件系统读写安装中更是如此。
在读访问建立的情况中,对于执行了访问建立的实体,允许数据存储资源的只读。
从用户的角度来看,软件RAID表现得像是任何块装置,例如单个盘上的分区。换言之,它是虚拟装置。在软件RAID上,可以像对任何其他块装置一样创建文件系统。换言之,可以对它格式化。文件系统的示例是从Linux操作系统熟悉的ext2和Reiserfs。在Linux中,给定文件系统的安装包括将其中所含的目录结构连接到执行该安装的计算机的目录结构。将目录结构安装在指定安装点,即该目录结构内的某个子目录。在安装期间,可以由计算机易失性存储器中的操作系统至少部分地缓存从存储卷检索的文件系统目录结构。还可以从存储卷检索一些其他文件系统信息,并在安装期间缓存,例如盘空间分配信息。文件系统的安装在任何现存的操作系统,如MicrosoftWindows中基本相似。差异主要涉及如何标识安装的文件系统上的文件的机制。例如,在Windows中不是将它们连接到单个目录树,而是使用如A、D、E、F等字母来标识安装的文件系统。通常字母C表示本地硬盘驱动器。
在本文中,安装意味着已经为一般文件访问操作系统服务,例如在执行该安装的系统中打开、读取、写入和关闭,准备好了要安装的文件系统。文件访问操作系统服务使它们根据单个可标识文件而非大量辅助存储来操作。
对于多个单元,可以访问一个给定文件系统,使得它们仅只读安装文件系统。实际中,活动单元或活动软件实体,即活动子系统,将是访问该文件系统并拥有其读写安装的一个子系统。类似地,在软件RAID的情况中,活动单元或活动软件实体将是建立并拥有对该软件RAID的读写访问的一个实体。在SA论坛术语中,这意味着活动SU将拥有对数据存储资源的读写访问。这意味着它拥有例如文件系统安装、软件RAID访问或LVM访问。如果活动实体,即活动SU发生故障,或者如果例如因为软件升级或任何其他管理动作,操作员必须切换活动-待机角色,则必须将数据存储资源访问安全地从旧SU转移到新SU,即,通常从第一单元转到第二单元。
现在参考图2,该图说明上文讨论的策略。在图2中,有具有计算机单元110和112的冗余两单元计算机集群。使用通信信道104连接计算机单元,其中通信信道104是局域网(以太网)。使用光纤信道202将计算机单元连接到盘存储单元200,光纤信道202提供高带宽访问。盘存储单元具有卷250、252和254。已经分别为卷分配了卷标V1、V2和V3。在此情况中,卷是实际可以是硬盘驱动器、一组硬盘驱动器或硬盘驱动器内包括该硬盘驱动器中指定数量的柱面的分区的抽象。卷还可以是RAID逻辑卷。概念卷表示一块存储区,它在逻辑上看是毗邻的且可以使用标准机制来访问。可以在卷中创建文件系统。文件系统可以是例如Linux ext2或Reiserfs。文件系统的其他示例是Microsoft Windows操作系统中的NTFS和FAT32。文件系统包括卷上的目录、文件和访问数据结构及其存储格式。卷250、252和254上分别创建了文件系统260、262和264。在文件系统创建步骤期间,将文件系统数据结构分配并创建到卷。在图2的情况中,文件系统260、262和264是Linux ext2文件系统。计算机单元110和112分别在操作系统220和222下操作。操作系统220具有读写安装的文件系统260和读安装的文件系统264。图2中使用操作系统与文件系统之间箭头的方向说明了这一点。而操作系统222具有读写安装的文件系统262和读安装的文件系统264。这反映如下原理,如果单个单元读写安装给定的文件系统,则其他单元不得安装它。如果每个安装单元只读安装给定卷,则多个单元可安装它。如果在计算机单元110中执行的活动SU应该转到待机状态,而计算机单元112中执行的被动SU应该变成活动的,则在该SU需要对文件系统260读写访问的情况下产生问题。当计算机单元112中执行的后备SU进入活动状态时,文件系统260仍在计算机单元112上未安装,SU不可能从文件系统260读取或向其中写入。如图2所示的解决方案的一个问题是文件系统安装在本机操作系统,例如在Linux级上发生。如果有切换在其中待机SU必须接替活动SU的SG级上发生,则可能不会影响或通知操作系统。因此,这种SG级切换在操作系统级上是透明的。
为了克服上述问题,可以应用现有技术中的一些解决方案。这样一种解决方案是使用网络文件系统(NFS)从计算机单元110和112来使用文件系统260和262。在NFS中,对于两个计算机单元,可以同时以读写模式访问这两个文件系统。但是,文件系统内仅分开的文件变成同时可访问。无论何时用户打开给定文件来写入,则它对于其他同时用户变成只读可访问。
现在参考图3,该图说明如NFS之类的网络文件系统的使用。在图3中,有具有计算机单元110和112的冗余两单元计算机集群。使用通信信道104连接计算机单元。通信信道104可以是例如以太网段或PCI总线。计算机单元110和112连接到运行NFS的文件服务器300。文件服务器300使用光纤信道连接到盘存储单元200。盘存储单元200具有如图2所示的文件系统260和262。文件服务器300具有NFS,它使如计算机单元110和112之类的远程客户机能够建立对实际仅在文件服务器300上安装的文件系统的读写访问。在远程客户机中,NFS安装模仿本地安装。现在,对于计算机单元110可以执行同时对文件系统260和262的读写NFS安装。现在有从计算机单元110对文件系统260和262的读写NFS安装320和322。相似地,现在有从计算机单元112对文件系统260和262的读写NFS安装324和326。
如图3所示的现有技术的基于NFS安装的解决方案的缺点是性能差。比起这种情况:计算机单元110和112与盘存储单元200接口并能够在没有另一个计算机单元及其介入网络文件系统软件的情况下往返盘存储单元200移动大的盘块序列,文件服务器300和NFS的使用显著减慢对文件系统260和262的访问。此外,必须将盘访问安全地从旧SU转移到新SU,以便不会有这些单元以读写访问模式同时访问相同的逻辑存储实体、例如文件系统时的重叠时刻。由此,可以保持文件系统一致性。如图3所示的现有技术的基于NFS安装的解决方案的另一个缺点是文件服务器300变成系统中的单一故障点。如果复制文件服务器300,则产生如图2所示的相同问题,因为文件服务器300的复制品会同时需要文件系统260和262的同时读写安装。因此,基本未改进此状况。
本发明的目的是解决上述问题。具体来说,本发明的目的在于确保切换期间服务单元之间读写安装的可靠传递。
发明内容
本发明涉及用于执行冗余计算机集群中的切换的方法,所述冗余计算机集群至少包括第一计算机单元、第二计算机单元和共享存储单元。第一和第二计算机单元与共享存储单元接口,它包括由计算机集群中执行的复制服务单元访问的至少一个数据存储资源。在该方法中,检测与复制服务单元相关联的切换状况;由第一计算机单元释放对至少一个数据存储资源的访问;由第二计算机单元对至少一个数据存储资源建立访问;以及允许服务单元的复制品在第二计算机单元中变成活动的。
本发明还涉及冗余计算机集群,其中至少包括第一计算机单元、第二计算机单元和共享存储单元。第一和第二计算机单元与共享存储单元接口,它包括由计算机集群中执行的复制服务单元访问的至少一个数据存储资源。该计算机集群还包括:切换控制部件,用于检测与该复制服务单元相关联的切换状况;第一和第二计算机单元中的访问释放部件,用于释放对至少数据存储资源的访问;第一和第二计算机单元中的访问建立部件,用于建立对至少一个数据存储资源的访问;以及切换控制部件,用于在对至少一个数据存储资源的成功访问建立之后激活服务单元的复制品。
本发明还涉及与至少一个共享存储单元接口的计算机单元。计算机单元执行需要对共享存储单元上的至少一个数据存储资源访问的至少一个复制服务单元。该计算机单元还包括:切换控制部件,用于检测与至少一个复制服务单元中的任一个相关联的切换状况;访问释放部件,用于释放对至少一个数据存储资源的访问;访问建立部件,用于建立对至少一个数据存储资源的访问;切换控制部件,用于在对至少一个数据存储资源的成功访问建立之后激活服务单元;以及切换控制部件,用于在成功释放对至少一个数据存储资源的访问之后更替服务单元的状态。
在本发明的一个实施例中,访问建立、释放和切换控制部件是诸如进程、线程或子例程的软件组件。在本发明的一个实施例中,由与例如使用对数据存储资源的读写访问的每个服务单元相关联的访问代理执行访问建立和访问释放步骤。访问代理可以是服务单元内的组件。该组件可以是被切换控制系统视为服务单元的一部分的进程或线程。切换控制系统可以包括若干切换控制服务,即部件。当正在更替服务单元的状态时,还就切换状况以信号通知访问代理。由此,访问代理能够检测何时要执行访问建立或访问的释放。无需因访问代理的存在而变更操作系统级软件。
在本发明一个实施例中,数据存储资源是文件系统,对文件系统的访问的建立是文件系统的安装。类似地,释放对文件系统的访问是文件系统的卸下。
在本发明的一个实施例中,共享存储单元是包括若干物理存储单元的逻辑单元。在该实施例中,如果使用RAID,数据存储单元可以是例如RAID逻辑单元。在一个实施例中,共享存储单元是单个物理存储单元。
在本发明的一个实施例中,共享存储单元是盘存储单元。数据存储资源可以是例如,软件独立盘的冗余阵列(RAID)或文件系统。在本发明的一个实施例中,第一和第二计算机单元使用外围接口与共享存储单元接口,该外围接口可以是例如光纤信道(FC)、小型计算机系统接口(SCSI)、因特网小型计算机系统接口(iSCSI)或集成系统接口(ISA)。
本发明的益处涉及冗余多单元计算机集群中数据存储资源访问的提高的性能和可靠性。避免了在安装计算机单元和共享存储单元之间使用中间单元和网络文件系统软件。由此避免了显著的延迟。使得执行计算机集群中的切换更灵活。通过在服务单元与已经从服务单元建立对其的读写访问的数据存储资源之间设置关联来实现此目的。由此将数据存储资源访问转移与服务单元的状态及其中的组件服务示例绑定。再者,还使得分开的服务组中的服务单元可以独立地执行切换成为可能。
附图说明
为提供对本发明的进一步理解而包括的并构成本说明的一部分的附图说明本发明的实施例,它们连同说明帮助解释本发明的原理。在这些图中:
图1是说明现有技术的冗余两单元计算机集群和SA论坛体系结构的服务单元(SU)和服务组(SG)概念的框图;
图2是说明使用共享盘存储单元的现有技术冗余两单元计算机集群的框图;
图3是说明经由公共文件服务器单元使用网络文件系统的冗余两单元计算机集群的框图;
图4是说明根据本发明在切换之前具有三个服务组和两个数据存储资源的冗余两单元计算机集群的框图;
图5是说明根据本发明在切换之后具有三个服务组和两个数据存储资源的冗余两单元计算机集群的框图;以及
图6是说明根据本发明的图4或图5的计算机集群中的数据存储访问转移方法的一个实施例的流程图。
具体实施方式
现在将详细地参考本发明的实施例,附图中说明其实例。
图4是说明包括具有计算机单元110和112的冗余两单元计算机集群的本发明的一个实施例的框图。在本发明的其他实施例中,还可以有任何其他数量的计算机单元。使用通信信道104来连接这些计算机单元,该通信信道104是局域网(以太网)。在本发明的其他实施例中,该通信信道可以基于任何其他技术。使用信道202将这些计算机单元连接到存储单元200,这提供高带宽访问。信道202可以基于例如光纤信道(FC)、小型计算机系统接口(SCSI)接口、因特网SCSI(iSCSI)或集成系统体系结构(ISA)总线。存储单元200是包括至少一个硬盘驱动器的硬盘单元。在本发明的其他实施例中,存储单元200可以基于任何类型的非易失性存储器,如硬盘驱动器、光盘、磁带单元或闪速存储器。存储单元200具有数据存储资源260和262。数据存储资源可以是例如文件系统、软件RAID或LVM逻辑卷。有三个SG,即SG400-404。SG 400具有SU 410和420,SG 402具有SU 412和422以及SG 404具有SU 414和424。SU 420-424是SU 410-414的复制品。如果将SU 410-414其中之一脱离活动状态,则使SU 420-424中的对应复制品进入活动状态。在图4中,SU 410-414处于活动状态,而SU422-424处于待机状态。SU 410已建立对数据存储资源262的读写访问。由此,SU 410中存在数据存储资源262的读写访问432。如果数据存储资源262是文件系统,则SU已读写安装它。SU 414已建立对数据存储资源260的读写访问。由此,SU 414中存在数据存储资源260的读写访问430。图4所示的情况一直是相似,直到发生切换,其中SU 414必须离开活动状态且SU 424必须进入活动状态。
在此情况中,必须传递读写访问430,即转移到SU 424。有访问代理450、452、460和462。访问代理负责确保可靠地且以受控方式从活动SU将数据存储资源的读写访问传递到被动SU。不得有活动SU和被动SU同时以读写访问模式访问相同的数据存储资源的重叠时刻。由此,可以保持文件系统或一般而言数据存储区一致性。在本发明的一个实施例中,访问代理是如计算机单元中执行的进程或线程等的软件组件示例。当作出执行有关给定SG的切换的决策时,在将要离开其活动状态的活动SU中调用访问代理。对于拥有对数据存储资源的至少一个读写访问的每个活动SU,有一个访问代理。在本发明的一个实施例中,无论SU是否拥有任何读写访问,对于每个SU,都有一个访问代理。对于一旦待机SU进入活动状态而拥有对数据存储资源的至少一个读写访问的每个待机SU,也有一个访问代理。例如,在SG 404中,SU 414具有访问代理452,因为SU已经建立对数据存储资源260的读写访问,并由此具有读写访问430。
在图4中,在计算机单元110中具有切换控制服务470-474,在计算机单元112中有切换控制服务480-484。切换控制服务470-474照管与计算机单元110中服务单元相关联的任务。相似地,切换控制服务480-484照管与计算机单元112中服务单元相关联的任务。切换控制服务470和480的任务是分别检测与服务单元410-414和420-424的任一个相关联的切换状况。切换控制服务472和482的任务是分别激活服务单元410-414和420-424的任一个。可以在对服务单元所需的数据存储资源的成功访问建立之后,使服务单元进入激活状态。切换控制服务474和484的任务是分别在成功释放对已经从服务单元建立对其的读写访问的数据存储资源的访问之后变更服务单元410-414和420-424的活动状态。通常,将活动状态变更到待机或故障。在本发明的一个实施例中,切换控制服务470-474可以由计算机单元110中的单个服务来执行。在该情况中,切换控制服务470-474仅是与单个切换控制服务相关联的不同任务或过程。相似地,在本发明的同一个实施例中,切换控制服务480-484可以由计算机单元112中的单个服务来执行。可以作为中间件和/或操作系统的一部分来实现切换控制服务。
图5是说明图4在发生了切换,其中SU 414已进入待机状态而SU 424已进入活动状态时的情况的框图。对数据存储资源262的读写访问432仍在SU 410中,但是现在在SU 424中对数据存储资源260的新读写访问500已经替代图4中的读写访问430。
图6是说明根据本发明的图4或图5的计算机集群中的数据存储资源访问转移方法的一个实施例的流程图。图6说明从第一SU到第二SU的整个访问转移过程以及访问代理所采取的动作。在本发明的一个实施例中,照管SG 404的SU 414部分的切换控制的切换控制服务470检测与SU 414相关联的切换状况。切换控制服务470与切换控制服务472和474合作。切换控制服务474的任务是使SU 414中的所有软件组件或它照管的任何其他SU准备好以进入不同状态,本情况中是待机状态。切换控制服务470、472和474还可以照管其他SG和SU的切换控制。当SU 414要进入待机状态且SU 424要进入活动状态时,访问代理452从切换控制服务470接收信号。切换控制服务470、472和474可以分别是操作系统220和222的一部分,或者如中间件软件组件之类的分开服务。在步骤600,当发生切换时,访问代理452等待来自切换控制服务470的调用它的信号。在该步骤中还可派生访问代理进程。在步骤602,访问代理452释放对于已从SU414对其建立读写访问的数据存储资源(SR)的访问。如果数据存储资源是文件系统,则这意味着访问代理452卸下文件系统。这包括负责文件系统卸下的操作系统服务,例如称为umount的Linux系统服务的调用。如果数据存储资源是软件RAID,则访问代理释放它,换言之,释放对它的访问。释放软件RAID使之可用于从另一个SU的访问建立。
为了简明,本文假定有至少一个已经对其建立访问的数据存储资源。在步骤604,访问代理452检查是否还有更多已从SU 414对其建立读写访问的数据存储资源。如果是此情况,则处理在步骤602继续。在本发明的一个实施例中,有系统文件或表,其中包含有关已从SU414或已从SU 424对其建立读写访问的数据存储资源的信息。换言之,列示有已从SG 404对其建立读写访问的数据存储资源。在本发明的一个实施例中,访问代理452以信号通知切换控制服务474:已释放对所有必需的数据存储资源的访问,即已经释放它们,并由此使之可用于从其他地方的访问建立。
在步骤606中,例如由切换控制服务474执行与将SU 414带入待机状态相关联的其余任务。在本发明的一个实施例中,利用指示它必需开始建立对数据存储资源的访问的信号,调用访问代理462的进程,因为SU 424将要进入活动状态。该信号来自例如切换控制服务480。在本发明的一个实施例中,切换控制服务470-474和480-484通过通信信道104交换消息传递。
在步骤608,访问代理建立对将要从SU 424对其建立读写访问的数据存储资源的访问。如果数据存储资源是文件系统,则这包括负责文件系统安装的操作系统服务的调用,例如mount。为了简明,本文假定有至少一个将要对其建立访问的数据存储资源。在步骤610,访问代理462检查是否还有更多将要从SU 424对其建立读写访问的数据存储资源。如果是此情况,则处理在步骤608继续。在步骤612,例如由切换控制服务482执行与将SU 424带入活动状态相关联的其余任务。例如,可以由访问代理462以信号通知切换控制服务482:已经成功建立对所需的所有数据存储资源的访问。
对于本领域技术人员来说,显然随着技术的发展,可以以多种不同方式实施本发明的基本原理。因此本发明及其实施例并不局限于上述的实例;相反,它们可以在权利要求的范围内变化。

Claims (24)

1.一种方法,包括:
在冗余计算机集群中执行切换,所述冗余计算机集群至少包括第一计算机单元、第二计算机单元和共享存储单元,其中所述第一计算机单元和所述第二计算机单元与所述共享存储单元接口,所述共享存储单元包括至少两个数据存储资源;
执行所述第一计算机单元内的第一服务单元和第二服务单元,所述第一服务单元和所述第二服务单元均包括至少一个软件组件;
保持从所述第一服务单元对所述至少两个数据存储资源中的第一数据存储资源的第一文件访问,所述第一文件访问包括读取数据和将数据写入所述第一数据存储资源;
保持从所述第二服务单元对所述至少两个数据存储资源中的第二数据存储资源的第二文件访问,所述第一文件访问独立于所述第二文件访问;
由所述第一计算机单元检测与所述第一服务单元相关联的切换状况;
对所述切换状况作出响应,由所述第一计算机单元释放对所述第一数据存储资源的所述第一文件访问,同时保持所述第二文件访问;
在成功释放了对所述第一数据存储资源的所述第一文件访问之后,改变所述第一计算机单元内的所述第一服务单元的状态;
由所述第二计算机单元建立与所述第一数据存储资源的所述第一文件访问相对应的文件访问;以及
允许与所述第一计算机单元的所述第一服务单元相对应的服务单元在所述第二计算机单元内变成活动的。
2.如权利要求1所述的方法,其特征在于,建立所述第一文件访问以及所述释放所述第一文件访问由访问代理执行,所述访问代理与所述第一计算机单元的所述第一服务单元相关联。
3.如权利要求1所述的方法,其特征在于,还包括:
提供包括盘存储单元的所述共享存储单元。
4.如权利要求1所述的方法,其特征在于,还包括:
提供包括文件系统的所述第一数据存储资源,并且建立所述第一文件访问安装所述文件系统以及所述释放所述文件访问卸下所述文件系统。
5.如权利要求1所述的方法,其特征在于,还包括:
提供包括软件独立盘的冗余阵列的所述第一数据存储资源。
6.如权利要求1所述的方法,其特征在于,还包括:
使用外围接口提供所述第一计算机单元和所述第二计算机单元与共享存储单元接口。
7.如权利要求6所述的方法,其特征在于,还包括:
提供包括光纤信道、小型计算机系统接口、因特网小型计算机系统接口或集成系统接口的所述外围接口。
8.一种冗余计算机集群,至少包括第一计算机单元和第二计算机单元,还包括:
共享存储单元,其中第一计算机单元和第二计算机单元与所述共享存储单元接口,所述共享存储单元包括至少两个数据存储资源;
所述第一计算机单元被配置成执行所述第一计算机单元内的第一服务单元和第二服务单元,所述第一服务单元和所述第二服务单元均包括至少一个软件组件;保持从所述第一服务单元对所述至少两个数据存储资源中的第一数据存储资源的第一文件访问,所述第一文件访问包括读取数据和将数据写入所述第一数据存储资源;保持从所述第二服务单元对所述至少两个数据存储资源中的第二数据存储资源的第二文件访问,所述第一文件访问独立于所述第二文件访问;检测与所述第一计算机单元内的所述第一服务单元相关联的切换状况;对所述切换状况作出响应,释放对所述第一数据存储资源的所述第一文件访问,同时保持所述第二文件访问;在成功释放了对所述第一数据存储资源的所述第一文件访问之后,改变所述第一计算机单元内的所述第一服务单元的状态;以及
所述第二计算机单元被配置成建立对所述第一数据存储资源的所述第一文件访问并允许与所述第一计算机单元的所述第一服务单元相对应的服务单元在所述第二计算机单元内变成活动的。
9.如权利要求8所述的计算机集群,其特征在于,所述第一计算机单元还包括访问建立部件和访问释放部件,所述访问建立部件和访问释放部件包括在访问代理中,所述访问代理与所述第一服务单元相关联。
10.如权利要求8所述的计算机集群,其特征在于,所述共享存储单元包括盘存储单元。
11.如权利要求8所述的计算机集群,其特征在于,所述至少两个数据存储资源包括文件系统,并且所述第一计算机单元内的访问建立部件安装所述文件系统以及所述第一计算机单元内的访问释放部件卸下所述文件系统。
12.如权利要求8所述的计算机集群,其特征在于,所述至少两个数据存储资源包括软件独立盘的冗余阵列。
13.如权利要求8所述的计算机集群,其特征在于,所述第一计算机单元和所述第二计算机单元被配置成使用外围接口与所述共享存储单元接口。
14.如权利要求13所述的计算机集群,其特征在于,所述外围接口包括光纤信道、因特网小型计算机系统接口、小型计算机系统接口或集成系统接口。
15.如权利要求8所述的计算机集群,其特征在于,所述第一服务单元和所述第二服务单元均包括至少一个硬件单元。
16.一种计算机单元,包括:
用于访问共享存储单元的部件,所述共享存储单元包括至少两个数据存储资源;
用于执行所述计算机单元内的第一服务单元和第二服务单元的部件,所述第一服务单元和所述第二服务单元包括至少一个软件组件;
用于保持从所述第一服务单元对所述至少两个数据存储资源中的第一数据存储资源的第一文件访问的部件,所述第一文件访问包括读取数据和将数据写入所述第一数据存储资源;
用于保持从所述第二服务单元对所述至少两个数据存储资源中的第二数据存储资源的第二文件访问的部件,所述第一文件访问独立于所述第二文件访问;
用于检测与所述计算机单元内的所述第一服务单元相关联的切换状况的部件;
用于对所述切换状况作出响应而释放对所述第一数据存储资源的所述第一文件访问同时保持所述第二文件访问的部件;以及
用于在成功释放了对所述第一数据存储资源的所述第一文件访问之后改变所述计算机单元内的所述第一服务单元的状态的部件。
17.如权利要求16所述的计算机单元,其特征在于,所述用于释放所述第一文件访问的部件包括在访问代理中,所述访问代理与第一服务单元和第二服务单元相关联。
18.如权利要求16所述的计算机单元,其特征在于,所述共享存储单元包括盘存储单元。
19.如权利要求16所述的计算机单元,其特征在于,所述至少两个数据存储资源包括文件系统,并且所述用于释放所述第一文件访问的部件卸下所述文件系统。
20.如权利要求16所述的计算机单元,其特征在于,所述至少两个数据存储资源包括软件独立盘的冗余阵列。
21.如权利要求16所述的计算机单元,其特征在于,所述计算机单元使用外围接口与所述共享存储单元接口。
22.如权利要求21所述的计算机单元,其特征在于,所述外围接口包括光纤信道、小型计算机系统接口、因特网小型计算机系统接口或集成系统接口。
23.如权利要求16所述的计算机单元,其特征在于,所述第一服务单元和所述第二服务单元包括至少一个硬件单元。
24.一种计算机单元,包括:
接口,被配置成与共享存储单元通信,所述共享存储单元包括至少两个数据存储资源;
操作系统,被配置成执行所述计算机单元内的第一服务单元和第二服务单元,所述第一服务单元和所述第二服务单元均包括至少一个软件组件;保持从所述第一服务单元对所述至少两个数据存储资源中的第一数据存储资源的第一文件访问,所述第一文件访问包括读取数据和将数据写入所述第一数据存储资源;保持从所述第二服务单元对所述至少两个数据存储资源中的第二数据存储资源的第二文件访问,所述第一文件访问独立于所述第二文件访问;
切换控制软件组件,被配置成检测与所述计算机单元内的所述第一服务单元相关联的切换状况;
访问释放软件组件,被配置成对所述切换状况作出响应而释放对所述第一数据存储资源的所述第一文件访问同时保持所述第二文件访问;以及
状态改变软件组件,被配置成在成功释放了对所述第一数据存储资源的所述第一文件访问之后改变所述计算机单元内的所述第一服务单元的状态。
CNB2004800329795A 2003-11-10 2004-10-05 控制计算机单元之间存储访问的计算机集群、计算机单元和方法 Expired - Fee Related CN100476748C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20031628 2003-11-10
FI20031628A FI20031628A0 (fi) 2003-11-10 2003-11-10 Tietokoneryväs, tietokoneyksikkö ja menetelmä muistisaannin ohjaukseen tietokoneyksiköiden välillä

Publications (2)

Publication Number Publication Date
CN1879088A CN1879088A (zh) 2006-12-13
CN100476748C true CN100476748C (zh) 2009-04-08

Family

ID=29558602

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800329795A Expired - Fee Related CN100476748C (zh) 2003-11-10 2004-10-05 控制计算机单元之间存储访问的计算机集群、计算机单元和方法

Country Status (6)

Country Link
US (1) US7441144B2 (zh)
EP (1) EP1687721B1 (zh)
JP (1) JP4456121B2 (zh)
CN (1) CN100476748C (zh)
FI (1) FI20031628A0 (zh)
WO (1) WO2005045675A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
JP2006189963A (ja) * 2004-12-28 2006-07-20 Hitachi Ltd ストレージアクセス制御方法、クラスタシステム、パス接続スイッチおよびストレージアクセス制御プログラム
JP4576455B2 (ja) * 2006-03-31 2010-11-10 富士通株式会社 システム、切替方法および管理装置用プログラム
JP5532687B2 (ja) * 2009-06-03 2014-06-25 日本電気株式会社 情報処理システム、情報処理システムの障害対応機構、及び情報処理システムの障害対応方法
US9274917B2 (en) * 2012-07-30 2016-03-01 Hewlett Packard Enterprise Development Lp Provisioning resources in a federated cloud environment
DE102012108117A1 (de) 2012-08-03 2014-02-06 Fujitsu Technology Solutions Intellectual Property Gmbh Hochverfügbares Rechnersystem, Arbeitsverfahren und dessen Verwendung
EP2800303B1 (en) 2012-08-17 2015-11-04 Huawei Technologies Co., Ltd. Switch method, device and system for virtual application dual machine in cloud environment
CN103501242B (zh) * 2013-09-18 2017-06-20 华为技术有限公司 资源管理方法和多节点集群设备
US9514083B1 (en) * 2015-12-07 2016-12-06 International Business Machines Corporation Topology specific replicated bus unit addressing in a data processing system
CN109857345B (zh) * 2019-01-31 2023-01-24 电科云(北京)科技有限公司 实现基于并发的磁盘挂载接口调度管理的系统及其方法
US10999187B2 (en) * 2019-06-13 2021-05-04 Juniper Networks, Inc. Wireless control and fabric links for high-availability cluster nodes
CN113946276A (zh) * 2020-07-16 2022-01-18 北京达佳互联信息技术有限公司 集群中的磁盘管理方法、装置及服务器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0721162A2 (en) * 1995-01-06 1996-07-10 Hewlett-Packard Company Mirrored memory dual controller disk storage system
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US5951695A (en) * 1997-07-25 1999-09-14 Hewlett-Packard Company Fast database failover
US6317844B1 (en) * 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6408399B1 (en) * 1999-02-24 2002-06-18 Lucent Technologies Inc. High reliability multiple processing and control system utilizing shared components
US6453426B1 (en) * 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6578055B1 (en) * 2000-06-05 2003-06-10 International Business Machines Corporation Methods, system and computer program products for mirrored file access through assuming a privileged user level
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
JP2004227098A (ja) * 2003-01-20 2004-08-12 Hitachi Ltd 記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP4415610B2 (ja) * 2003-08-26 2010-02-17 株式会社日立製作所 系切替方法、レプリカ作成方法、及びディスク装置
JP4462969B2 (ja) * 2004-03-12 2010-05-12 株式会社日立製作所 フェイルオーバクラスタシステム及びフェイルオーバ方法

Also Published As

Publication number Publication date
EP1687721B1 (en) 2016-01-06
EP1687721A1 (en) 2006-08-09
FI20031628A0 (fi) 2003-11-10
US20050102559A1 (en) 2005-05-12
JP4456121B2 (ja) 2010-04-28
US7441144B2 (en) 2008-10-21
JP2007510208A (ja) 2007-04-19
CN1879088A (zh) 2006-12-13
WO2005045675A1 (en) 2005-05-19

Similar Documents

Publication Publication Date Title
CN100476748C (zh) 控制计算机单元之间存储访问的计算机集群、计算机单元和方法
US6928514B2 (en) Method and apparatus for teaming storage controllers
KR100288020B1 (ko) 멀티플 서브시스템에서 핫 스페어 드라이브를 공유하기 위한 장치 및 방법
US7739677B1 (en) System and method to prevent data corruption due to split brain in shared data clusters
US7353355B1 (en) System and method for rapid restoration of server from backup
US7594137B2 (en) Storage system and data restoration method thereof
US6779130B2 (en) Method and system for root filesystem replication
CN111338854B (zh) 基于Kubernetes集群快速恢复数据的方法及系统
CN100375028C (zh) 在存储区域网络中安装远程引导的操作系统的系统和方法
US7694101B2 (en) Implementing virtual disk reservations on a storage media for multiple distributed applications
US7571291B2 (en) Information processing system, primary storage device, and computer readable recording medium recorded thereon logical volume restoring program
US20030182592A1 (en) Failure detection and failure handling in cluster controller networks
US9262087B2 (en) Non-disruptive configuration of a virtualization controller in a data storage system
US20020188697A1 (en) A method of allocating storage in a storage area network
GB2425378A (en) Redundant interfaces which appear to be a single interface
CN102187311A (zh) 用于使用存储区域网络恢复计算机系统的方法和系统
US8275951B2 (en) Local bitmaps for an array of redundant storage devices
US8255676B2 (en) Non-disruptive methods for updating a controller of a storage system
CN112783444A (zh) 集群磁盘共享方法、系统及存储介质
JP2009026091A (ja) 接続管理プログラム、接続管理方法および情報処理装置
US20120271870A1 (en) Method and system for reclaiming storage on a shared storage device or independent of the mount state of a file system
JP2992349B2 (ja) 複製型リアルタイムシステム、特に電話交換機において予備プロセスをウオームアップする方法
CN113282246A (zh) 数据处理方法及装置
US8095828B1 (en) Using a data storage system for cluster I/O failure determination
US20080126850A1 (en) System and Method of Repair Management for RAID Arrays

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160118

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090408

Termination date: 20191005

CF01 Termination of patent right due to non-payment of annual fee