-1

我想研究云环境中的资源分配和管理,我正在研究的平台是OpenNebula。如果我想实现自己的负载平衡算法、vm 迁移/vm 分配,我应该修改 OpenNebula 的哪个部分?

我想做的是自动化将应用于此场景的任务:

  1. 检测过载主机
  2. 选择要迁移的虚拟机)
  3. 选择要迁移虚拟机的主机。

如果您可以建议其他工具来执行此操作,我也会考虑。我已经阅读了一些关于 OpenNebula 的材料和一本书,但这都是关于使用软件的,没有提到任何关于定制/修改的内容。

开始的正确方向是什么?

4

2 回答 2

1

OpenNebula 有两个主要的守护进程,oned 和 mm_sched。调度程序mm_sched 通过xml-rpc api与oned 对话,看看这里的架构

一种选择是创建您自己的新调度程序,使用ruby​​ 或java绑定(或任何语言,如果您直接使用 xml-rpc)。

另一种选择是调整现有的调度程序。所有代码都在src/scheduler中,但请注意它不是代码中最直接的部分之一。

于 2014-01-20T10:36:15.683 回答
0

做你想做的最好的方法是把虚拟机管理程序当作勤奋的工作人员。默认情况下,您可以使用 vmware (Esxi) 解决方案。vmware hypervisor 解决方案负责对虚拟机进行负载平衡。也就是说。您可以将问题划分为模块。虚拟机管理程序负责与负载平衡等相关的所有事情(艰苦的工作),而 OpenNebula 仅将其用作前端,它仅负责通过 API(vCenter)告诉 ESXi 您想要(无论是 VM、虚拟网络等)。换句话说。不要让管理程序以更有效的方式执行的任务使 OpenNebula 过载。

于 2017-06-12T15:05:17.900 回答