国美云运维自动化实践

以磁盘为例我们使用FIO工具进行压测,并对数据绘图展示:

场景1:raid0模式下 

图 8 raid0模式压测结果

场景2:no-raid模式

图 9 直通模式压测结果

场景3:raid0模式下 升级firmware 

图 10 升级固件压测结果

延迟情况 

图 11 写延迟结果

2.5 推进标准化建设

在自动装机系统推进过程中,我们也推动了一些标准化建设,主要是网络和运维方面的标准化。网络方面主要是IDC网段的分布要提前规划好,交换机的分配、设置,网线的分配要标准化。运维方面标准化包括机柜的划分(我们分为大数据、DB、计算三种类型机器),机型配置的标准、raid的标准、bond的标准都做了规范。在这样清晰的划分下,装机上架自动化变不再是困难的事情。 

图 12 装机标准化

3. 负载均衡管理系统

3.1 技术方案

1.4层使用LVS,7层使用NGINX

2.支持TCP、HTTP、HTTPS协议,支持证书管理,证书加密存储

3.LVS、NGINX使用集群模式部署,通过多台LVS组成OSPF集群LVS、NGINX做成标准镜像,可快速水平扩展

4.自研管理平台,实现LVS和NGINX的配置平台管理

配置入库并实时生效,保证LB集群配置一致性和高可用与发布系统联动,实现灰度发布与CMDB系统联动,通过机器状态改变自动从real-sever集群添加、摘除,实现应用一键上线、下线 

图 13 负载均衡结构

3.2  推广,现有负载均衡规则迁移到系统

Lvs、Nginx转发规则从手工写的配置文件迁移到系统中是一件非常繁杂且量大的工作,而且最重要的是做好测试验证,让用户无感知。如果要完成这个工作,需要运维、配管人员、测试人员以及部分开发一同协作才能完成。如果没有很好的理由是很难调动其他部门积极配合你的,对此我们借助灰度发布的项目顺利的实施了这项工作。灰度发布项目是为了让发布能够白天发而不影响业务,以减少整个CTO部门人员的加班为目标设立的,对每个团队都是有利的,当然别人也会鼎力支持了。最后我们分四次在夜晚加班完成了整个迁移工作,做到了无缝迁移。

3.3  灰度发布

负载均衡最好的应用场景在灰度发布中,联动CMDB、部署系统一起实现灰度发布。

主要有以下特点:

1.支持90%应用随时发布,支持Http和dubbo服务,不影响业务,解放生产力

2.与slb、CMDB系统联动,从CMDB获取机器,通过slb操作负载均衡

3.基于流量灰度发布,可以设置发布频率(每次发布机器数量),发布流程:每次发布前自动扩容相应机器,部署应用后调用slb切换流量,依次类推直到应用机器都发完。 

图 14 灰度发布流程

4. 运维未来发展方向的思考

4.1  成本中心向利润中心转变

对于大型的集团来说,特别是比较传统的企业来说,受之前的IT技术能力限制往往是各个子公司建立一套IT系统,容易产生资源孤岛。对此的策略是集中技术,集中资源建立统一的资源池。除了对内采取降低成本的手段外,还需要对外走出去,将集团内的技术能力对外输出。

4.2  运维是基本功,运营是高要求

支持服务好内部客户,保障IT系统稳定运行不出故障是基本要求,在这方面各种技术也是不断发展,架构部断演进,从最初的All In border="0" title="" />