V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dahuaer
V2EX  ›  程序员

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

  •  
  •   dahuaer · Nov 19, 2015 · 2632 views
    This topic created in 3817 days ago, the information mentioned may be changed or developed.
    • ESXi 环境下有 10 个节点,共有 2000 台 vm
    • 每次共使用 n 台的 vm ,其他 vm 保持关机状态
      我需要把这 n 台 vm 平均分配到 10 个节点上,保证每个节点上被使用的 vm 数持平(±1vm )

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

    ① 获取每个节点上使用中的 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 实现功能的(虽然现在只写了一部分
    另,求推荐算法入门书籍

    lucifer4he
        1
    lucifer4he  
       Nov 20, 2015   ❤️ 1
    你去看看一致性哈希。
    可以用那个来分配
    lucifer4he
        2
    lucifer4he  
       Nov 20, 2015
    当我没说过,除非不考虑节点挂掉
    dahuaer
        3
    dahuaer  
    OP
       Nov 20, 2015
    @lucifer4he 谢谢,当前情况下可以不考虑节点挂掉,因为一旦节点挂掉,测试就算失败了 T_T 。我去学习下一致性哈希算法~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   808 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    ♥ Do have faith in what you're doing.