用于使用存储区域网络恢复计算机系统的方法和系统的制作方法

文档序号:6595214阅读:247来源:国知局
专利名称:用于使用存储区域网络恢复计算机系统的方法和系统的制作方法
技术领域
本发明总体上涉及存储区域网络(“SAN”),更具体地,涉及使用SAN恢复和引导计算机系统。
背景技术
考虑到灾难情况下的恢复,许多公司将计算机服务器的数据卷宗(data volume) 复制到远离计算机服务器的灾难恢复点。尽管数据卷宗包括用于计算机服务器所提供的服务的信息,但计算机服务器还使用引导卷宗,其包括操作系统数据和支持文件,用于引导并运行计算机系统。因此,许多公司还复制或者拍摄引导卷宗的“快照”,以允许计算机服务器 (或者其备份)从引导卷宗的备份副本进行引导。然而,保持引导卷宗快照的最新状态可能是耗时且易于出错的,因为引导卷宗受到操作系统的活跃控制,并由管理员和各种软件不断地更新。
这个最初的问题的一个部分解决方案被称为从SAN引导。从SAN引导允许计算机服务器将SAN的逻辑单元直接用作引导卷宗。注意,“SAN”的使用是广义上的,可以实际上指代卷宗、逻辑单元或者存储区域网络的逻辑单元编号。SAN可以是本地SAN,于是可以将本地SAN的逻辑单元复制到在灾难恢复点处的远程SAN。因为引导卷宗实际上是本地SAN 的逻辑单元,因此可以更容易地在远程SAN上保持引导卷宗快照的最新状态。例如,在本地 SAN从计算机系统接收到写请求后,是本地SAN负责将写请求转发到远程SAN,而不是计算机服务器。然而,仍然留下了允许计算机服务器实际上利用远程SAN上的复制的引导卷宗的问题。
更具体地,已经将计算机服务器的主机总线适配器配置为通过配置的路径从本地 SAN的逻辑单元进行引导。同时,类似于TCP/IP如何重路由网络业务那样,多路径技术可用于允许计算机服务器通过备选路径访问逻辑单元。通常在多路径驱动器中实施多路径技术。尽管计算机服务器能够利用多路径驱动器在正常操作期间通过配置的路径或者备选路径访问逻辑单元,但在初始引导过程中多路径驱动器是不可用的。作为替代,在初始引导过程中,即使配置的路径断开,主机总线适配器也将只会尝试使用配置的路径来引导,而不是尝试使用备选路径。另外,尽管多路径驱动器还允许计算机服务器通过另一条路径访问另一个逻辑单元(例如,在远程SAN上的复制的引导卷宗),但在初始引导过程中多路径驱动器同样不可用。
此外,即使主机总线适配器具有了某些多路径性能,但主机总线适配器仍不能应对主机总线适配器能够访问逻辑单元,但实际上不能从该逻辑单元进行引导的情况。例如, 当由于该逻辑单元正由第二控制器管理使得到该逻辑单元的配置路径当前不是“有效”路径时,就会出现这一情况。
因此使用SAN来恢复和引导计算机服务器/系统是当前面临的难题。

发明内容
本发明通过提供用于使用SAN来恢复并引导计算机系统的方法和系统解决了上述及其他问题,从而发展了可使用技术的状态。计算机系统包括本地存储设备。接收对向本地存储设备上的引导卷宗写入数据的请求。向本地存储设备写入数据,及基本上在接收到所述请求的同时向SAN写入数据。随后可以使用写入SAN的数据来引导计算机系统。有利地,通过重做计算机系统以便重新包含本地存储设备,易于保持在本地存储设备与SAN之间的引导卷宗最新状态,从而允许计算机系统使用来自SAN的数据进行引导。
在其一个方案中,提供了一种使用存储区域网络(“SAN”)来引导计算机系统的方法,其中,计算机系统包括本地存储设备。所述方法包括接收对向本地存储设备写入引导卷宗数据的请求。所述引导卷宗包括用于引导所述计算机系统的操作系统数据和支持文件。 所述方法还包括向所述本地存储设备写入所述数据,及基本上在接收到所述请求的同时向所述SAN写入所述数据。所述方法进一步包括使用写入所述SAN的数据来引导所述计算机系统。
在其另一个方案中,提供了一种包括指令的计算机可读介质,用于执行方法来根据上述方法使用存储区域网络(“SAN”)引导计算机系统。
其再另一个方案提供了一种存储区域网络(“SAN”)来引导计算机系统的计算机系统。所述计算机系统包括本地存储设备,用于与所述本地存储设备通信的存储控制器,及用于与所述SAN通信的网络适配器。无需中介网络,所述存储控制器与所述本地存储设备直接耦合。所述计算机系统还包括接收单元,用于接收对向所述本地存储设备写入引导卷宗数据的请求。所述引导卷宗包括用于引导所述计算机系统的操作系统数据和支持文件。 另外,所述计算机系统包括第一写单元,用于向所述本地存储设备写入所述数据,及第二写单元,用于基本上在接收到所述请求的同时向所述SAN写入所述数据。所述计算机系统还包括引导单元,用于使用写入所述SAN的数据来引导所述计算机系统。


图1是根据本发明特征和方案的示例性计算机系统的方框图。
图2是说明根据本发明特征和方案的用于使用SAN引导计算机系统的示例性方法的流程图。
图3是说明根据本发明特征和方案的在正常操作期间允许计算机系统使用SAN进行引导的示例性方法的流程图。
图4是说明根据本发明特征和方案的用于在恢复操作中使用SAN引导计算机系统的示例性方法的流程图。
具体实施例方式图1是根据其特征和方案的示例性计算机系统110的方框图。计算机系统110通过网络150与本地SAN 130通信。计算机系统110和本地SAN 130还都通过网络150与远程SAN 140通信。另外,计算机系统110与存储设备160通信。例如,存储设备160可以是旋转磁盘驱动器或者基于闪存的驱动器。计算机可读介质170用于向存储设备160和/ 或计算机系统110提供包括驱动器软件的指令。计算机可读介质170可以包括能够包含、 存储、传输、传播或输送指令的任何装置。实例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(“RAM”)、只读存储器(“ROM”)、硬磁盘及光盘(例如,CD-ROM、 CD-R/W、DVD-ROM 及 DVD+/-R/W)。
计算机系统110包括处理单元112、网络适配器114和存储控制器116。计算机系统Iio通过存储控制器116与存储设备160通信。例如,存储控制器116可以是独立磁盘冗余阵列(“RAID”)控制器。无需中介网络,存储控制器116与本地存储设备160直接耦合。 与本地存储设备160的通信可以通过多种本地存储附件技术中的任何一种进行。例如,可以从串行高级技术附件(“SATA”)、小型计算机系统接口(“SCSI”)、串行连接SCSI (“SAS”)、 包括集成驱动电子设备(“IDE”)和增强IDE( “EIDE”)的并行AT附件(“PATA”)、IEEE 1394(例如,火线)和通用串行总线(“USB”)中选择通信协议。将理解,为了使用SAS协议直接耦合,可以在无需SAS扩展器和/或开关的情况下使用SAS电缆。
计算机系统110可以借助使用网络适配器114通过网络150进行通信。例如,网络适配器114可以是以太网适配器或者SAS主机总线适配器。网络可以基于以太网、光纤通道、互联网SCSI ( “iSCSI”)、SAS、和TCP/IP中的一个。另外,处理单元112可以通过从外围组件互联(“PCI”)、扩展的外围组件互联(“PCI-X”)和PCI Express之一选择的主机总线118与存储控制器116和网络适配器114通信。
处理单元112可以包括电路、存储器、处理器和/或应对计算机系统110的处理需要的指令。例如,处理单元112可以执行计算机系统110的基本输入输出系统(“BIOS”), 其包括在引导过程中由存储控制器116和/或网络适配器114提供的一个(例如,有时称为选项ROM)。在正常操作中,处理单元112可以在操作系统的控制下执行用于存储控制器 116和网络适配器114的驱动器。会理解,可以在计算机系统的这些组件的一个或多个中实现其特征和方案。
本地SAN 130包括控制器1;34和存储设备132。存储设备132通过控制器1;34与网络150耦合,以允许计算机系统110使用存储设备132。例如,可使得存储设备132可用作本地SAN 130的各种逻辑单元。类似的,远程SAN 140包括控制器142和存储设备144。 本地SAN 130通常会与计算机系统110位于一处,而远程SAN 140通常会位于灾难恢复中心。灾难恢复中心通常是远离计算机系统110的设施。按照网络云所指定的,一个或多个网络可以将远程SAN 140与计算机系统110和本地SAN 130相分离。
在从SAN应用的引导时,网络适配器114可以已经被配置为与本地SAN130的控制器134进行通信,以便计算机系统110从本地SAN 130进行引导。在计算机系统110处运行的多路径驱动器会允许网络适配器114与远程SAN 140的控制器144进行通信。然而, 如上所述,多路程驱动器在初始引导过程中是不可用的。
本领域普通技术人员会易于认识到完整的功能性装置中的许多额外和等效的组件和模块。为了本论述的简洁明确,本文省略了这些额外和等效的组件。因此,图1的结构仅仅旨在作为其特征和方案的示例性实施例的代表。
如将更详细解释的,其特征和方案有利地允许引导卷宗位于本地存储设备160、本地SAN 130和远程SAN 140上。本领域技术人员会意识到,根据其特征和方案,在每一次写入请求出现时,通常连续地同步在本地存储设备160和本地SAN 130上的引导卷宗。也可以通过将引导卷宗从本地SAN 130复制/镜像到远程SAN 140来同步位于本地SAN 130和远程SAN 140上的引导卷宗。在恢复操作中,可以将来自远程SAN 140的引导卷宗复制/镜像回本地SAN 130。可替换地或另外地,还可以将引导卷宗复制/镜像回计算机系统110(其可以是原始计算机系统的替换/备份计算机系统)的本地存储设备160(其也可以是原始存储设备的替换存储设备)。
图2是说明根据其特征和方案的用于使用SAN引导计算机系统的示例性方法的流程图。在步骤210处,存储控制器的驱动器接收对本地存储设备写入引导卷宗的数据的请求。引导卷宗包括用于引导计算机系统的操作系统数据和支持文件。在步骤220处,驱动器向本地存储设备写入数据。基本上在接收请求的同时,在步骤230处,驱动器还向SAN写入数据。作为恢复过程的一部分,在步骤240处,计算机系统执行BIOS,其允许计算机系统使用已经写入SAN的数据进行引导。
图3是说明根据其特征和方案的在正常操作期间允许计算机系统使用SAN进行引导的示例性方法的流程图。在步骤310处,计算机系统执行BIOS,其允许计算机系统从本地存储设备的引导卷宗进行引导。引导卷宗包括用于引导计算机系统的操作系统数据和支持文件。在引导过程中,在步骤315处,计算机向本地存储设备写入日志,以使得日志包括与在引导过程中的数据更新有关的信息。在引导过程之后,在步骤320处,计算机系统处理日志,并根据日志发起对SAN写入数据更新的写请求。
例如,日志条目可以包括与尚未写入SAN的更新有关的信息。在引导过程之后的正常操作期间,计算机系统随后向SAN发起针对每一个日志条目的写请求,并随后在已经向SAN写入更新之后删除每一个日志条目。即使在正常操作期间也可以以先进先出方式连续增加和删除日志的条目,以保持数据写入的顺序,并应对访问SAN时的中断。另外,在SAN 上可以不存在引导图像。如果是这样,可以在初始化操作中将引导卷宗从本地存储设备复制到SAN。例如,使用计算机系统和/或SAN的管理工具,读取来自本地存储设备的数据,并将读取的数据写入SAN。会相应地管理日志条目,以确保本地存储设备与SAN同步。
在步骤330处,计算机系统的存储控制器的驱动器接收对本地存储设备(或者另一个本地存储设备)写入引导卷宗的数据的请求。在步骤340处,驱动器向本地存储设备写入数据。基本上在接收到请求的同时,在步骤350处,在计算机系统处运行的驱动器也向 SAN写入数据。通常不会由本地存储设备向SAN写入数据,而是由计算机系统自身向SAN写入数据。如上所述,日志可以用于应对在访问SAN时的中断。因此,会理解,在一些情况下, 在步骤340与350之间可以存在延迟。然而,通常会连续地同步本地存储设备和SAN上的引导卷宗,而不是以固定间隔和/或基于管理员的请求而进行同步。
在正常操作过程中,随着驱动器接收到对写数据的每一个请求,重复从330开始的步骤。在计算机系统中,驱动器可以通过向驱动器发出对网络适配器的请求而向SAN进行写入,其中计算机系统通过所述网络适配器与SAN进行通信。作为设计选项,驱动器可以将几个写请求组合到至SAN的一个写请求中。可替换地,驱动器还可以将一个写请求分为至SAN的若干个写请求。
注意SAN可以是与计算机系统位于一处的本地SAN。在步骤360处,可以同步在本地SAN与远程SAN之间的数据。远程SAN可以位于灾难恢复中心,灾难恢复中心可以是远离计算机系统的设施。可以通过经由本地(和/或远程)SAN可获得的SAN管理员工具来执行同步的步骤。可以以固定间隔和/或管理员的请求来执行同步。可替换地或者另外地,可以由本地SAN执行同步的步骤,本地SAN随后将每一个写请求转发到远程SAN。
在步骤370处,计算机系统进入关机过程,以顺序方式关闭计算机系统。典型地, 会关闭网络连接,即使计算机系统在存储器中仍具有计算机系统需要向本地存储设备刷新及写入的数据。因此,类似于步骤315,在步骤375处,计算机系统会向本地存储设备写入日志,以使得日志包括与在关机过程中的数据更新有关的信息。日志可以是与以上关于步骤315所述的日志相同或不同的日志。在上述步骤310处的计算机系统引导之后,类似于以上关于步骤320所述的,计算机会根据日志向SAN写入关机过程中的数据更新。
图4是说明根据其特征和方案的用于在需要恢复本地存储设备的恢复操作中使用SAN引导计算机系统的示例性方法的流程图。在步骤410处,计算机系统确定在引导过程中是否接受用户输入,用以指定用于引导的数据源。例如,如果用户/管理员按下一个或多个热键,则计算机系统就可以接受用户输入。如果按下了热键,计算机系统就在步骤415 处接受具有本地SAN指定的用户输入。例如,可以为用户提供命令行界面和/或图形界面, 用以指定本地SAN,其可以进一步包括本地SAN的逻辑单元的指定。可替换地,可以允许用户指定远程SAN。
如上提及的,用以允许计算机访问另一个逻辑单元(例如,在远程SAN上)的多路径驱动器在初始引导过程中是不可用的。另外,即使在初始引导过程中可以使得某些多路径能力可用,但计算机系统仍不能应对计算机系统能够访问引导卷宗,但由于该引导卷宗受损而实际上不能从该引导卷宗进行引导的情况。本领域技术人员会意识到,人工干预有利地允许用户/管理员指定计算机系统是应从本地存储设备、本地SAN、远程SAN还是甚至另一个设备进行引导。
如果没有用户输入需要被接受,则计算机系统就可以在步骤420处自动识别本地 SAN的指定。可以将引导顺序配置到计算机系统中。例如,用户/管理员可以已经指定计算机系统应首先尝试从本地存储设备进行引导,如果不成功,计算机系统接下来应尝试从本地SAN进行引导。可替换地,用户还可以指定计算机系统接下来应尝试通过网络适配器进行引导。计算机系统的网络适配器和/或BIOS也可以被配置为尝试从本地SAN进行引导, 如果不成功,就随后尝试从远程SAN进行引导。
在这个示例性方法中,计算机系统使用来自本地SAN的数据来引导计算机系统。 注意,如稍早提及的,可以通过将数据从远程SAN同步/复制到本地SAN来恢复本地SAN。在步骤430处,计算机系统通过网络适配器从本地SAN读取引导卷宗的数据。在步骤440处, 计算机系统确定实际上是从本地存储设备进行引导,还是直接使用从本地SAN读取的数据进行引导。这个选择可以已经配置到计算机系统中。可替换地或者另外地,在引导过程中可以允许用户/管理员指定这个选择——例如作为上述步骤415的一部分。如果计算机系统是从本地存储设备进行引导,计算机系统就首先在步骤450处向本地存储设备写入读取的数据,以恢复本地存储设备,随后类似于以上关于步骤310所述的,从本地存储设备进行引导。
如果计算机是直接从本地SAN进行引导,则计算机系统就在步骤460处如此执行, 类似于从SAN应用的引导。随后,在步骤465处,计算机系统将从SAN读取的数据写入本地存储设备,从而同样恢复了本地存储设备。会理解,为了保持在本地SAN与本地存储设备之间的同步,可以将类似于在步骤315所述的日志写入本地SAN,以使得可以将数据更新写入本地存储设备(在步骤465处在用来自本地SAN的数据恢复了本地存储设备之后)。可以稍后配置计算机系统以便从本地存储设备进行引导。
随后,计算机系统进入正常操作,重复上述在步骤330开始的那些步骤。本领域普通技术人员会易于认识到,在图2到4的方法中可以执行和/或省略了许多额外和等效的步骤。仅仅为了本论述的明确简洁,本文省略了这些额外和等效的步骤。
尽管在附图和前述说明中示出并描述了本发明,但这些示出和描述在本质上被认为是示例性的而非限制性的。已经示出并描述了本发明的一个实施例及其微小变型。意图针对在本发明精神范围内的所有变化和修改进行保护。本领域技术人员会意识到属于本发明范围内的上述实施例的变更。因此,本发明不局限于上述特定实例和示出,而是仅由随后的权利要求及其等价物来限定。
权利要求
1.一种使用存储区域网络SAN来引导计算机系统的方法,其中,所述计算机系统包括本地存储设备,特征在于所述方法包括接收对所述本地存储设备写入引导卷宗数据的请求,其中,所述引导卷宗包括用于引导所述计算机系统的操作系统数据和支持文件; 向所述本地存储设备写入所述数据;基本上在接收到所述请求的同时向所述SAN写入所述数据;以及使用写入所述SAN的数据来引导所述计算机系统。
2.如权利要求1所述的方法,其中所述计算机系统通过存储控制器与所述本地存储设备通信,无需中介网络,所述存储控制器与所述本地存储设备直接耦合;所述计算机系统通过从串行高级技术附件SATA、小型计算机系统接口 SCSI、串行连接 SCSI (SAS)、包括集成驱动电子设备IDE和增强IDE(EIDE)的并行AT附件PATA、IEEE 1394 和通用串行总线USB中选择的协议与所述本地存储设备通信; 所述计算机系统通过网络适配器与所述SAN通信;所述计算机系统通过基于以太网、光纤通道、互联网SCSI(iSCSI)、SAS、和TCP/IP中的一个的网络与所述SAN通信;所述计算机系统通过从外围组件互联PCI、扩展的外围组件互联PCI-X和PCI Express 之一选择的主机总线与所述存储控制器和所述网络适配器通信。
3.如权利要求1所述的方法,进一步包括将所述引导卷宗从所述本地存储设备复制到所述SAN,包括 从所述本地存储设备读取数据;以及向所述SAN写入读取的数据。
4.如权利要求1所述的方法,其中,所述SAN是与所述计算机系统位于一处的本地 SAN,所述方法进一步包括在所述本地SAN与远程SAN之间同步数据,其中,所述远程SAN位于灾难恢复中心,所述灾难恢复中心是远离所述计算机系统的设施。
5.如权利要求1所述的方法,进一步包括 接受具有所述SAN指定的用户输入; 从所述SAN读取数据;及向所述本地存储设备写入读取的数据;其中,所述引导的步骤包括使用向所述本地存储设备写入的数据来引导所述计算机系统。
6.如权利要求1所述的方法,进一步包括 自动识别所述SAN的指定。
7.如权利要求1所述的方法,进一步包括从所述SAN读取数据,其中,所述引导的步骤包括使用从所述SAN读取的数据直接引导所述据计算机系统,所述方法进一步包括在使用所读取的数据来引导所述计算机系统后,向所述本地存储设备写入所读取的数据。
8.如权利要求1所述的方法,其中,所述引导的步骤包括向所述本地存储设备写入日志,其中,所述日志包括与所述引导的步骤期间的数据更新有关的信息,所述方法进一步包括在所述弓I导的步骤之后,根据所述日志向所述SAN写入所述数据更新。
9.如权利要求1所述的方法,进一步包括向所述本地存储设备写入日志,其中,所述日志包括与在关机过程中的数据更新有关的信息;以及在所述弓I导的步骤之后,根据所述日志向所述SAN写入所述数据更新。
10.如权利要求1所述的方法,进一步包括向所述本地存储设备写入日志条目,其中,所述日志条目包括与尚未写入所述SAN的数据更新有关的信息;以及在向所述SAN写入所述数据更新后删除所述日志条目。
全文摘要
用于使用SAN来恢复和引导计算机系统的方法和系统。计算机系统包括本地存储设备、接收对向在本地存储设备上的引导卷宗写入数据的请求。向本地存储设备写入数据以及基本上在接收到所述请求的同时向所述SAN写入所述数据。随后使用写入所述SAN的数据来引导所述计算机系统。
文档编号G06F9/00GK102187311SQ200980140780
公开日2011年9月14日 申请日期2009年5月11日 优先权日2008年10月29日
发明者J·E·奥德尔 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1