安装和配置Agent

CloudStack使用Agent来管理KVM实例。Agent与管理服务器通讯并控制主机上所有的虚拟机。

首先我们安装Agent:

在RHEL/CentOS上:

  1. $ yum install cloudstack-agent

在Ubuntu上:

  1. $ apt-get install cloudstack-agent

现在主机已经为加入群集做好准备。后面的章节有介绍,请参阅 添加一个宿主机。强烈建议在添加主机之前阅读此部分内容。

配置KVM虚拟机的CPU型号(可选)

此外,CloudStack Agent允许主机管理员控制KVM实例中的CPU型号。默认情况下,KVM实例的CPU型号为只有少数CPU特性且版本为xxx的QEMU Virtual CPU。指定CPU型号有几个原因:

  • 通过主机CPU的特性最大化提升KVM实例的性能;

  • 确保所有机器的默认CPU保持一致,消除对QEMU变量的依赖。

在大多数情况下,主机管理员需要每个主机配置文件(/etc/cloudstack/agent/agent.properties)中指定guest虚拟机的CPU配置。这将通过引入两个新的配置参数来实现:

  1. guest.cpu.mode=custom|host-model|host-passthrough
  2. guest.cpu.model=from /usr/share/libvirt/cpu_map.xml(only valid when guest.cpu.mode=custom)

更改CPU型号有三个选择:

  1. custom: 您可以指定一个在/usr/share/libvirt/cpu_map.xml文件中所支持的型号名称。

  2. host-model: libvirt可以识别出在/usr/share/libvirt/cpu_map.xml中与主机最接近的CPU型号,然后请求其他的CPU flags完成匹配。如果虚拟机迁移到其他CPU稍有不同的主机中,保持好的可靠性/兼容性能提供最多的功能和最大限度提示的性能。

  3. host-passthrough: libvirt 会告诉KVM没有修改过CPU passthrough的主机。与host-model的差别是不仅匹配flags特性,还要匹配CPU的每一个特性。他能提供最好的性能, 同时对一些检查CPU底层特性的应用程序很重要,但这样会带来一些迁移的代价:虚拟机只会迁移到CPU完全匹配的主机上。

这里有一些示例:

  • custom

    1. guest.cpu.mode=custom
    2. guest.cpu.model=SandyBridge
  • host-model

    1. guest.cpu.mode=host-model
  • host-passthrough

    1. guest.cpu.mode=host-passthrough

注解

host-passthrough可能会导致迁移失败,如果你遇到这个问题,你应该使用 host-model或者custom