关于各个节点上手动平均分配 VM 的问题

2015-11-19 18:27:39 +08:00
 dahuaer

我有以下两个方案:
方案一

① 获取每个节点上使用中的 vm 数,得到节点上使用 vm 最少的节点上, vm 的数值 a
② 计算出每个节点上使用中 vm 数和 a 的差值 b ,并从每个节点上取出 b 台 vm ,存入列表 vmList 中
③ 将 vmList 中的 vm 先 Live migration 到 vm 数最小的节点上,然后 lm 到第二少的节点上,以此类推

方案二

① 根据 n ,计算出每个节点上应有的 vm 数 c,d ( c 和 d 有可能相等)
② 计算出每个节点上使用中 vm 数和 a
③ 如果 a 等于 c or d ,则不对当前节点进行调整;若不等于 c 或者 d ,则计算 a 和 c or d 的差值,结果>0 的话,向其他节点迁移 vm 。结果<0 ,则计算其他节点

好吧,其实我现在的思路也挺混乱的。希望有大神解惑。 PS :我是用的 PowerShell 实现功能的(虽然现在只写了一部分
另,求推荐算法入门书籍

1951 次点击
所在节点    程序员
3 条回复
lucifer4he
2015-11-20 10:57:19 +08:00
你去看看一致性哈希。
可以用那个来分配
lucifer4he
2015-11-20 11:00:35 +08:00
当我没说过,除非不考虑节点挂掉
dahuaer
2015-11-20 11:10:52 +08:00
@lucifer4he 谢谢,当前情况下可以不考虑节点挂掉,因为一旦节点挂掉,测试就算失败了 T_T 。我去学习下一致性哈希算法~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237410

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX