在计算机系统中分发盘映像的方法

文档序号:6611304阅读:186来源:国知局
专利名称:在计算机系统中分发盘映像的方法
技术领域
本发明涉及一种计算机系统。更具体地,本发明涉及一种将最新 添加至计算机系统中的操作系统的盘映像分发给计算机的技术。
背景技术
己知经由网络提供了各种服务的服务器系统。服务器系统包括多
个服务器。如日本待审公开专利申请(JP-P2006-11860A)中所描述的, 如果由于用户个数的增加而增加负荷,则将新的服务器添加至操作系 统以提高处理能力。
服务器系统提前具有备用服务器组,以为添加服务器的请求作好 准备。当添加服务器时,考虑从备用服务器组中选择一个服务器,并 将必需的OS和软件安装在所选备用服务器中。然而,由于安装过程 需要延长的时间,所以通常将分发服务器的盘映像分发给所选备用服 务器。
图l是现有技术中添加服务器的方法的流程图。首先,提前准备 好处于操作状态中的服务器的盘映像(步骤S101)。盘映像包括OS、 中间件和应用程序,以下称为"分发源映像"。然后,当请求附加服务 器分配(步骤S102)时,管理服务器从所登记的备用服务器组中选择 任意的备用服务器(步骤S103)。管理服务器将分发源映像复制给所 选备用服务器的盘(步骤S104)。当完成了复制时,执行启动备用服 务器的过程(步骤S105)。因而附加服务器启动任务。
本发明人关注以下几点。实质上基于复制分发源映像的时间段来 确定从请求附加服务器分配(步骤S102)至启动附加服务器中的任务 (步骤S105)的时间段。具体地,当分发源映像的大小较大时,明显 地延迟了附加服务器中任务的启动。从服务提供商的角度来看,期望
尽可能早地启动附加服务器中的任务。

发明内容
本发明的典型目的是提供一种计算机系统,其中,在向操作系统 添加新计算机时,可以縮短在启动附加计算机中的任务之前的时间段。
在本发明的典型方面中, 一种盘映像分发方法包括复制包含了 启动计算机所必需的程序的第一映像到预定计算机的存储单元,作为 盘映像的一部分;基于该程序启动预定计算机;以及在启动了预定计 算机之后,复制第二映像到预定计算机的存储单元,作为盘映像的剩 余部分。
预定计算机可以是要添加至当前操作系统的备用计算机,以及盘 映像是当前操作系统中的计算机。
在本发明的另一典型方面中, 一种计算机系统包括管理计算机; 以及通过网络与管理计算机连接的计算机。管理计算机将作为预定盘 映像一部分且包含启动计算机所必需的程序的第一映像复制到计算机 的存储单元中,以及在基于该程序启动计算机之后,计算机将作为预 定盘映像的剩余部分的第二映像复制到存储单元中。
在本发明的另一典型方面中, 一种计算机系统包括复制确定模 块,配置用于在对存储单元进行访问时,确定作为访问对象的对象数 据的实体是否存在;以及复制模块,配置用于在对象数据的实体不存 在的情况下,控制对象数据从指定复制源复制到存储单元。
在本发明的另一典型方面中, 一种管理计算机包括映像分发模 块,配置用于将作为预定盘映像一部分的第一映像复制到通过网络连 接的计算机。第一映像包含启动计算机所必需的程序、以及配置用于 控制复制作为预定盘映像的剩余部分的第二映像的模块。
根据本发明,至少首先复制包含启动所必需的程序的第一映像。 紧随其后,基于该程序启动计算机。因此,要被添加的计算机可以启 动任务。在执行任务期间复制第二映像。以这种方式,可以縮短要被 添加的计算机从发布分配请求到启动任务的时间。


结合附图,本发明的以上和其它目的、优点和特征将从典型实施 例的以下描述中变得显而易见,其中
图1是示出了根据传统技术的分发分发源映像的方法的流程图2A是示出了根据本发明典型实施例的服务器系统示意性配置 的示例的结构框图2B是示出了根据本发明典型实施例的服务器系统示意性配置 的另一示例的结构框图3是示出了根据本发明典型实施例的分发分发源映像的方法的 流程图4是解释本发明效果的图示;
图5是示出了根据本发明第一典型实施例的分发源映像的概念图
图6是示出了文件系统的示例的概念图示;
图7是示出了 i节点示例的概念图示;
图8是示出了文件系统的另一示例的概念图示;
图9是示出了根据第一典型实施例的配置的结构框图10A是示出了第一典型实施例中复制第二映像的方法的流程
图10B是示出了第一典型实施例中复制第二映像的方法的流程
图11是示出了 i节点另一示例的概念图示;
图12是示出了根据本发明第二典型实施例的分发源映像的概念 图示;
图13是示出了根据第二典型实施例的配置的结构框图; 图14是示出了第二典型实施例中复制列表的概念图示; 图15A是示出了第二典型实施例中复制第二映像的方法的流程
图15B是示出了第二典型实施例中复制第二映像的方法的流程
图16是解释本发明第三典型实施例的图示;
图17是示出了根据第三典型实施例的配置的结构框图18是示出了第三典型实施例中映像分发数据的概念图示;
图19是示出了第三典型实施例中复制源列表的概念图示;
图20是示出了第三典型实施例中复制源列表的概念图示。
具体实施例方式
以下,将参照附图对本发明的典型实施例的计算机系统进行描述。
计算机系统包括自治计算机系统、实用计算机系统、网格系统、 以及虚拟计算机系统。将提供了各种服务的服务器系统作为本实施例 中的计算机系统。
首先,将描述本发明的概况。图2A示出了根据本实施例的服务 器系统1的概念配置的示例。服务器系统1具有要经由诸如LAN之 类的网络彼此连接的服务器组。服务器组包括管理服务器100、分发 服务器200和备用服务器300。管理服务器100是管理全部服务器的 服务器。分发服务器200是处于操作状态的服务器。备用服务器300 是按照需要结合于操作系统中的服务器。
服务器系统1还具有由服务器使用的一组存储器U0、210和310。 存储器110 (主盘)是管理服务器100所使用的存储器。存储器210 是分发服务器200所使甩的存储器。存储器310是备用服务器300所 使用的存储器。管理服务器100可由全部存储器110、210和310访问。
当将备用服务器结合于操作系统中时,将当前处于操作状态中的 分布服务器200的"分布源映像IM"分发给备用服务器300。分发源映 像IM是分发服务器200的盘映像,包括操作系统(OS)、中间件和应 用程序。将分发源映像IM提前存储于存储器110中。
服务器系统1的分配不限于图2A中示出的配置。例如,该组服 务器100至300可以通过SAN (存储区域网络)与该组存储器110至 310连接。可选地,服务器系统1可以支持iSCSI。在iSCSI的情况下, 该组存储器110至310直接与由多个服务器所共享的网络连接。
图3是示出了根据本发明的添加服务器的过程的流程图。首先,
管理服务器100准备好操作状态中的分发服务器200的分发源映像IM (步骤Sl)。可以将分布源映像IM分为"第一映像IM1"和"第二映像 IM2"。第一映像IM1是分发源映像IM的一部分,至少包括需要用来 启动服务器的程序。第二映像IM2是分发源映像IM的剩余部分。将 要准备的分发源映像IM存储在预定存储器中。可以集中、以及可以 分布式地存储分发源映像IM。
以下,用户或负载监视软件请求管理服务器ioo来分配附加服务 器(步骤S2)。响应该请求,管理服务器100从登记的备用服务器组 中选择一个备用服务器300 (步骤S3)。通过比较分发服务器200与 组中每个备用服务器之间的硬件配置,管理服务器100可以选择适于 分发源映像IM的备用服务器300。
接下来,管理服务器100独占地将第一映像IM1复制到所选备用 服务器300的存储器310 (步骤S4)。如上所述,第一映像IM1包括 启动服务器所需的程序。在该状态下,管理服务器100通过采用WOL (唤醒LAN)功能来启动备用服务器300 (步骤S5)。管理服务器100 还执行诸如设置网络/存储器之类的必要过程。此时,备用服务器300 (即附加服务器)启动任务。
接下来,将第二映像IM2复制到由附加服务器所执行的任务中的 存储器310 (步骤S6)。例如,响应来自附加服务器(备用服务器300) 的请求,通过按需系统来复制第二映像IM2。还可以在附加服务器中 的操作后台中复制第二映像IM2。当完成了完全地复制第二映像IM2 的过程时,结束对分发源映像IM进行分发的过程。
图4示出了现有技术与本发明之间的比较。根据现有技术,在时 间tO处的分配请求之后,依次执行服务器选择(步骤S103)、整个分 发源映像的复制(步骤S104)和启动(步骤S105)。附加服务器在时 间tl处启动任务。同时,根据本发明,紧随复制作为分发源映像IM 的一部分的第一映像IM1之后(步骤S4),执行启动过程(步骤S5)。 因此,附加服务器启动任务的时间tl'早于时间tl。即,将从分配请求 至启动附加服务器中任务的时间段从TA縮短至TB。
对于剩余的第二映像IM2,在启动附加服务器之后及在由附加服 务器执行任务期间,执行按需复制或后台复制。在时间t2处完成了第 二映像IM2的复制。尽管延长了复制全部分发映像IM的时间段,但 是縮短了启动附加服务器中的任务之前花费的时间段。就从提供服务 的连续性角度而言这是优选的。
将对根据本发明的分发源映像的分发进行详细描述。具体地,将 对复制第二映像IM2的方法的细节进行描述。 分发源映像的分类
图5是示出了在本发明的第一典型实施例中的分发源映像IM的 分类的概念图示。分发源映像IM包括OS单元51和AP (应用程序) 部分。OS部分51等同于导入映像,这是启动服务器所需的最小程序。 AP部分包括元数据52、数据53和文件54。元数据52是管理文件的 数据,包括例如目录数据。在第一典型实施例中,第一映像IM1包括 IS部分51和元数据52。第二映像IM2包括数据53和作为不同于第 一映像IM1的映像的实体文件54。
将通过使用详细示例来描述元数据52。图6是示出了在通常己知 的UNIX (注册商标)系统中的概念文件管理系统的图示。将盘区域 划分为多个分区。每个分区中的文件系统包括导入块、超块(super block)、 i列表63、数据块和目录块61。导入块是在其中存储了在启 动服务器的时间处使用的程序(导入条码)的区域。i列表63包括i 节点62组。i节点(索引节点)62是与特定文件相关的数据,并与文 件实体分离地设置。图7示出了i节点62的示例。i节点62具有大小 为64的文件和地址表65,该地址表65除了指示了文件的类型和允许 模式之外,还指示了文件实体的位置。通过i节点62来管理所有文件。
目录块61也是一种文件。如图6所示,目录块61指示了包括在 目录中的文件名称以及与文件相对应的i节点62的编号。当参照特定 文件时,根据目录块61来确定与该文件相对应的i节点62。根据i 节点62来确定盘上的文件实体的位置。因而可以对指定文件进行访 问。
在图6中示出的示例中,目录块61和i列表63等同于元数据52, 元数据52是管理文件的数据。即,目录块61和i列表63包括在第一 映像IM1中。因此,优选地,在图8所示的盘上连续地布置导入块、 超块、i列表63和目录块61 。以这种方式,更加容易区分第一映像IM1 和第二映像IM2。存在除OS部分51之外的文件实体的数据块没有包 括在第一映像IM1中,而是包括在第二映像IM2中。
从一开始,便可以管理图8中所示格式的、在分发服务器200的 盘210上的文件。在这种情况下,可以容易地准备好第一映像IM1和 第二映像IM2。同时,当管理图6所示格式的分发服务器200的盘210 时,在准备第一映像IM1和第二映像IM2的过程中替换文件位置。由 于该替换,可以准备好图8中所示格式的第一映像IM1和第二映像 IM2。
图9示出了根据第一典型实施例的服务器系统1的配置。在图9 中,提取并具体地示出管理服务器100、备用服务器300、复制源存储 器110和复制目的地存储器310。尽管管理服务器100所使用的存储 器110作为复制源存储器110的示例示出,但是并不存在对于存储器 的限制。复制源存储器110可以是任何存储器,只要管理服务器100 可访问。复制目的地存储器310是由备用服务器300所使用的存储器。 复制源存储器110存储分发源映像IM,该分发源映像IM是要分发的 对象。分发源映像IM包括第一映像IM1和第二映像IM2。
管理服务器100具有映像创建模块11、服务器选择模块12和映 像分发模块13。映像创建模块11创建了分发源映像IM。服务器选择 模块12从备用服务器组中选择一个备用服务器300。映像分发模块13 将第一映像IM1复制到备用服务器300。通过软件和运算处理单元的 协作来设置三个模块11、 12和13。
备用服务器300具有复制确定模块31和映像复制模块32。复制 确定模块31确定是否需要复制包括在第二映像IM2中的数据。映像 复制模块32控制从复制源存储器110至复制目的地存储器310的复制 操作。通过包括在第一映像IM1中的OS部分的软件和运算处理单元
的协作来设置这些模块31和32。备用服务器300还存储了由管理服 务器100所通知的复制源数据33。复制源数据33指定了管理服务器 100和复制源存储器110的网络地址。将复制源数据33存储于诸如备 用服务器300的RAM之类的存储设备中。
接下来,将参照图3和9来描述根据本发明的服务器系统1的操作。
步骤Sl:
首先,映像创建模块11创建了分发服务器200的存储器210的分 发源映像IM,并将分发源映像IM存储在复制源存储器110中。例如, 考虑管理如图8所示格式的分发服务器200的盘210上的文件的情况。 在这种情况下,映像创建模块11对分发服务器200的盘210进行访问, 以读取与第一映像IM1等同的部分和与第二映像IM2等同的部分,而 不作出任何改变。接下来,映像创建模块11将诸如包括在与第一映像 IM1等同的部分中的拷贝存储在复制源存储器110中。之后,映像创 建模块11清除了与属于第二映像IM2的数据库相对应的全部i节点 62的地址表65中的数据。在这些过程之后,映像创建模块11将作为 第一映像IM1和第二映像IM2的相应部分存储在复制源存储器110 中。
同时,考虑管理如图6中所示格式的分发服务器200的盘210的 情况。在这种情况下,映像创建模块11最初读取存储在分发服务器 200的盘210中的全部数据。然后,映像创建模块ll替换文件位置, 从而使i列表63和分散的目录块61如图8所示集中定位。此时,还 对全部i节点62的地址表65中的数据进行替换。后续过程保持相同。 即,映像创建模块11将元数据52的拷贝存储在复制源存储器110中。 此外,除了包括在与第一映像IMl等同的部分中的i节点62之外,映 像创建模块11还清除了与属于第二映像IM2的数据库相对应的全部i 节点62的地址表65中的数据。这些过程允许准备好如图8所示格式 的第一映像IM1和第二映像IM2。将要准备好的第一映像IM1和第二 映像IM2存储在复制源存储器110中。 步骤S2和S3:
之后,用户或负载监视软件请求管理服务器ioo来分配附加服务
器。响应该请求,服务器选择模块12从登记的备用服务器组中选择一 个备用服务器300。
步骤S4:
接下来,将第一映像IM1从复制源存储器IIO复制到复制目的地 存储器310 (第一级复制)。例如,在SAN环境的情况下以及在共享 复制目的地存储器310的情况下,映像分发模块12从复制源存储器 110中读取第一映像IM1,以及将第一映像IM1直接复制到复制目的 地存储器310。可选地,映像分发模块13还可以命令复制源存储器110 来通过存储器侧功能实现复制。 步骤S5:
接下来,管理服务器IOO通过采用WOL (唤醒LAN)功能来启 动备用服务器300。如上所述,第一映像IM1包括0S部分51,从而 可以启动服务器。此时,备用服务器300 (即,附加服务器)启动任 务。还通过包括在OS部分51中的软件的组合和操作处理单元来为备 用服务器300设置复制确定模块31和映像复制模块32。此外,管理 服务器100向备用服务器300通知复制源数据33。通过备用服务器300 中的RAM来存储复制源数据33 。 步骤S6:
以下,在附加服务器执行任务期间,将第二映像IM2从复制源存 储器110复制到复制目的地存储器310 (第二级复制)。按需和/或后台 中复制第二映像IM2。图IOA和10B是示出了根据本典型实施例步骤 S6中过程的细节的流程图。 步骤S10:
在如图IOA所示的按需复制的情况下,最初通过操作状态中的程 序生成对复制目的地存储器310的访问(读取请求)。此时,临时地中 止以下要描述的后台复制。 步骤Sll:
备用服务器300的复制确定模块31确定在复制目的地存储器310 中是否存在目的数据的实体作为访问对象。在第一典型实施例中,复
制确定模块31参照包括在第一映像IM1中的元数据52,从而基于元 数据52作出确定。具体地,复制确定模块31检查包括在与对象数据 相对应的i节点62 (参见图7)中的数据。基于i节点62的地址表65 是否为空,可以确定是否存在文件实体。 步骤S12:
如果在i节点62中指示了地址表65 (步骤S12;否),则已经复 制了对象数据。因此,从复制目的地存储器310上指定的地址中读取 对象数据(步骤S30)。同时,如果在i节点62中指示了文件大小64 而没有指示地址表65 (步骤S12;是),则还没有复制对象数据。艮P, 应当理解,产生了对未复制区域的访问。在这种情况下,控制流移动 至步骤S20。 步骤S20:
映像复制模块32控制从复制源存储器110复制对象数据的过程。 映像复制模块32可以通过参考复制源数据33来识别管理服务器100 和复制源存储器110的网络地址。例如,映像复制模块32向管理服务 器IOO通知对象数据的文件名称,以便命令对象数据的复制。管理服 务器100基于文件名称,从复制源存储器110中读取对象数据。管理 服务器100可以通过参考在上述步骤Sl中准备好的元数据52的拷贝 来从复制源存储器110中读取对象数据。然后,管理服务器100将所 读取的对象数据存储在复制目的地存储器310中的相应地址区域中。 管理服务器100还可以命令复制源存储器110通过使用存储器侧的功 能来实现复制。, 步骤S21:
管理服务器100对与复制目的地存储器310上的对象数据相关的 i节点62进行访问,以便将存储了对象数据的地址存储在地址表65 中。可选地,管理服务器100向映像复制模块32通知地址。映像复制 模块32将地址存储在与对象数据相关的i节点62的地址表65中。因 而更新了与所复制的数据相对应的地址表65。之后,从复制目的地存 储器310上指定的地址中读取对象数据(步骤S30)。
后台复制充当了补充上述按需复制的角色。由于第二映像IM2包
括不经常访问的文件,所以可能需要长时间来通过简单应用按需复制 以完成全部分发映像IM的复制。如果组合使用后台复制,则可以减
小复制全部分发源映像IM的时间段。可以通过备用服务器300中的 复制确定模块31和映像复制模块32来类似地进行后台复制。 步骤S40:
在图10B所示的后台复制的情况下,备用服务器300的OS发布 了启动请求。例如,OS监视系统负载,并在光系统负载的情况下命 令复制确定模块31来启动后台复制。 步骤S41:
复制确定模块31从i列表63的头部中顺序地选择i节点62。后 续过程与按需复制的过程类似。复制确定模块31确认了每个i节点 62 (步骤Sll)。如果己经作出了复制(步骤S12;否),则控制流返 回步骤S41以选择后续i节点62。如果还未作出复制(步骤S12;是), 则执行上述步骤S20和S21。当完成了步骤S21时,控制流返回步骤 S41以选择后续的i节点62。如果产生了按需复制或系统负载变得更 重,则OS中止后台复制。因此可以在附加服务器执行任务期间进行 将第二映像IM2从复制源存储器110至复制目的地存储器310的复 制。
(修改的示例)
如图11所示,还可以根据本典型实施例,将"复制标记66"最 新添加至i节点62,以指示是否作出复制。在这种情况下,通过参考 i节点62的复制标记66来替代i节点62的地址表65,确定是否复制 对象数据。以下将描述修改后的示例中的特有过程。
在步骤S1中,映像创建模块11创建了分发服务器200的盘210 的分发源映像IM。例如,考虑管理图8所示格式的分发服务器200 的盘210上的文件的情况。在这种情况下,映像创建模块11对分发服 务器200的盘210进行访问,以读取与第一映像IM1等同的部分和与 第二映像IM2等同的部分,而不作出任何改变。不清除地址表65中 的数据。接下来,映像创建模块11将复制标记66添加给i节点62中 的每个。在初始状态中,将与属于第一映像IM1的数据块相对应的全
部i节点62的复制标记66设为"复制状态",同时将与属于第二映像 IM2的数据块相对应的全部i节点62的复制标记66设为"未复制状 态"。然后,映像创建模块11将相应部分作为第一映像IM1和第二映 像IM2存储在复制源存储器110中。
同时,考虑管理图6所示格式的分发服务器200的盘210的情况。 在这种情况下,映像创建模块11最初读取存储在分发服务器200的盘 210中的全部数据。然后,映像创建模块11替换文件位置,从而将i 列表63和分散的目录块61集中定位,如图8所示。映像创建模块ll 适当地改变每个i节点62中的地址表65,从而反映了该替换。映像 创建模块11还将复制标记66添加给每个i节点62。在初始状态中, 将与属于第一映像IM1的数据块相对应的全部i节点62的复制标记 66设为"复制状态",同时将与属于第二映像IM2的数据块相对应的 全部i节点62的复制标记66设为"未复制状态"。然后,将要以图8 中所示的格式创建的第一映像IM1和第二映像IM2存储在复制源存储 器110中。
在修改的示例中,如下复制第二映像IM2(步骤S6)(参照图10A 和IOB)。 步骤SU:
备用服务器300的复制确定模块31确定在复制目的地存储器310 中是否存在作为访问对象的对象数据的实体。在该修改后的示例中, 复制确定模块31参照包括在第一映像IM1中的元数据52,以检查包 括在与对象数据相对应的i节点62(参照图11)中的复制标记66。可 以基于"复制状态"或"未复制状态"或复制标记66来确定文件实体 是否存在。 步骤S12:
如果复制标记66指示"复制状态"(步骤S12;否),则已经复制 了对象数据。因此,从复制目的地存储器310上指定的地址中读取对 象数据(步骤S30)。同时,如果复制标记66指示"未复制状态"(步 骤S12;是),则还没有复制对象数据。在这种情况下,过程移动至步 骤S20。
步骤S20:
映像复制模块32控制从复制源存储器110复制对象数据的过程。 这里,映像复制模块32可以通过参考复制源数据33来识别管理服务 器100和复制源存储器110的网络地址。映像复制模块32还能够通过 参考与对象数据相关的i节点62中的地址表65,来识别存在对象数 据的地址。可以考虑各种类型的复制主题。
例如,在SAN环境(参照图2B)的情况下以及在共享复制源存 储器110的情况下,复制源存储器110可直接访问备用服务器300。 在这种情况下,映像复制模块32通过采用文件名称和在地址表65中 指示的地址直接访问复制源存储器110。然后,映像复制模块32从第 二映像IM2中读取对象数据,并将所读取的对象数据写入复制目的地 存储器310。
可选地,映像复制模块32还可以命令管理服务器100来复制对 象数据。此时,映像复制模块32向管理服务器IOO通知文件名称。管 理服务器可以基于所接收的文件名称,从复制源存储器110中读取对 象数据。然后,管理服务器100将所读取的对象数据存储在复制目的 地存储器310上的相应地址中。管理服务器100还可以命令复制源存 储器110来通过存储器侧功能实现复制。
可选地,在iSCSI环境的情况下,映像复制模块32可以命令iSCSI 发起器(未示出)来发布iSCSI命令。此时,iSCSI命令包括文件名 称和地址表65中所指示的地址。将所发布的iSCSI命令直接发送至复 制源存储器110。响应iSCSI命令,从复制源存储器110中读取对象 数据,以及将对象数据发送至复制目的地存储器310。 步骤S21:
映像复制模块32将与对象数据相关的i节点62的复制标记66从 "未复制状态"改变为"复制状态"。因而更新了与复制数据相对应的 地址表65。之后,从复制目的地存储器310上指定的地址中读取对象 数据(步骤S30)。
剩余步骤中的过程是相同的。因此,可以在附加服务器执行任务 期间,将第二映像IM2从复制源存储器110复制到复制目的地存储器
310。
以下将描述根据本发明第二典型实施例的服务器系统。在第二典 型实施例中,将相同的参考数字或符号分配给与第一典型实施例中相 同的组件,以及适当地省略对它们的描述。
图12是示出了根据第二典型实施例的分发源映像IM分类的概念 图示。在本典型实施例中,第一映像IM1仅包括OS部分51而不包括 元数据52。第二映像IM2包括除第一映像IM1之外的数据。
图13示出了根据第二典型实施例的服务器系统1的配置。在图 13中,提取并具体示出了管理服务器100、备用服务器300、复制源 存储器110和复制目的地存储器310。管理服务器100还具有复制列 表产生模块14。复制列表产生模块14产生了作为包括在第二映像IM2 中文件列表的复制列表70。
图14示出了复制列表70的示例。复制列表70具有包括在第二映 像IM2中的文件的列表、以及指示是否作出复制的复制标记。 一个文 件与一个复制标记相对应。例如,复制标记"0"指示还未将文件复制 到复制目的地存储器310中。此外,如图14所示,以完全路径来描述 文件名称。g卩,可以说复制列表70包括每个文件的地址数据。
参照已在图3和13中使用的来描述根据第二典型实施例的服务器 系统l的操作示例。 步骤S1:
首先,映像创建模块11对分发服务器200的存储器210进行访问, 以读取与第一映像IM1等同的部分和与第二映像IM2等同的部分(参 照图12)而不作出任何改变。然后,映像创建模块11将要作为第一 映像IM1和第二映像IM2读取的相应部分存储在复制源存储器110 中(步骤S1)。复制列表产生模块14还参照分发源映像IM中的第二 映像IM2来产生复制列表70。在所产生的复制列表70中,将全部复 制标记设为"0"。将所产生的复制列表70存储在复制源存储器110 中。
步骤S2至S5:
之后,响应分配附加服务器的请求(步骤S2),服务器选择模块 12选择备用服务器300 (步骤S3)。接下来,将第一映像IM1从复制 源存储器110复制到复制目的地存储器310 (步骤S4)。同时,映像 分发模块13将上述复制列表70复制到复制目的地存储器310。接下 来,管理服务器100启动备用服务器300 (步骤S5)。此时,备用服 务器300 (即,附加服务器)启动任务。 步骤S6:
之后,在附加服务器执行任务期间,将第二映像IM2从复制源存 储器110复制到复制目的地存储器310。按需和/或后台地复制第二映 像IM2。图15A和15B是示出了根据第二典型实施例在步骤S6处的 过程细节的流程图。 步骤S10:
以实质上与第一典型实施例相同的方式来执行图15A中示出的按 需复制。首先,通过操作状态中的程序来产生对复制目的地存储器310 的访问(读取请求)。此时,临时地中止以下要描述的后台复制。 步骤S13:
备用服务器300的复制确定模块31确定在复制目的地存储器310 中是否存在目的数据的实体作为访问对象。在第二典型实施例中,元 数据52不存在。作为替代,复制确定模块31参照存储在复制目的地 存储器310中的复制列表70,从而基于复制列表70作出确定。具体 地,复制确定模块31检查对象数据是否包括在复制列表70中。如果 包括了对象数据,则复制确定模块31检査与对象数据相对应的复制标 记(参照图14)。 步骤S14:如果复制标记是"1"或在复制状态中(步骤S14;否),则从复 制目的地存储器310上指定的地址中读取对象数据(步骤S30)。同时, 如果复制标记是"0"或在未复制状态中(步骤S14;是),则控制流 移动至步骤S20。 步骤S20:
映像复制模块32控制从复制源存储器110复制对象数据的过程。
这里,映像复制模块32可以参考复制源数据33中所指示的复制源存 储器110的网络地址,以及在复制列表70中所指示的文件的地址数据。 处理的细节与第一典型实施例中的细节类似。 步骤S22:
当将对象数据复制到复制目的地存储器310中时,映像复制模块
32将与对象数据相对应的复制标记从"0"改变为"1"。剩余的过程
与第一典型实施例中的那些过程相同。
还以与第一典型实施例中相同的方式来执行图15B中示出的后台
复制。首先,请求后台复制(步骤S40)。复制确定模块31顺序地从 复制列表70的头部选择文件(步骤S42)。复制确定模块31检查与在 复制列表70中选择的文件相对应的复制标记(步骤S13)。如果已经 作出了复制(步骤S14;否),则控制流返回步骤S42来选择后续文件。 如果还未作出复制(步骤S14;是),则执行上述步骤S20和S21。当 完成了步骤S22时,控制流返回步骤S42来选择后续文件。
因此,在附加服务器执行的任务期间,可以将第二映像IM2从复 制源存储器110复制到复制目的地存储器310。
接下来,将描述根据本发明第三典型实施例的服务器系统。在第 三典型实施例中,将相同的参考数字和符号分配给与第一和第二典型 实施例中相同的组件,以及将适当地省略对它们的描述。第三典型实 施例还可以与以上所述的第一典型实施例或第二典型实施例组合。
如果多个服务器在操作状态中,则存在可以被分发的多个分发源 映像。例如,在图16中,三个服务器(分发服务器)200-a、 200-b和 200-c处于操作状态中。分发服务器200-a的分发源映像包括第一映像 IMl-a和第二映像IM2-a。第二映像IM2包括应用程序数据apl、 ap2 和ap3。类似地,分发服务器200-b的分发源映像包括第一映像IMl-b 和第二映像IM2-b,以及第二映像IM2-b包括应用程序数据apl和ap2。 分发服务器200-c的分发源映像包括第一映像IMl-c和第二映像 IM2-c,以及第二映像IM2-c包括应用程序数据apl和ap3。在图16 中示出的示例中,第二映像IM2-a至IM2-c具有复制数据。因此划分
了第二映像IM2中的每个,以及独立地存储应用程序数据apl、 ap2 和ap3,从而可以节约盘空间。当复制第二映像IM2时,应当适当地 复制必要的应用程序数据。此时,应用程序数据apl、 ap2和ap3还可 以存储在彼此不同的复制源存储器中。即,第二分发源映像IM2可以 被分为多个分割的映像,以在多个复制源存储器中分布地存储多个分 割映像。
图17示出了根据第三典型实施例的服务器系统1的配置。在图 17中,提取并具体地示出管理服务器100、备选服务器300、复制目 的地存储器310和一组复制源存储器400。在该组复制源存储器400 中,分布地存储分发源映像IM,即多个分割映像。管理服务器100 具有复制源列表产生模块15。
参照已经使用的图3和17,对于根据第三典型实施例的服务器系 统1的操作示例进行描述。 步骤S1:
首先,映像创建模块11以与以上描述的第一和第二典型实施例相 同的方式产生了分发源映像。接下来,映像创建模块11将第二分发源 映像IM2分为多个分割映像,以及分布地将多个分割映像存储在该组 复制源存储器400中。映像创建模块11还创建了映像分发数据20来 指示分割映像的分发状态。
图18示出了映像分发数据20的示例。映像分发数据20指示相对 于每个分发服务器200的分割映像和对它的存储器分发。例如,将分 发服务器200-a的第二映像IM2分为多个分割映像apl、 ap2和ap3, 从而将多个分发映像apl、ap2和ap3存储在相互不同的复制源主机1、 主机2和主机3中。在剩余分发服务器200-b和200-c中也是相同的。 将相同的分割映像存储在相同的复制源中。将所产生的映像分发数据 20存储在预定存储器中。 步骤S2和S3:
接下来,请求管理服务器IOO来分配附加服务器。例如,假设将 分发服务器200-a的分发源映像IM分发给备用服务器300。 步骤S4:
映像分发模块13通过参照图18中示出的映像分发数据20来识别 第一映像IMl-a的存储器目的地。然后映像分发模块13将第一映像 IMl-a从复制源(主机l)复制到复制目的地存储器310。复制源列表 产生模块15还通过参照映像分发数据20产生复制源列表80,以及将 复制源列表80复制到复制目的地存储器310中。复制源列表80指示 存储了第二映像IM2的位置,即存储了每个分割映像(apl、 ap2和 ap3)的位置。
图19示出了复制源列表80的示例。复制源列表80指示了存储包 括在第二映像IM2-a中的每个文件的位置(复制源设备)。应当理解, 包括在每个分割映像apl、 ap2和ap3中的文件被存储在不同的复制源 主机l、主机2和主机3中。产生复制源列表80,从而这些分割映像 apl、 ap2和ap3成为复制的对象。
如果将第三典型实施例应用于第二典型实施例,则可以将在图14 中示出的复制列表70和图19中示出的复制源列表80组合。在这种情 况下,复制源列表产生模块15产生了图20中示出的复制源列表80。 在图20中,复制源列表80指示包括在第二映像IM2-a中的文件列表、 复制源设备和复制标记。 一个文件与一个复制标记相对应。该复制源 列表80还用作复制列表70. 步骤S5:
接下来,管理服务器100启动备用服务器300.此时,备用服务器 300 (即,附加服务器)启动任务。 步骤S6:
之后,在附加服务器执行任务期间,将第二映像IM2-a从该组复 制原存储器400复制到复制目的地存储器310。在图10A、10B、15A、 15B所示的步骤S20中,通过参照上述复制源列表来指定对象数据的 复制源(图19或20)。与上述典型实施例的不同在于具有各种复制源, 以及复制过程本身保持相同。
因此,在附加服务器执行任务期间,可以将第二映像从复制原存 储器110复制到复制目的地存储器310。根据本典型实施例,可以获 得与上述典型实施例相类似的效果。此外,划分分发源映像IM并共
享相同的分割映像,从而可以有效地利用盘空间。
尽管以上已经结合了典型实施例对本发明进行了描述,但是本领 域技术人员显而易见的是,提供这些实施例仅用于示出本发明,而不 应被作为对所附权利要求在限制意义上的限制。
权利要求
1、一种盘映像分发方法,包括复制包含了启动计算机所必需的程序的第一映像到预定计算机的存储单元,作为盘映像的一部分;基于所述程序启动所述预定计算机;以及在启动了所述预定计算机之后,复制第二映像到所述预定计算机的所述存储单元,作为所述盘映像的剩余部分。
2、 如权利要求1所述的盘映像分发方法,其中,所述预定计算 机是要被添加到当前操作系统中的备用计算机;以及所述盘映像是当前操作系统中的计算机。
3、 如权利要求1所述的盘映像分发方法,其中,所述复制第二 映像包括在所述预定计算机操作的后台复制所述第二映像。
4、 如权利要求1所述的盘映像分发方法,其中,所述复制第二 映像包括响应对所述预定计算机的所述存储单元的访问,以按需方法复制 所述第二映像。
5、 如权利要求1所述的盘映像分发方法,其中,将所述第二映 像存储在指定复制源中,以及所述复制第二映像包括当所述预定计算机访问所述存储单元时,确定是否存在作为访问 目标的目标数据的实体;以及在所述目标数据的实体不存在时,将所述第二映像的所述目标数 据从指定复制源复制到所述存储单元。
6、 如权利要求1所述的盘映像分发方法,其中,所述第二映像 包括分散地存储在多个复制源中的多个分割的映像,以及所述复制第二映像包括当所述预定计算机访问所述存储单元时,确定是否存在作为访问 目标的目标数据的实体;以及在所述目标数据的实体不存在时,将所述第二映像的所述目标数 据从所述多个复制源中指定的复制源复制到所述存储单元。
7、 如权利要求6所述的盘映像分发方法,还包括-产生复制源列表来指示所述多个分割的映像中的每个存储在所述多个复制源的哪个中;以及将所述复制源列表存储在所述预定计算机的所述存储单元中, 其中,所述复制所述第二映像的所述目标数据包括 通过参照所述复制源列表来指定所述指定复制源。
8、 如权利要求5至7之一所述的盘映像分发方法,其中,所述 第一映像还包含元数据,作为文件的管理数据,以及所述确定包括 基于所述元数据执行确定。
9、 如权利要求8所述的盘映像分发方法,其中,所述元数据包 含i节点,以及所述确定包括基于是否在与所述目标数据相对应的所述i节点中示出了地址来 执行确定。
10、 如权利要求5至7之一所述的盘映像分发方法,还包括产生复制列表,指示了包含在所述第二映像中的文件的列表、以及是否已经复制了每个文件的复制数据;以及将所述复制列表存储在所述预定计算机的所述存储单元中, 其中,所述确定包括 基于所述复制列表执行确定,以及 所述复制所述目标数据包括将与所述目标数据相对应的所述复制数据改变为指示已复制状 态的数据。
11、 一种计算机系统,包括 管理计算机;以及通过网络与所述管理计算机连接的计算机, 其中,所述管理计算机将作为预定盘映像一部分且包含启动所述 计算机所必需的程序的第一映像复制到所述计算机的存储单元中,以 及在基于所述程序启动所述计算机之后,所述计算机将作为所述预 定盘映像的剩余部分的第二映像复制到所述存储单元中。
12、 如权利要求11所述的计算机系统,其中,所述管理计算机 向所述计算机通知已经存储所述第二映像的复制源,以及所述计算机包括-复制确定模块,配置用于在对所述存储单元进行访问时,确定作为访问目标的目标数据的实体是否存在;以及复制模块,配置用于在所述目标数据的实体不存在的情况下,控 制所述目标数据从所通知的复制源复制到所述存储单元。
13、 如权利要求11或12所述的计算机系统,还包括了 操作模式计算机,其中,所述盘映像是所述操作模式计算机的盘映像。
14、 一种计算机系统,包括复制确定模块,配置用于在对存储单元进行访问时,确定作为访问目标的目标数据的实体是否存在;以及复制模块,配置用于在所述目标数据的实体不存在的情况下,控 制所述目标数据从指定复制源复制到所述存储单元。
15、 如权利要求14所述的计算机系统,其中,将作为盘映像一 部分并包含启动计算机所必需的程序的第一映像存储在所述存储单元 中,以及将作为所述盘映像的剩余部分的第二映像存储在所述指定复制 源中。
16、 如权利要求14所述的计算机系统,其中,将作为盘映像一 部分并包含启动计算机所必需的程序的第一映像存储在所述存储单元 中,以及作为所述盘映像的剩余部分的第二映像包括分散地存储在所述 多个复制源中的多个分割的映像。
17、 如权利要求16所述的计算机系统,其中,复制源列表存储 在所述存储单元中,以指示所述多个分割的映像中的每个存储在所述 多个复制源中的哪个中,以及所述复制模块通过参照所述复制源列表来指定所述多个复制源 之一。
18、 如权利要求15至17之一所述的计算机系统,其中,所述第 一映像还包含元数据,作为文件的管理数据,以及所述复制确定模块通过参照所述元数据执行确定。
19、 如权利要求18所述的计算机系统,其中,所述元数据包含i 节点,所述复制确定模块基于是否在与所述目标数据相对应的所述i节 点中示出了地址来执行所述确定。
20、 如权利要求15至17之一所述的计算机系统,其中,复制列 表存储在所述存储单元中,以指示包含在所述第二映像中的文件的列 表,以及是否已经复制了每个文件的复制数据;所述复制确定模块参照所述复制列表来执行所述确定,并且在完 成了所述目标数据的复制之后,将与所述目标数据相对应的复制数据 改变为已复制状态。
21、 如权利要求15至17之一所述的计算机系统,其中,所述复 制模块从指定复制源中读取所述目标数据,并将所读取的目标数据写 入所述存储单元中。
22、 如权利要求15至17之一所述的计算机系统,其中,所述复制模块命令指定复制源复制所述目标数据。
23、 一种管理计算机,包括映像分发模块,配置用于将作为预定盘映像一部分的第一映像复 制到通过网络连接的计算机,其中,所述第一映像包含启动所述计算机所必需的程序、以及配 置用于控制复制作为所述预定盘映像的剩余部分的第二映像的模块。
24、 如权利要求23所述的管理计算机,其中,所述第一映像包 含元数据,作为所述盘映像中的文件的管理数据。
25、如权利要求23所述的管理计算机,还包括复制列表产生模块,配置用于产生复制列表,复制列表具有包含 在所述第二映像中的文件的列表、以及每个文件是否处于已复制状态 的复制数据,其中,所述映像分发模块将所述复制列表与所述第一映像一起发 送至所述计算机。
全文摘要
一种盘映像分发方法,包括复制包含了启动计算机所必需的程序的第一映像到预定计算机的存储单元,作为盘映像的一部分;基于所述程序启动所述预定计算机;以及在启动了所述预定计算机之后,将第二映像作为所述盘映像的剩余部分复制到所述预定计算机的所述存储单元中。所述预定计算机可以是要被添加到当前操作系统中的备用计算机;以及所述盘映像是当前操作系统中的计算机。
文档编号G06F9/445GK101114232SQ20071013811
公开日2008年1月30日 申请日期2007年7月26日 优先权日2006年7月27日
发明者福见幸一 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1