一种虚拟机放置方法及装置的制造方法_3

文档序号:8208957阅读:来源:国知局
访问一个所述节点的数据访问时间;
[0075]具体的,虚拟机放置装置可以先确定所述一个物理主机访问一个所述节点的链路中最小的剩余带宽;根据所述节点对应的所述数据块的大小,以及所述最小的剩余带宽,计算所述节点的数据访问时间。在实际应用中,在物理主机访问一个节点的链路中,数据访问时间取决于若该链路的最小剩余带宽。示例性的,若该链路的最小剩余带宽为5M/s,该节点对应的所述数据块的大小为20M,则该物理主机访问所述节点中的数据块的数据访问时间为:数据块的大小除以剩余带宽等于4s。
[0076]步骤2)在根据所述步骤I)完成了所述一个物理主机对所述各个节点的数据访问时间的计算之后,确定在各个所述数据访问时间中确定所述最长数据访问时间;
[0077]具体的,所述最长数据访问时间决定了一个物理主机访问存储各个节点的所有条带化数据块的总时间。
[0078]根据所述步骤I)和所述根据所述步骤2)确定所述m个物理主机中每个物理主机的最长数据访问时间。
[0079]403、确定所述m个物理主机中,所述最长数据访问时间最短的物理主机的集合;
[0080]虚拟机放置装置确定所述m个物理主机中,所述最长数据访问时间最短的物理主机的集合。
[0081]具体的,当完成每个物理主机的最长数据访问时间的计算之后,将所述最长数据访问时间最短的物理主机的作为一个集合。
[0082]示例性的,在实际应用中,如图3和图5所示,storage模块为所述存储节点,sw模块为所述节点(在实际应用中,可以为交换机),host模块为所述物理主机,data模块为被划分的条带化数据块,vm模块为虚拟机,图中圆形模块的vm为所述目标虚拟机。从swl到sw2的链路的剩余带宽为ΙΟΜ/s,从swl到sw3的链路的剩余带宽为5M/s,从swl到sw2的链路为图中swl左侧所有链路中的最小剩余带宽,从swl到sw3的链路为图中swl右侧所有链路中的最小剩余带宽。
[0083]在图3和图5的实施例中,目标虚拟机需要访问的条带化数据包括:datal、data2和data3,根据本发明实施的算法,对目标虚拟机到该3个数据块的链路带宽最小值进行计算得出:当虚拟机放置在hostl或host2上时,最长数据访问时间皆为4s ;当虚拟机放置在host3或host4上时,最长数据访问时间皆为2s ;因此,所述最长数据访问时间最短的物理主机的集合为{host3,host4}。
[0084]404、根据预置逻辑在所述集合中选择一个物理主机作为所述目标虚拟机的放置主机。
[0085]虚拟机放置装置根据预置逻辑在所述集合中选择一个物理主机作为所述目标虚拟机的放置主机。
[0086]具体的,所述预置逻辑可以为选择所述集合中数据访问的链路长度最短的一个物理主机作为所述目标虚拟机的放置主机。也可以为选择所述集合中,运算资源最优的一个物理主机作为所述目标虚拟机的放置主机,所述运算资源包括:CPU和内存。
[0087]示例性的,在图3和图5的实施例中,host3或host4的访问链接的链路长度相比,host3比host4要短,因此,在图5中,选择host3作为所述目标虚拟机的放置主机。
[0088]下面对实现上述虚拟机放置方法进行描述,请参阅图6,本发明实施例中虚拟机放置装置的一个实施例包括:
[0089]获取单元601,用于获取目标虚拟机存储在各个节点中的数据块的大小,以及所述各个节点对应的链路的剩余带宽;
[0090]时间确定单元602,用于根据所述各个节点上的数据块的大小以及所述各个节点对应的链路的剩余带宽,在所述目标虚拟机能放置的m个物理主机中,确定每个所述物理主机的最长数据访问时间,所述最长数据访问时间为一个所述物理主机访问所述各个节点中的数据块的最长时间,所述m为大于I的整数;
[0091 ] 集合确定单元603,用于确定所述m个物理主机中,所述最长数据访问时间最短的物理主机的集合;
[0092]主机确定单元604,用于在所述集合中选择一个物理主机作为所述目标虚拟机的放置主机。
[0093]具体的,所述时间确定单元具体602用于:
[0094]步骤I)根据所述节点上的数据块的大小以及所述节点对应的链路的剩余带宽,计算一个物理主机访问一个所述节点的数据访问时间;
[0095]步骤2)在根据所述步骤I)完成了所述一个物理主机对所述各个节点的数据访问时间的计算之后,确定在各个所述数据访问时间中确定所述最长数据访问时间;
[0096]根据所述步骤I)和所述根据所述步骤2)确定所述m个物理主机中每个物理主机的最长数据访问时间。
[0097]进一步的,所述时间确定单元602具体还用于:
[0098]确定所述一个物理主机访问一个所述节点的链路中最小的剩余带宽;
[0099]根据所述节点对应的所述数据块的大小,以及所述最小的剩余带宽,计算所述节点的数据访问时间。
[0100]具体的,所述主机确定单元604具体用于:
[0101]选择所述集合中数据访问的链路长度最短的一个物理主机作为所述目标虚拟机的放置主机。
[0102]可选的,所述主机确定单元604具体用于:
[0103]选择所述集合中,运算资源最优的一个物理主机作为所述目标虚拟机的放置主机,所述运算资源包括:中央处理器和内存。
[0104]上述各个单元模块的具体操作过程请参考方法实施例,此处不再赘述。
[0105]本发明实施例还提供了基于所述虚拟机放置方法的虚拟机放置装置,包括:
[0106]处理器730控制虚拟机放置装置70的操作,处理器730还可以称为CPU (CentralProcessing Unit,中央处理单元)。存储器740可以包括只读存储器和随机存取存储器,并向处理器730提供指令和数据。存储器740的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,虚拟机放置装置70的各个组件通过总线系统750耦合在一起,其中总线系统750除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统750。
[0107]上述本发明实施例揭示的方法可以应用于处理器730中,或者由处理器730实现。处理器730可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器730中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器730可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器740,处理器730读取存储器740中的信息,结合其硬件完成上述方法的步骤。
[0108]进一步的,所述处理器730还用于获取目标虚拟机存储在各个节点中的数据块的大小,以及所述各个节点对应的链路的剩余带宽;根据所述各个节点上的数据块的大小以及所述各个节点对应的链路的剩余带宽,在所述目标虚拟机能放置的m个物理主机中,确定每个所述物理主机的最长数据访问时间,所述最长数据访问时间为一个所述物理主机访问所述各个节点中的数据块的最长时间,所述m为大于I的整数;确定所述m个物理主机中,所述最长
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1