date: 2021-02-27title: cloudstack资源管理 #标题
tags: cloudstack #标签
categories: cloudstack # 分类

不管是哪种虚拟化方案,其资源是最重要的,资源包括计算、存储、网络、内存。

这里就来介绍下,cloudstack中,CPU资源是如何进行统计计算的。

CPU资源

首先我们来看一个CPU资源的计算方式:

频率 核心数 物理CPU个数 = 所有CPU资源

如下图所示,是我计算机的CPU资源:
cloudstack资源管理 - 图1

按照上面的计算公式呢就是:

  1. 2.2G * 6 * 1 = 13.2G

在cloustack中,整个资源域的CPU资源就是所有服务器的CPU资源之和。

分配给虚机后,资源域可用CPU资源将变少,分配时虚拟机每核频率不能超过物理机CPU频率,而且最多不能超过单台物理主机CPU资源。

cloudstack的资源超分配

CPU资源超分配

在cloudstack中有几个cpu相关的参数,如果资源吃紧,可以根据实际情况去进行调整,如下:

cloudstack资源管理 - 图2

  1. cluster.cpu.allocated.capacity.disablethreshold
  2. # Cluster中CPU分配率上限,CPU分配量不能超过该值
  3. # 默认为值为0.85,即85%,可以改为1,即100%。
  4. cpu.overprovisioning.factor
  5. # CPU超配倍数,CPU可用量=CPU总量*超配倍数
  6. # 默认值为1,表示不超配

内存资源超分配

按照如下搜索关键字 “memory” 即可看到内存相关的配置,并根据实际情况去修改,同样,修改后需要重启management节点。

cloudstack资源管理 - 图3

自行根据其说明,去修改对应的值即可,不过一般我们可能只需要关注下面两个参数的值:

  1. cluster.memory.allocated.capacity.disablethreshold
  2. # 最大可分配多少内存资源出去,默认为 85%,如果超过85%,创建实例会失败。
  3. max.account.memory
  4. # 一个用户最大可用多少内存,以“ M ”为单位,默认为40960(40G)

重启management节点

  1. $ systemctl restart cloudstack-management

自定义计算方案

在之前的博文中,创建实例,使用了cloudstack默认的一个计算方案,那么现在就来看看,如何自定义一个计算方案。

cloudstack资源管理 - 图4

部分选项解释如下(没有提到的则是我也没找到相关资料,就不误导人了):

  • 存储类型:共享存储和本地两种方案,建议选择共享存储。
  • 置备类型有三种:

    • thin:用多少就占用多少存储资源;
    • sparse:一次划一块,假设申请1G资源,它会先占用128M,用完了再去申请128M,但最多只能申请1G。
    • fat:惰性分配,申请多少就占用多少。
  • CPU上限:默认我们设置CPU的频率后,其实也是无法真正限制的,当CPU资源比较空闲时,其还可以用到更多的CPU资源,但如果CPU资源较紧缺,那才会根据实际值去限制CPU资源,但如果勾选了CPU上上限,则表示,无论CPU空闲与否,最多只能使用我们设置的那么多CPU资源。

  • 可变:勾选的话,表示此计算方案后续还可以更改,根据实际情况来定吧。
  • GPU:一般是windows来用,如果是linux,很少用到。

自定义存储方案

按照如下操作即可,没啥好解释的。

cloudstack资源管理 - 图5

cloudstack资源管理 - 图6