Jan 032017
 

在我看来,目前的OpenStack的部署工具,已经很完备了,尤其是Kolla,至少可以满足我提出的各种需求。那么在部署安装的问题解决后,我们其实对日后的如何用好OpenStack。就需要做一下研究。

我这里整理一下我所关注和思考的问题,其实也是OpenStack交付给用户,我们要回答的问题。

CPU和内存超分比例

经常有人问我,一台机器可以虚拟出多少台虚拟机。对于这个问题,我的答案永远都是:It depends。完全取决于你,从1个到100,都是可能的。

OpenStack默认的cpu超分比例是16:0,内存是1.5:0。那么生产环境是如何配置呢?

这个需要我们认真考虑,不同的OpenStack使用场景,确实区别很大。对于开发环境,16倍的超分比例,很可能也跑的很好。内存也是可以超分。

目前看到的生产环境中,稳妥的做法是4:0超分比例,内存不超分,这样的做法比较多。

这里面要简单介绍一下KVM计算cpu超分的计算方式

一颗物理cpu,是12Core,超线程,那么就是24Core,如果我们不做任何的超分,1.0,那么就是24个Core,创建4core的虚拟机,可以创建6个。

如果我在参数里设置的cpu超分比例是4.0,那么就有24*4=96core,对于4core的虚拟机,我就可以创建出24个。

CPU和内存预留

对于计算节点的cpu和内存,需要保留多少,尤其现在超融合架构下,保留多少比较合适,都是比较争议的问题,不同的软件版本,不同的硬件条件。

对于超融合架构,采用ssd,以前是需要专门做cpu的预留和绑定,不过现在好像很少人谈及这个问题。

不过一般习惯,大家都是内存保留4G,现在内存比较便宜,4G内存跑计算节点各种服务,问题不大。

CPU的预留多少给主机使用,这个参数,很多环境下都不设置,不做任何的保留。

Flavor

一般开始的时候,很少考虑Flavor该如何设置,不过真正使用起来,Flavor问题其实很多,因为一旦Flavor有虚拟机使用,你就无法删除和修改,如果你对flavor做任何操作,都会导致虚拟机产生各种问题。

OpenStack默认初始化的Flavor,在实际中应该做调整。

目前OpenStack支持 专门租户设置特别flavor,所以我们建议生产环境,设置2个flavor

  1. 4core+8G内存
  2. 8Core+16G内存
  3. 1Core+2G内存

第三个flavor,主要目的是测试使用。日常用户使用2个flavor,应该就足够了。这个其实也需要考虑主机的内存,到底多少是最合适。

如果机器是512G内存,16G内存的虚拟机,可以创建32个,减掉系统保留内存啥,30个虚拟机是没啥问题的。

对于core来说,我们就需要240个Core,如果一个cpu是15个Core,超分比例是4,那么就基本够用。从成本角度,15个Core的cpu很贵,通常12Core的cpu,比较合算。

镜像

这个就很重要,不过过去来讲,私有云的镜像制作都很不正规,导致很多问题。

一个linux的OpenStack镜像,其实是需要做很多工作,用户用起来,才会感觉好用。

  1. 上传镜像,必须指定内存和硬盘的最小要求,这样可以避免很多用户出错
  2. 上传qcow2,转换成raw格式,
  3. 只提供最小化安装的linux镜像(centos 7.2,centos 7.3,Ubuntu 16.04)
  4. 集成qemu agent
  5. 关闭selinux
  6. 不设置wap分区
  7. 加快ssh速度,设置ssh不用dns
  8. 指定源,加快速度
  9. 可以设置密码

对于OpenStack特殊服务,例如ironic,sahara,trove,其实还需要特殊的定制的镜像。

镜像上传,只能让管理员上传。

租户和计费

很多情况下,为了方便,创建用户,都分配管理员权限,导致很多管理问题。还是要求一个租户,一个用户对应。这样好管理。不能那么随意。

对于租户,计费系统要启用,这样才能了解到资源是如何消耗掉的。

  4 Responses to “谈谈OpenStack初始化”

  1. 老师:openstack删除卷很慢,用度娘查你曾经回答过是因为用了dd if=/dev/zero的原因,请问如何修改源码让其只dd前100M的数据,网上搜半天不知道哪里修改,这里也没找到(ps我用的是newton版本)

 Leave a Reply

(required)

(required)