Migration 如何使用xenserver自动执行VM迁移?

Migration 如何使用xenserver自动执行VM迁移?,migration,virtual-machine,xen,temperature,Migration,Virtual Machine,Xen,Temperature,我现在正在尝试编写一个程序,该程序可以根据同一数据中心内的主机当前CPU温度自动执行从一台主机到另一台主机的迁移。(基本上是从较热的机器到较冷的机器) 我现在正在玩Xenserver,在它上我可以轻松地执行VM迁移(在控制器机器上使用XenCenter) 我已经提出了根据温度和资源利用率选择源机器和目标机器的算法 然而,当谈到编写真正的程序时,我不知道从哪里开始。如果有人能给我一些指导和帮助,我将非常感谢您的帮助。 该程序主要由两部分组成:一部分用于中央控制,安装在管理主机上。一个用于来宾主机(

我现在正在尝试编写一个程序,该程序可以根据同一数据中心内的主机当前CPU温度自动执行从一台主机到另一台主机的迁移。(基本上是从较热的机器到较冷的机器)

我现在正在玩Xenserver,在它上我可以轻松地执行VM迁移(在控制器机器上使用XenCenter)

我已经提出了根据温度和资源利用率选择源机器和目标机器的算法

然而,当谈到编写真正的程序时,我不知道从哪里开始。如果有人能给我一些指导和帮助,我将非常感谢您的帮助。

该程序主要由两部分组成:一部分用于中央控制,安装在管理主机上。一个用于来宾主机(本地控制)。应该在来宾主机的dom0上运行

本地控制部分用于收集本地主机及其上运行的所有虚拟机的CPU温度和资源利用率信息。收集的信息将根据要求发送给中央控制部分

中央控制部分将每5分钟检查一次所有来宾主机的状态(通过发送请求获取最新本地信息)。如果任何来宾计算机过热,控制计算机将选择目标主机,并将一些VM从过热主机迁移到目标主机

  • 我可以使用Xenserver/Xencenter软件的现有功能吗?如何使用

  • 哪种编程语言最适合此任务?我知道C、C++、java,但能快速学习其他语言。
    非常感谢您抽出时间

    我使用了
    Python
    ,但是javaapi也很好

    首先看一看他们为程序员公开的内容

    接下来下载库以连接xenserver

    现在要迁移VM,您需要以下参数
    VM\u reference
    &
    destination\u host\u reference

    vm_reference = XenAPI.VM.get_by_uuid(vm_uuid)
    destination_host_reference = XenAPI.host.get_by_uuid(destination_host_uuid)
    
    现在迁移虚拟机:

    XenAPI.VM.pool_migrate(vm_reference , destination_host_reference , {"live": "true"})