1、一般来讲,开源云平台落地都需要不同程度的二次开发。OpenStack的基本作用是搭建维护一套云平台,对物理资源做虚拟化管理。开发工作简单的话,是针对效率和稳定性的一些调优,复杂的话,还有调度和分配,以及后续运维和管理需求的开发等等。2、OpenStack 和 CloudStack是两大开源...
显示全部1、一般来讲,开源云平台落地都需要不同程度的二次开发。
OpenStack的基本作用是搭建维护一套云平台,对物理资源做虚拟化管理。
开发工作简单的话,是针对效率和稳定性的一些调优,复杂的话,还有调度和分配,以及后续运维和管理需求的开发等等。
2、OpenStack 和 CloudStack是两大开源云平台,可以都进行一下调研。相对而言,CloudStack产品化更加成熟一些,安装和运维比较方便。
===============================================
针对贵公司业务逻辑产生的问题:
高峰期瓶颈的问题,我理解为是磁盘读写性能瓶颈,这个通过OpenStack或者ceph都是无法解决的,目前比较主流的方案是用memcache或者redis集群预读磁盘数据做缓存,这个缓存机制和调度需要开发,但跟OpenStack可能关系不大
磁盘利用率不充分和CPU利用率不足的问题,可以通过OpenStack搭建云平台来进行资源的调度,整体利用率会提高,空余出来的部分,可以考虑是用做Swift存储还是将内存作为缓存系统的集群。
服务器按业务对象进行配备硬件,应该是因为各个业务需求对各部分产生的压力需求不同,这个不一定能由OpenStack进行统一配置。OpenStack是基于各虚拟化技术对资源进行细粒度划分和隔离,本身是没有真实物理硬件划分的,所以也只是能解决普遍性的资源调度需求,针对特定环境的硬件需求,未必可以完全满足。
ceph实测结果不够稳定,虽然用于块存储不会损失数据,但是有无法读写或者宕机的可能,需要重启机器恢复。这个如果真的想用于生产环境,还是有一定风险的。
可以考虑采用OpenStack(CloudStack) + KVM(XenServer等虚拟化) + Docker + Swift + memcache(Redis)的方案。
OpenStack/CloudStack用做云平台管理
KVM/XenServer/VMware用做hyperviser,提供需要完全隔离的VM环境
Docker/LXC 容器用做不需要强隔离性,但是需要更好的IO线上业务
memcache/redis集群用做缓存,解决高峰期磁盘读写瓶颈的问题
Swift可以利用剩余可利用的磁盘空间,作为文件存储系统,为公司线上线下业务提供存储空间,但不能保证高IO
收起