blob.png blob.png

 上面左边是我的个人微信,如需进一步沟通,请加微信。  右边是我的公众号“Openstack私有云”,如有兴趣,请关注。

    如果准备采用Openstack作为基础Iaas平台提供计算存储资源,在预算、人员、硬件、技术等方面,如何入手,这里简单谈谈我自己的看法。我想到哪就写到哪,不一定很有逻辑,大家看看热闹就行。

    Openstack是开源软件,体系很庞大,大到什么程度?大到你可以使用它搭建公有云,和亚马逊的AWS一样,和阿里云一样,提供公有云服务,只要你有足够的技术力量支持。虽然体系庞大,但是不影响小规模环境的使用,它有很多子项目,但是我们一般使用它的几个核心和稳定的子项目,比如nova(计算)、cinder(块存储)、neutron(网络)、glance(镜像)、Horizon(web管理)等,用这几个子项目就可以满足我们普通的虚拟化环境了(可以作为vmware虚拟化的替代),至于其他的sahara(大数据)、manila(共享存储)、trove(数据库)、swift(对象存储)等等可以根据实际需要采用。你可以把它理解为搭积木,有很多积木,有些积木很成熟稳定,有些积木不成熟,我们使用成熟稳定的积木能够搭出我们所需要的东西就行了。

    如果准备使用Openstack,在你脑海里面需要有的概念就是“你已经进入了一个开源软件的世界” ,什么意思,就是说它所采用的所有的基础组件都是开源产品,比如操作系统是linux(ubuntu或者centos、suse等等)、数据库是mariadb、中间件是rabbitmq、web容器是apache、网络是openvswitch,也就是说,你不用考虑任何软件的费用。这个东西有两面性,一方面你省钱了,但是同时另一个方面当出现问题的时候需要你自己想办法搞定,在这个方面我不想延展谈太多,点到为止吧。

    方向定下来之后,费用方面主要考虑两方面,一方面是硬件的采购,一方面是技术团队建设:

    1、硬件采购,采购硬件之前需要首先确定设计方案,比如需要支持多少个虚拟机每个VM的CPU内存网络等等资源,然后确定需要多少台服务器每台服务器需要多少硬盘多少核CPU内存网卡光口,然后就是2台核心的交换机和若干的光纤模块,所有这些都根据设计方案确定下来,方案确定下来之后,硬件的预算基本就出来了。

    2、技术团队建设。这一块更重要,需要组建一支能够支撑openstack建设和维护的技术团队,这个团队的成员需要熟悉以linux为代表的开源软件体系,如果openstack规模比较大,功能不仅仅是虚拟化,还有其他什么计量、大数据、负载均衡之类的,会涉及到一些不成熟的子项目的时候,还需要有python开发人员,因为使用这些不成熟稳定自项目的时候会遇到各类bug,需要开发人员修复。

    上面是从预算费用方面考虑。

    硬件方面,上面也说到了,主要看需求确定设计方案,硬件的选择非常宽,随便哪一家主流的X86服务器都可以,比如HP、DELL、联想、浪潮、华为等等厂家的服务器都可以。交换机也是,市场上主流厂家的就行。这里面主要需要注意的是视应用的重要程度,以及预算的额度,需要考虑冗余,比如网络的冗余、控制节点的冗余,存储的冗余,如果可以容忍业务中断,比如一般的企业,买服务器运行业务,也不会说非要冗余,平时做好冷备份,一直用个5年6年,一直用到硬件故障,这种情况也一大堆,关键是在上线运行后,需要制定好备份策略并定期备份。

    Openstack人才方面,不一定找得到一开始就能立即用的人,有一个办法就是让现有的IT人员学习,只要有一定的服务器网络存储的基础,再加上学习linux、docker容器、mariadb、haproxy、zabbix等开源软件。投入一些实验环境的成本,比如给一台测试服务器,能够做openstack的实验,模拟各类情况进行实验模拟,对后面真正生产环境的搭建和维护有很大帮助,多做实验,少点坑。

    技术学习方面,建议系统学习Shell、Mysql数据库、iptables,Lamp及Lnmp管理、自动化运维工具,zabbix等等开源体系相关软件。我推荐51CTO学院上面有相关的培训可以参加,里面有一个比较系统的培训是“Linux高端云计算与架构师”微职位可以考虑一下(又给做广告了,马哥教育该给我广告费了,哈哈)。