OpenStack初始化浅析

目前的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支持StartFragment 专门租户设置特别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,其实还需要特殊的定制的镜像。

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

租户和计费

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

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

相关推荐