利用固态驱动器和写重定向快照有效根启动的制作方法

文档序号:6479829阅读:214来源:国知局
专利名称:利用固态驱动器和写重定向快照有效根启动的制作方法
技术领域
本发明涉及计算装置领域,尤其涉及一种有效根启动计算装置的系统和方法。
背景技术
根启动是指利用诸如附加存储阵列的附加存储装置上的卷启动计算装置的实践。 该卷可以包含计算装置从本地驱动启动时本地驱动器可能包含的所有(例如操作系统、驱 动程序、临时文件、应用程序和/或虚拟存储器交换空间)。图1描述了一个典型的根启动的系统100。所述系统100通常包括多个与附加存储 装置102通信连接的计算装置101。每个计算装置101通常从附加存储装置102上的专用 卷104启动,专用卷104作为虚拟卷105呈现给每个计算装置101。然后每个计算装置101 通常继续使用其各自的专用卷104(通过其各自的虚拟卷10 运行。由于在运行期间每个 计算装置101从其各自的专用卷104完成读数据和/或写数据给其各自的专用卷104 (通过 其各自的虚拟卷105),来自各专用卷104的数据通常存储在附加存储装置102的缓存103 的相应区域内,以快速访问。图2描述了每个计算装置101如何查看系统100。每个计算装 置101只能够访问相应的卷104和计算装置101的附加存储装置102的缓存103的相应区 域,尽管计算装置101事实上只知道附加存储装置102的各自的虚拟卷105。

发明内容
一种根启动的系统和方法,可以包括连接到附加存储装置上的多个计算装置。每 个计算装置可以从附加存储装置的只读基卷启动。所述只读基卷包括多个计算装置包含的 公用数据,但不限于一个或多个操作系统、驱动程序、临时文件、应用程序和/或虚拟存储 器交换空间。只读基卷上被频繁访问的数据可以存储在附加存储装置的缓存的一部分中。 所述附加存储装置还可以包括多个卷,每个卷专用于所述多个计算装置中的一个,其重定 向只读基卷的写快照。每个计算装置各自的卷可以包括计算装置的唯一项,例如唯一注册 码、虚拟存储器交换空间和/或临时文件。如果任何一个计算装置改变只读基卷的数据,这 种改变可以是直接的且存储于计算装置各自的卷内。每个卷上被频繁访问的数据可以存储 在附加存储装置各自卷的缓存的一部分中。只读基卷、缓存的部分和各自的卷均可以作为 虚拟卷呈现给多个计算装置中的每一个。当来自只读基卷的数据没有为各自的计算装置改 变时,存储系统可将数据从只读基卷映射到计算装置各自的虚拟卷上,当来自各自的卷的 数据为各自的计算装置改变时,存储系统可将数据从各自的卷映射到计算装置各自的虚拟 卷上。只读基卷可以存储于一个或多个可配置成RAID (独立磁盘冗余阵列)和/或为冗 余目的与一个或多个其它存储装置镜像的固态驱动器(数据存储装置,使用固态存储器存 储持久的数据)。多个卷可以各存储于一个或多个可配置成RAID的固态驱动和/或硬盘驱 动器。所述的附加存储装置可实现增加公用数据到只读基卷的操作。以这种方式,用来根 启动多个计算装置的只读基卷可通过提交新的公用数据到只读基卷来实现更新。
本发明可减少存储空间、I/O和关于从附加存储装置的卷根启动多个计算装置的 低效缓存。本发明可以利用由存储只读基卷的一个或多个固态驱动器提供的读功能。由于 仅一个只读基卷就可以用于多个计算装置,与硬盘驱动器相比,由固态驱动器提供的读功 能可平衡固态驱动器通常的高成本。而且,本发明不需要在I/O路径重复数据删除代码,这 使得系统的执行更为简单。应当理解前述的总的描述和后述示例和解释饿详细说明不是对本公开的限制。所 附图加入并作为说明书的一部分表示本公开的主题。说明书和附图一起用作说明本公开的
原理


通过参考所附图,本发明的许多优点可以更好地被本领域技术人员理解,其中图1是表示用于根启动的典型系统的示意图;图2是从多个计算装置中的一个视角查看图1所示系统的示意图;图3是本发明实施例所述的根启动系统的示意图;图4是本发明实施例所述的从多个计算装置中的一个的视角查看图3所示系统的 示意图;图5是本发明实施例所述的根启动方法的流程图;图6是本发明可选择的实施例所述的根启动方法的流程图;和图7是本发明可选择的实施例所述的根启动方法的流程图。
具体实施例方式现在参照附图进一步详细地说明本发明公开的主题。利用多个计算装置中的每一个的独立卷从附加存储装置根启动所述多个计算装 置是低效率的。在从附加存储装置的卷根启动多个计算装置的情形中,包含在独立卷上的 数据(包含但不限于操作系统、驱动程序、临时文件、应用程序和/或虚拟存储器交换空间) 可以几乎相同。因此,造成存储空间的浪费。此外,每个服务器均设有一个或多个操作系统、 驱动程序、临时文件、应用程序和/或虚拟存储器交换空间的独立副本,同样的数据可以分 别从各个服务器的独立卷读取。因此,为了提取独立卷上的重复数据,可能经历不必要的 1/0(输入/输出)。另外,由于数据在各独立卷上是重复的,独立卷可能竞争附加存储装置 (和/或控制器,其通信连接多个计算装置中的每一个到所述的附加存储装置)内部有限的 缓存空间。结果是,每个计算装置可能经历更多的缓存失败,导致更多的I/O不得不与独立 卷相互作用,存储在一个或多个存储驱动器上,且更慢的性能。图3描述了本发明实施例所述的根启动系统300。所述系统300包括多个通信连 接到附加存储装置302的计算装置301。所述多个计算装置301可包括各种数字计算装置, 包含但不限于个人台式计算机、个人膝上型计算机,服务器计算机和/或虚拟终端。每个 计算装置301可从附加存储装置302的只读基卷305启动,其作为那个计算装置301的虚 拟卷307呈现给每一计算装置301。所述只读基卷305可包括多个计算装置301公有的数 据,包含但不限于一个或多个操作系统、驱动程序、临时文件、应用程序和/或虚拟存储器 交换空间。所述只读基卷上被频繁访问的数据可存储在附加存储装置302的缓存303内的部分区域。缓存303内的部分区域可存储只读基卷上被任何一个计算装置101频繁访问的 数据(通过各自的虚拟卷307),与使用独立卷(这样需要独立的缓存区域)相比,缓存303 内的部分区域可占总缓存更多的比例,并且每个计算装置303的更多数据可以在给定的时 间内存入缓存,致使更少的缓存失误。附加存储装置302还包括多个卷306,每个卷专用于 一个计算装置301,卷306为只读基卷305写重定向快照。每个计算装置301各自的卷306 可包括该计算装置301的唯一项,例如唯一注册码、虚拟存储器交换空间、和/或临时文件。 如果任何一个计算装置301改变只读基卷305的数据(通过各自虚拟卷307),该改变可被 指引并存储在计算装置301各自的卷306上。每个卷306上被频繁访问的数据可以存储在 用于该相应卷306的附加存储装置的缓存304的部分区域内。当来自只读基卷305的数据 没有为各自的计算装置301改变时,存储系统302可将数据从只读基卷305映射到每个计 算装置301各自的虚拟卷307上,而当来自各自卷306的数据为各自的计算装置301改变 时,存储系统302可将数据从各自的卷306映射到每个计算装置301各自的虚拟卷307上。所述多个计算装置301还包括无盘服务器。只读基卷305可以存储在一个或多个 固态驱动器(使用固态存储器存储持久数据的数据存储装置)。只读基卷305可以存储于 一个或多个配置成RAID (独立磁盘冗余阵列)的存储驱动器中。所述一个或多个存储驱动 器可以配置成不执行冗余的RAID,例如数据跨多个存储驱动器条带分布。只读基卷305可 以存储在为冗余目的与一个或多个其它存储驱动器镜像的一个或多个存储驱动器上。如果 只读基卷305存储在与一个或多个其它存储驱动器镜像的一个或多个存储驱动器中,所述 多个计算装置301可以通过一个或多个存储驱动器而不是一个或多个其它存储驱动器来 访问只读基卷305 (通过各自的虚拟卷307)。例如,只读基卷305可以存储在与一个或多个 硬盘驱动器(在具有磁性表面的旋转盘上存储数字编码数据的非易失性存储装置)镜像的 一个或多个固态驱动器上,多个计算装置301可以通过一个或多个固态驱动器而不是一个 或多个硬盘驱动器来访问只读基卷305 (通过各自的虚拟卷307)。多个卷306可被存储在 一个或多个固态驱动器和/或硬盘驱动上。多个卷306可各存储在一个或多个配置成RAID 的存储驱动器上。所述一个或多个存储驱动器可被配置成不执行冗余的RAID,例如数据跨 多个存储驱动器条带分布。附加存储装置302可包括一个或多个网络附加存储(NAQ装置 和/或一个多个存储区域网络(SAN)设备。附加存储装置302可包括一个或多个RAID存 储装置。图4说明了每个计算装置301是如何查看系统300的。每个计算装置301只能够 访问只读基卷305,使用缓存303的部分区域存储来自只读基卷和它们各自的卷306的频繁 访问的数据。尽管计算装置301事实上只知道附加存储装置302上它们各自的虚拟卷307, 仍然使用缓存303的部分区域来存储各自的卷306上频繁访问的数据。所述附加存储装置302可实现增加与多个计算装置301公用的数据到只读基卷 305的操作。以这种方式,用来根启动所述多个计算装置的只读基卷305可通过提交新的公 用数据到只读基卷305来实现更新.尽管本发明描述并说明了多个计算装置从附加存储装置的公用只读基卷启动,以 及各自的计算装置的存储数据将为所述专用于各自计算装置的公用只读基卷写重定向快 照(两者均以作为各自计算装置的虚拟卷的方式呈现给每个计算装置),应当理解的是,更 多包含多个计算装置的组,从各自的计算装置组公用的独立只读基卷启动每个组,没有偏离本发明的范围。举例说明,十台Linux服务器和十台微软Windows服务器均可以通信连 接到同一个附加存储装置上。十台Linux服务器可以从它们公用的附加存储装置的Linux 只读基卷启动,十台微软Windows服务器可以从它们公用的附加存储装置的WINDOWS只读
基卷启动。本发明可减少存储空间、I/O和关于从附加存储装置的卷根启动多个计算装置的 低效缓存。本发明可以利用由存储只读基卷305的一个或多个固态驱动器提供的读功能。 由于仅一个只读基卷305就可以用于多个计算装置301,与硬盘驱动相比,由固态驱动器提 供的读功能可平衡固态驱动器通常的高成本。而且,本发明不需要在I/O路径重复数据删 除代码,这使得系统300的执行更为简单。图5描述了本发明实施例所述的根启动多个计算装置的方法。在步骤501中,从 存储在至少一个存储驱动器中的附加存储装置的只读基卷来根启动多个计算装置,所述只 读基卷包含至少一个操作系统或多个计算装置公用的至少一个应用程序中的至少一个。所 述至少一个存储驱动器可包含至少一个固态驱动器。所述至少一个存储驱动器可包含多个 配置成RAID的存储驱动器。所述多个计算装置可包括多个无盘计算装置。所述附加存储 装置可包括一个附加RAID装置。在步骤502中,从所述的多个计算装置接收只读基卷的写 入。在步骤503中,将每个计算装置的写入重定向到所述附加存储装置的多个卷中的一个, 该卷为只读基卷写重定向快照,附加存储装置的每一个卷专用于多个计算装置中的一个并 专为该个计算装置存储数据。每个卷可以存储在至少一个硬盘驱动中。每个卷可以存储在 多个配置成RAID的硬盘驱动中。专用于所述多个计算装置的一个的数据可以包括以下中 的至少一个至少一个注册码、至少一个虚拟存储器交换空间、和/或至少一个临时文件。图6描述了本发明选择性实施例所述的根启动多个计算装置的方法。在步骤601 中,从存储在至少一个存储驱动器中的附加存储装置的只读基卷来根启动多个计算装置, 所述只读基卷包含至少一个操作系统或至少一个多个计算装置公用的应用程序中的至少 一个。至少一个存储驱动器可包含至少一个固态驱动器。至少一个存储驱动器可包含多个 配置成RAID的存储驱动器。多个计算装置可包括多个无盘计算装置。所述附加存储装置 可包括一个附加RAID设备。在步骤602中,镜像所述的至少一个存储驱动器与至少一个 附加的存储驱动器。在步骤603中,从所述的多个计算装置接收只读基卷的写入。在步骤 604中,将所述多个计算装置中的每一个的写入重定向到所述附加存储装置的多个卷中的 一个,该卷为所述只读基卷的写重定向快照,附加存储装置的每一个卷专用于一个计算装 置并为这个计算装置存储数据。每个卷可以存储在至少一个硬盘驱动中。每个卷可以存储 在多个配置成RAID的硬盘驱动中。专用于所述多个计算装置中的一个的数据可以包括以 下至少一个至少一个注册码、至少一个虚拟存储器交换空间、和/或至少一个临时文件。图7描述了本发明另一选择性实施例所述的根启动多个计算装置的方法。在步 骤701中,从存储在至少一个存储驱动器中的附加存储装置的只读基卷来根启动多个计算 装置,所述只读基卷包含至少一个操作系统或至少一个多个计算装置公用的应用程序中的 至少一个。至少一个存储驱动器可包含至少一个固态驱动器。至少一个存储驱动器可包含 多个配置成RAID的存储驱动器。多个计算装置可包括多个无盘计算装置。所述附加存储 装置可包括一个附加RAID设备。在步骤702中,从所述的多个计算装置接收只读基卷的写 入。在步骤703中,将每个计算装置的写入重定向到所述附加存储装置的一个卷,附加存储装置的卷用来重定向只读基卷的写快照,附加存储装置的每一个卷专用于一个计算装置并 为这个计算装置存储数据。每个卷可以存储在至少一个硬盘驱动中。每个卷可以存储在多 个配置成RAID的硬盘驱动中。专用于所述多个计算装置中的一个的数据可以包括以下至 少一个至少一个注册码、至少一个虚拟存储器交换空间、和/或至少一个临时文件。在步 骤704中,增加公用数据到只读基卷。本发明中所公开的方法可作为设备可读指令集或软件执行。而且,可以理解的是, 在公开的方法中,特定的顺序或层次步骤均是示范性方法的实施例。基于优选设计,可以理 解的是,在属于公开主题的范围内,方法中特定的顺序或层次步骤可以重新安排。如实施例 中所示的顺序,所附方法权利要求呈现出各种步骤的组成,但不仅限于方法中所示的特定 的顺序或层次。可以认为,本发明和许多其呈现出的优势能够通过上述所述的说明书得以理解, 在不偏离公开的主题或没有失去其所有物质优势的前提下,实现组件在形式上、结构上和 排列上的各种变化是显而易见的。本发明的说明形式仅仅是示例性,所附权利要求的目的 包括保护这些变化。
权利要求
1.一种方法,包括从存储在至少一个存储驱动器中的一附加存储装置的只读基卷根启动多个计算装置, 所述只读基卷包含以下至少一个至少一个操作系统或所述多个计算装置公用的至少一个 应用程序;从所述的多个计算装置接收所述只读基卷的写入;和将所述多个计算装置中的每一个的写入重定向到所述附加存储装置的多个卷中的一 个卷,所述卷为所述只读基卷的写重定向快照,所述附加存储装置的所述多个卷中的每一 个卷专用于所述多个计算装置中的一个并专为所述多个计算装置中的该个计算装置存储 数据。
2.如权利要求1所述的方法,其中,所述从一附加存储装置的只读基卷根启动多个计 算装置包括从存储在至少一个固态驱动器中的一附加存储装置的只读基卷根启动多个计算装置。
3.如权利要求1所述的方法,其中,所述从一附加存储装置的只读基卷根启动多个计 算装置包括从存储在配置成一 RAID (独立磁盘冗余阵列)的多个存储驱动器中的一附加存储装置 的只读基卷根启动多个计算装置。
4.如权利要求1所述的方法,进一步包括镜像所述的至少一个存储驱动器与至少一个附加存储驱动器。
5.如权利要求1所述的方法,其中,所述将所述多个计算装置中的每一个的写入重定 向到所述附加存储装置的多个卷中的一个卷包括将所述多个计算装置的每一个的所述写入重定向到存储在至少一个硬盘驱动的所述 附加存储装置的多个卷中的一个卷。
6.如权利要求1所述的方法,其中,所述将所述多个计算装置中的每一个的写入重定 向到所述附加存储装置的多个卷中的一个卷包括将所述多个计算装置中的每一个的写入重定向到存储在多个配置成一 RAID(独立磁 盘冗余阵列)的多个硬盘驱动的所述附加存储装置的多个卷中的一个卷。
7.如权利要求1所述的方法,其中专用于所述多个计算装置中的一个的所述数据包括 以下至少一个至少一个注册码、至少一个虚拟存储器交换空间、或至少一个临时文件。
8.如权利要求1所述的方法,进一步包括添加公用数据到所述只读基卷。
9.如权利要求1所述的方法,其中,所述从存储在至少一个存储驱动器的一附加存储 装置的只读基卷根启动多个计算装置包括从存储在至少一个存储驱动器的一附加存储装置的只读基卷根启动多个无盘计算装置。
10.如权利要求1所述的方法,其中,所述从存储在至少一个存储驱动器的一附加存储 装置的只读基卷根启动多个计算装置包括从存储在至少一个存储驱动器的一附加RAID (独立磁盘冗余阵列)的只读基卷根启动 多个计算装置。
11.一种系统,包括一附加存储装置,其包含存储在至少一个存储驱动器中的只读基卷和多个卷,所述多 个卷为所述只读基卷的写重定向快照;和 多个计算装置,其从所述只读基卷启动,其中所述只读基卷包含以下至少一个至少一个操作系统或与所述多个计算装置公用 的至少一个应用程序,从所述的多个计算装置接收所述只读基卷的写入被重新定向至所述 多个卷中的一个卷,所述附加存储装置的所述多个卷中的每一个卷专用于所述多个计算装 置中的一个并为所述多个计算装置中的该个计算装置存储数据。
12.如权利要求11所述的系统,其中所述至少一个存储驱动器包括至少一个固态驱动器。
13.如权利要求11所述的系统,其中所述至少一个存储驱动器包括配置成一RAID (独 立磁盘冗余阵列)的多个存储驱动器。
14.如权利要求11所述的系统,其中所述至少一个存储驱动器与至少一个附加存储驱动器镜像。
15.如权利要求11所述的系统,其中所述多个卷存储于至少一个硬盘驱动中。
16.如权利要求11所述的系统,其中所述多个卷存储于配置成RAID(独立磁盘冗余阵 列)的多个硬盘驱动中。
17.如权利要求11所述的系统,其中专用于所述多个计算装置中的一个的所述数据包 括以下至少一个至少一个注册码、至少一个虚拟存储器交换空间、或至少一个临时文件。
18.如权利要求11所述的系统,其中,所述附加存储装置可实现添加公用数据到所述 只读基卷的操作。
19.如权利要求11所述的系统,其中,所述多个计算装置包括无盘计算装置。
20.如权利要求11所述的系统,其中,所述附加存储装置包括一附加RAID(独立磁盘冗 余阵列)装置。
21.一种用于根启动的计算机程序产品,该计算机程序产品包括一实体计算机可用媒介,其包括含有计算机可用代码,所述计算机可用程序代码包括被构形以从存储在至少一个固态驱动器的一附加存储装置的只读基卷根启动多个无 盘计算装置的计算机可用程序代码,所述只读基卷包含以下至少一个至少一个操作系统 或与所述多个计算装置公用的至少一个应用程序;被构形以从所述多个计算装置接收所述只读基卷的写入的计算机可用程序代码;和 计算机可用程序代码,其被构形以将所述多个计算装置中的每一个的写入重定向到存 储在至少一个硬盘驱动的一附加存储装置的多个卷中的一个卷,该卷为所述只读基卷的写 重定向快照,所述附加存储装置的所述多个卷中的每一个卷专用于所述多个计算装置中的 一个并为所述多个计算装置中的该个计算装置存储数据。
全文摘要
一种根启动的系统和方法,包括多个计算装置,附加存储装置的只读基卷的每次开机包括与所述计算装置公用的数据。所述的附加存储装置还包括多个卷,每个卷专用于一个计算装置,所述的多个个卷用于只读基卷的写重定向快照,包括各自计算装置的唯一项。所述只读基卷可以存储于一个或多个固态驱动器,固态驱动器可以配置为一个独立磁盘冗余阵列和/或与一个或多个其它存储装置镜像。多个卷均可以存储于一个或多个可配置成独立磁盘冗余阵列的硬盘驱动。所述的附加存储装置可实现增加公用数据到只读基卷的操作。
文档编号G06F17/30GK102067114SQ200880129824
公开日2011年5月18日 申请日期2008年6月26日 优先权日2008年6月26日
发明者布赖恩·麦肯, 罗斯·泽伟斯勒 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1