从中央存储装置引导计算机系统的制作方法

文档序号:6579160阅读:124来源:国知局
专利名称:从中央存储装置引导计算机系统的制作方法
技术领域
本发明 一般地涉及从中央存储装置引导计算机系统。
背景技术
引导(booting)或引导装入(bootstrapping)程序是将计算机从停止或 掉电状态启动起来并将操作系统加载到计算机的系统存储器中的程序。计算 机可以从本地源(例如,作为计算机一部分的硬盘)引导,或者可以从远程 源(例如,网络引导中的网络存储装置)引导。
存在多种使计算机从网络存储装置引导并运行的技术。在高级层面,他 们可以被分类为基于文件的网络引导和基于图像的网络引导。在基于文件的 网络引导中(其由诸如Unix⑧、Linux 、和Solaris 的操作系统支持),连 接到网络存储装置的计算机直接从网络存储装置引导。在基于图像的网络引 导中,当计算机加电时,操作系统的图像通过使用诸如PXE/TFTP/BOOTP 之类的协议而被下载,并且该图像被用来从网络存储装置加载操作系统。
另一种加载技术采用图像流。该技术使用专有驱动器按需将存储在中央 存储服务器上的操作系统图像流式传送到计算机的系统存储器。从而,采用 图像流的网络中的计算机不在其本地存储装置中维护操作系统的拷贝。
上述技术的优点包括操作系统以及操作系统文件的中央管理和存储。如 果需要操作系统文件的抗病毒扫描,该扫描仅需执行一次。他们还允许计算 机在没有本地盘的条件下运行,并且提供关于哪些操作系统文件对用户可用 的管理员控制。
然而,并非所有操作系统都允许从网络存储装置S1导或包含使能图像流 的驱动器。Windows操作系统就是这样的一个例子。当基于Windows的计 算机系统被引导时,计算机系统的BIOS从引导巻区(boot volume )调用引 导加载器,其中引导巻区一般是附接到计算机系统的硬驱动、软驱动或光驱 动。除了引导加载器,还从引导巻区加载文件系统驱动器,并且文件系统驱
4动器用来从引导巻区加载操作系统正确运行所需的文件的剩余部分(reminder)。 发明内容本发明的一个或多个实施例能够使用过滤器驱动器从中央存储装置加 载操作系统。从而,诸如Windows等不能从中央存储装置引导的操作系统 可以从中央存储装置引导。根据本发明的一个方面, 一种根据本发明实施例加载操作系统的方法在 具有中央存储单元和多个计算机系统的系统中执行,其中所述多个计算机系 统每个具有本地存储巻区。所述操作系统具有包括引导加载器、核和引导时 间驱动器的第一文件集,以及包括所述操作系统正确操作所需的大多数文件 的第二文件集,所述方法包括以下步骤将所述第一文件集从所述计算机系 统的所述本地存储巻区加载到所述系统存储器中,所述第一文件集进一步包 括过滤器驱动器;以及利用所述过滤器驱动器将所述第二文件集从所述中央 存储单元加载到所述系统存储器。根据本发明的另一方面, 一种才艮据本发明实施例引导虚拟机的过程包括 以下步骤从第 一虚拟机的本地存储巻区加载用于第 一虚拟机的第 一操作系 统文件集,以及从第二虛拟机的本地存储巻区加载用于第二虚拟机的第二操 作系统文件集。当第一虚拟机或第二虚拟机之一发出请求加载第三操作系统 文件集的文件操作时,该请求被定向到常用存储单元,并且第三操作系统文 件集被从常用存储单元加载。根据本发明的又一方面, 一种根据本发明实施例的系统包括中央存储单 元和多个计算机系统,其中所述多个计算机系统中的每个具有存储操作系统 文件集和用于其所有文件的元数据的本地存储巻区,所述中央存储单元由所 述多个计算机系统共享。所述系统进一步包括将文件系统调用从所述多个计 算机系统有选择地定向到所述中央存储单元的过滤器驱动器。


图1是可以实施本发明一个或多个实施例的计算机系统的功能框图。 图2图示出才艮据本发明第一实施例加载操作系统的过程。图3简要图示出文件系统驱动器和文件系统过滤器驱动器已被加载之后的文件输入/输出过程。图4图示出根据本发明第二实施例加载操作系统的过程。图5简要图示出文件系统过滤器驱动器、文件系统驱动器、盘过滤器驱动器、SCSI过滤器驱动器和SCSI驱动器已被加载之后的文件输入/输出过程。
具体实施方式
图1是可以实现本发明一个或多个实施例的计算机系统100的功能框 图。计算机系统100包括服务器平台110、用于每个服务器平台的本地存储 单元120、以及由服务器平台IIO共享的中央存储单元130。本地存储单元 120和中央存储单元130可以被实现为网络附接存储(NAS)或存储区域网 (SAN)阵列。本地存储单元120为其连接的服务器平台所专用,为其连接 的服务器平台提供存储,中央存储单元130为所有服务器平台IIO提供共享 存储。每个服务器平台IIO具有服务器计算机的传统组件,并且可以实现为多 个服务器计算机的群集。每个服务器平台都配置有共享服务器平台的硬件资 源的一个或多个虚拟机140,所述硬件资源例如包括系统存储器112、处理 器114和盘接口 116。盘接口 116的一个例子是主机总线适配器。虚拟机140 运行在虚拟机监视器150之上,虚拟机监视器150是使得虚拟机140能够共 享服务器平台的硬件资源的软件接口层。虚拟机监视器150可以运行再服务 器平台的操作系统之上,或者直接运行再服务器平台的硬件组件之上。虚拟 机140和虚拟机监视器150 —起来创建虚拟化的计算机系统,该虚拟化的计 算机系统呈现与服务器平台不同并且彼此也不同的外观。每个虚拟机包括客 户操作系统以及一个或多个客户应用。客户操作系统是虚拟机的主控程序, 并且客户操作系统与其他部分一起形成其上运行客户应用的软件平台。每个 虚拟机140的虚拟盘是在本地存储 单元120中维护的。如同在传统计算机中一样,当虚拟机加电时,虚拟机的操作系统被加载。 根据本发明第一实施例将操作系统加载到系统存储器的过程(被称为引导过 程)在图2中被示出。该过程开始于步骤210,其中系统BIOS (基本输入/本地文件系统(例如用于Window NT操作系统的NTFS )的驱动器。文件系统过滤器驱动 器是运行于文件系统驱动器之上的软件组件,其重定向对文件系统作出的文 件系统调用。在本发明的第一实施例中,对文件系统作出的文件系统调用被 重定向到中央存储单元。从而,当在文件系统过滤器驱动器已被加栽到系统 存储器之后进行文件系统调用时,文件系统调用被重定向到中央存储单元(步骤216),并且使用中央存储单元执行文件操作(步骤218)。如果文 件系统调用是结合引导过程作出的,例如加载步骤214之后仍旧未被加载的 操作系统文件,那么剩余操作系统文件是从中央存储单元而非引导巻区被加 载到系统存储器中的。如果文件系统调用是结合引导过程已完成后发出的文 件操作作出的,那么使用中央存储单元执行文件操作。图3简要图示出文件系统驱动器和文件系统过滤器驱动器已被加载到 系统存储器之后的文件输入/输出过程。在图3中,文件系统过滤器驱动器 被示为FSFD310, NTFS文件系统驱动器被示为NTFS320, SCSI驱动器被 示为SCSI330。在FSFD310被加载到系统存储器之前,文件被访问并从引 导存储巻区340被加载。当虚拟机被引导时,引导存储巻区340可以是与虚 拟机相关联的虚拟盘的一部分,或者可以使用PXE/TFTP协议流式输入。在 FSFD 310被加载到系统存储器中并在NTFS 320之上运行之后,FSFD 310 将文件访问重定向到中央存储单元350。在图l所示的实施例中,引导存储 巻区340被包含在本地存储单元120中,并且中央存储单元350对应于中央 存储单元130。图4图示出根据本发明第二实施例将操作系统加载到系统存储器中的过程。过程开始于步骤410,其中系统BIOS (基本输入/输出系统)从引导盘(或者更一般地称作引导巻区)调用引导加载器。在步骤412,引导加载 器将操作系统的核以及引导时间驱动器从引导巻区加载到系统存储器。在步骤414,引导加载器将文件系统驱动器、文件系统过滤器驱动器、盘过滤器 驱动器、SCSI过滤器驱动器、以及SCSI驱动器加载到系统存储器。文件系统过滤器驱动器是运行在文件系统驱动器之上的软件组件,其维 护其上执行输入/输出的文件和块数值之间的映射。该映射是利用文件系统 过滤器驱动器被加载到系统存储器中的表。该表将块数值与文件中的文件ID和偏移相关联,并且每当文件布局信息改变时(例如,当文件创建、删 除、扩展、截短等时)进行修改。文件系统驱动器是用于操作系统的本地文 件系统(例如用于Window NT才喿作系统的NTFS)的驱动器。盘过滤器驱动 器是运行在文件系统驱动器之下的软件组件,其对代表文件输入/输出操作 的块输入/输出请求加标签。用于元数据块的块输入/输出请求(即,"元数 据操作")未被加标签。盘过滤器驱动器仅观察块数值,因此其利用文件系 统过滤器驱动器维护的文件和块数值之间的映射来区分不同类型的操作并 执行加标签操作。标签信息包含指示文件输入/输出操作的标志以及从映射 获得的文件ID和偏移信息。SCSI过滤器驱动器检查其接收的块输入/输出 请求上的标签以区分文件输入/输出和元数据操作。SCSI驱动器管理对本地 存储单元的访问。步骤416、 418、 420和422在文件系统过滤器驱动器、文件系统驱动器、 盘过滤器驱动器、SCSI过滤器驱动器和SCSI驱动器已被加载之后^皮执行。 SCSI过滤器驱动器确定其接收的块输入/输出请求是对于存储在本地存储单 元中的文件的操作(步骤416)还是元数据操作(步骤418)。如果任一条 件为真,则在步骤420使用本地存储单元执行操作。如果两个条件均为假, 则在步骤422使用中央存储单元执行操作。根据步骤416、 418、 420和422, 在步骤414后仍未被加载的操作系统文件被从中央存储单元加载到系统存 储器。图5简要图示出文件系统过滤器驱动器、文件系统驱动器、盘过滤器驱 动器、SCSI过滤器驱动器和SCSI驱动器已被加载到系统存储器中之后的文 件输入/输出过程。在图5中,文件系统过滤器驱动器^^皮示为FSFD510,NTFS 文件系统驱动器被示为NTFS520,盘过滤器驱动器被示为盘FD530, SCSI 过滤器驱动器被示为SCSI FD 540,并且SCSI驱动器被示为SCSI 550。在 盘FD 530和SCSI FD 540被加载到系统存储器之前,文件被访问并从引导 存储巻区560被加载。当虚拟机被引导时,引导存储巻区560可以是与虚拟 才几相关联的虚拟盘的一部分,或者可以使用PXE/TFTP协议流式输入。在盘FD 530和SCSI FD 540被加载到系统存储器中并在NTFS 520之下运行之 后,文件输入/输出操作被定向到中央存储单元570,而涉及存储在引导存储 巻区560中的文件的文件输入/输出操作和元数据操作被定向到引导存储巻 区560。在图5所示的实施例中,引导存储巻区560被包含在本地存储单元 120中,并且中央存储单元570对应于中央存储单元130。这里描述的多种实施例可以使用多种计算机实现的涉及存储在计算机 系统中的数据的操作。例如,这些操作可能需要对物理量的物理操纵,通常, 尽管不是必需的,这些物理量可以采用电信号或磁信号的形式,其中他们或 他们的标识能够被存储、传送、组合、比较或者以其它方式操纵。进一步地, 这些操作通常被称为诸如产生、标识、确定或比较之类的术语。这里描述的 构成本发明一个或多个实施例的任何操作可以是有用的机器操作。此外,本 发明的一个或多个实施例还涉及执行这些操作的设备或装置。所述装置可以 是为专门目的特别构造的,或者其可以是由存储在计算^L中的计算机程序有 选择地启动或配置的通用计算机。特别地,利用根据这里的教导编写的计算 机程序可以使用多种通用计算机,或者更方便的是,构建更专门的装置来执 行所需的操作。这里描述的多个实施例可以结合包括手持设备、微处理器系统、基于微 处理器或可编程的消费电子设备、微机、大型机等在内的其他计算机系统配 置一起实施。本发明的一个或多个实施例可以实现为包含在一个或多个计算机可读 介质中的一个或多个计算机程序模块或者一个或多个计算机程序。术语计算 机可读介质指的是能够存储随后可以被输入计算机系统的数据的任何数据 存储设备。计算机可读介质可以基于用于以相应计算机程序能够被计算机读 取的方式实现计算机程序的任何现有技术或随后发展出来的技术。计算机可 读介质的示例包括硬驱动、网络附接存储(NAS)、只读存储器、随机存取 存储器(例如,闪存设备)、CD (高密度盘)、CD-ROM、 CD-R或CD-RW、 DVD(数据多功能盘)、磁带、以及其它光和非光数据存储设备。计算机可 读介质还可以分布在网络连接的计算机系统之上,从而计算机可读代码以分 布的方式^皮存储并纟皮执行。尽管为了理解的清晰已经比较详细地描述了本发明的一个或多个实施例,但是很明显在权利要求的范围内可以进行一些修改和改变。因此,所描 述的实施例应被认为仅是示例性的而非限制性的,权利要求的范围不受这里 给出的细节的限制,而是可以在权利要求的范围和等同物之内进行修改。在 权利要求中,元素和/或步骤并不暗示操作的任何特定顺序,除非在权利要 求中有明确陈述。
此外,尽管所描述的虚拟化方法通常认为虛拟机呈现与特定硬件系统一 致的接口,但是本领域普通技术人员将意识到,所描述的方法可以结合并非 直接对应于任何特定硬件系统的虚拟化而使用。可以预想根据多种实施例被 实现为主实施例、非主实施例或者想要模糊二者区别的实施例的虚拟化系 统。此外,多种虚拟化操作可以全部或部分以硬件实现。例如,硬件实现可 以使用查找表用于修改存储装置访问请求,进而保护非盘数据。
许多变形、修改、添加和改进都是可能的,而与虚拟化的级别无关。虚 拟化软件因此可以包括主机、控制台或执行虚拟化功能的客户操作系统的组 件。多个实例可以用于这里描述为单个实例的组件、操作或结构。最后,多 个组件、操作和数据存储之间的边界某种意义上是任意的,并且特定操作在 具体示例性配置的上下文中示出。可以预想其它功能分配并且也落在本发明 的范围之内。 一般而言,在示例性配置中呈现为分立组件的结构和功能可以 被实现为组合结构或组件。类似地,呈现为单个组件的结构和功能可以被实 现为分立组件。这些以及其它变形、修改、添加和改进可以落在权利要求的 范围之内。
权利要求
1.一种在具有中央存储单元和多个计算机系统的系统中将操作系统加载到计算机系统的系统存储器中的方法,其中所述多个计算机系统每个具有本地存储卷区,所述操作系统具有包括引导加载器、核和引导时间驱动器的第一文件集,以及包括所述操作系统正确操作所需的大多数文件的第二文件集,所述方法包括将所述第一文件集从所述计算机系统的所述本地存储卷区加载到所述系统存储器中,所述第一文件集进一步包括过滤器驱动器;以及利用所述过滤器驱动器将所述第二文件集从所述中央存储单元加载到所述系统存储器。
2. 如权利要求l所述的方法,其中所述中央存储单元包括网络附接存储 装置。
3. 如权利要求l所述的方法,其中所述计算机系统是虚拟机,并且所述 操作系统是用于所述虚拟机的客户操作系统。 .
4. 如权利要求3所述的方法,其中所述虚拟机共享相同的硬件平台。
5. 如权利要求3所述的方法,其中所述虚拟机中的第一组共享第一硬件平 台,并且所述虚拟机中的第二组共享与所述第一硬件平台不同的第^^更件平台。
6. 如权利要求l所述的方法,其中加载所述第二文件集的步骤包括在 所述过滤器驱动器处,接收将所述第二文件集加载到所述系统存储器中的请 求,并且将所述加载请求定向到所述中央存储单元。
7. 如权利要求6所述的方法,其中在所述计算机系统的文件系统驱动器1 接收所述加载请求之前,所述过滤器驱动器接收所述加载请求。
8. 如权利要求6所述的方法,其中在所述计算机系统的文件系统驱动器 接收所述加载请求之后,所述过滤器驱动器接收所述加载请求。
9. 如权利要求8所述的方法,其中所述计算机系统是虚拟机,并且所述 操作系统是用于所述虚拟机的客户操作系统,并且每个虚拟机通过SCSI驱 动器连接到它的本地存储巻区。
10. 如权利要求9所述的方法,其中所述过滤器驱动器是SCSI过滤器 驱动器,所述SCSI过滤器驱动器将第一文件集之外的所有文件的加载请求 定向到所述中央存储单元。
11. 一种在具有第一和第二虚拟机的计算机系统中用于引导所述第一虚 拟机和所述第二虚拟机的过程,其中所述第一和第二虚拟机中的每个具有本地存储巻区,所述过程包括从所述第一虚拟机的所述本地存储巻区加载用于所述第一虚拟机的第一 操作系统文件集;从所述第二虚拟机的所述本地存储巻区加载用于所述第二虚拟才几的第二 操作系统文件集;以及重定向来自所述第一虚拟机和所述第二虚拟机的文件系统调用,从而所 述第三l喿作系统文件集被从常用存储单元加载。
12. 如权利要求11所述的过程,其中所述第一和第二操作系统文件集中 的每个包括引导加载器、核和引导时间驱动器。
13. 如权利要求12所述的过程,其中所述第一和第二操作系统文件集中 的每个进一步包括用于重定向所述文件系统调用的过滤器驱动器。
14. 如权利要求13所述的过程,其中所述第一操作系统文件集进一步包 括将文件系统调用定向到所述第 一虚拟机的所述本地存储巻区的文件系统驱 动器,并且所述第二才喿作系统文件集进一步包括将文件系统调用定向到所述 第二虚拟机的所述本地存储巻区的文件系统驱动器。
15. —种具有中央存储单元和多个计算机系统的系统,其中所述多个计 算机系统中的每个具有存储操作系统文件集和用于其所有文件的元数据的本 地存储巻区,所述系统包括将文件系统调用从所述多个计算机系统有选择地 定向到所述中央存储单元的过滤器驱动器。
16. 如权利要求15所述的系统,其中加载不在所述操作系统文件集中的 文件的请求被定向到所述中央存储单元。
17. 如权利要求15所述的系统,其中加载不在所述操作系统文件集中的 文件的元数据的请求被定向到对应的本地存储巻区。
18. 如权利要求15所述的系统,其中所述操作系统文件集包括引导加栽 器、核和引导时间驱动器。
19. 如权利要求18所述的系统,其中所述计算机系统是虚拟机,并且每 个虚拟^L通过常用SCSI驱动器连接到其本地存储巻区。
20. 如权利要求19所述的系统,其中所述过滤器驱动器在所述常用SCSI 驱动器之前接收所述文件系统调用。
全文摘要
在引导过程初始段期间被加载的过滤器驱动器使得不能从中央存储装置引导的操作系统能够从中央存储装置引导。根据该技术,初始操作系统文件集被从本地存储卷区加载到系统存储器。初始文件集包括所有操作系统文件的小子集,并且包括引导加载器、核、引导时间驱动器、文件系统驱动器、以及过滤器驱动器。过滤器驱动器控制操作系统文件剩余部分的加载,从而这些文件被从中央存储装置而非本地存储卷区被加载。
文档编号G06F9/445GK101650660SQ20091015745
公开日2010年2月17日 申请日期2009年7月30日 优先权日2008年8月11日
发明者乔希·基兰, 拉胡拉姆·希里奇, 卡尤 李·比齐 申请人:威睿公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1