【51CTO.com原创稿件】2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。此次峰会围绕人工智能、大数据、物联网、区块链等12大核心热点,汇聚海内外60位一线专家,是一场高端的技术盛宴,也是***IT技术人才学习和人脉拓展不容错过的平台。
在19日上午的“OpenStack创新实战”分论坛现场,UMCloud架构总监张文墨带来了主题为《OpenStack大规模裸机管理的***实践》的精彩演讲,与参会者分享了UMCloud在很多裸机项目实践中总结的一台方法论和解决方案。
UMCloud架构总监张文墨
利用OpenStack统一管理裸机
据张文墨介绍,目前UMCloud在上海、南京、成都、佛山和北京建立了5个数据中心,共计4000+台裸机,5个数据中心都存在已有OpenStack集群,而且5个集群里都需要同时添加800到2000个不同的节点,这些节点都要被OpenStack统一管理。
经过UMCloud多次技术选型之后,最终选用了OpenStack O版的Ironic来实现集群管理。为什么选择Ironic?对此,张文墨解释说,Ironic有三大功能非常实用:自动化获取裸机配置信息、提供裸机系统自动化安装/擦除功能、可以像管理OpenStack虚拟机一样管理裸机。Ironic优点在于单个集群可支持超过3000台裸机,还可与OpenStack其他组件联动。
当然,张文墨也承认,在面对小规模集群的时候, Ironic的功能、性能、管理方式已经能够满足大多数需求,但是在超过几百台甚至千台以上的大规模裸机管理的时候,它还是有些不足的。
他举例道,例如Ironic没有树状结构,对裸机信息的录入和处理也比较复杂。第二个最严重的问题就在于无法管理裸机的网络。最直接的原因实际上就是因为Ironic并没有办法去管理和配置交换机。第三个不足就是所有裸机被放在一个大池中,造成大规模管理缺陷。例如:客户有2000台裸机,想在转码业务域用几个机架,再用外部的几个机架,而Ironic目前没有这种区分方式。所有的裸机都在一个大池中,就是所有的业务都混在一起。因此,使用Ironic管理大规模裸机还是不足的。
做大规模Ironic的裸机管理时的五大关键点
“所以,我们在做一个大规模Ironic的裸机管理时就主要关注了五点。”张文墨透露,分别是:大规模裸机的信息自动化录入、大规模裸机硬件信息的自动化收集、大规模裸机信息自动化处理、上层交换机网络的自动配置、裸机的池化。
在正式解读这五大关键点之前,张文墨先为大家展示了下面这张网络架构图:
张文墨解说道,这个架构唯一的目的是为裸机的服务器来服务的,就图中下面的Bare Metal server(橙色区域)。Bare Metal server左侧红线是一个基础的IPM管理网段,它的重点是Ironic Conductor(绿色区域),这个组件主要用来完成对Bare Metal server的电源周期管理,包括开机、关机、重启、硬盘启动等配置;Bare Metal server右侧的橙色线是带外1G的Inspect(裸机信息的自动化收集);Bare Metal server下面做捆绑的线,连接到网管交换机,而后连接到Zabbix Server网管服务器。实际上,这条线是作为一个裸机的自动监控存在的;Bare Metal server上面的捆绑线,左侧的是业务网段,右侧的是存储网段。这个图是最初的概念图,后期UMCloud做了小调整。
回到刚刚提到的五大关键点,张文墨一一进行了分析解读。
大规模裸机的信息自动化录入:裸机信息录入的技术含量并不高,但是耗时较大,这是项目实施***的挑战。这就要求硬件集成符合三个标准:标准布线、标准配置、标准制表,然后按照一定的规则通过脚本自动录入。
大规模裸机硬件信息的自动化收集:裸机信息的自动采集,使用的是Ironic Inspector /Conductor。首先,利用Conductor通过IPMI将裸机开机;然后,裸机通过PXE从Inspector拿到内存操作系统;***,操作系统通过内置的IPA向Inspector上报裸机信息。
大规模裸机信息自动化处理:裸机信息处理流程的***步,就是将未接线的网络接口删除;第二步,指定安装操作系统的网络接口;第三步,将指定的业务口进行绑定。完成以上任务的关键在于local_link_information。
上层交换机网络的自动配置:前面三点主要都是效率上的优化,可以大大减少管理裸机的时间,但仍旧无法管理交换机的网络。于是,UMCloud首先引入了SDN交换机,与华为达成合作。双方在裸机的管理上进行了适配和开发,摸索出下图所示的流程,使得OpenStack可以通过SDN来自动控制交换机,实现自动化管理。
裸机的池化:其含义就是按照业务需求、物理位置等标准在同一大裸机池中划分出若干小的池。实现方法就是,先在裸机中使用capabilities参数,然后在相应裸机flavor的元数据中加以匹配。
据了解,经过UMCloud的技术实践后,目前他们裸机下发速度可以达到每天300台裸机(按10小时算),切换业务/业务扩容的速度为每20分钟30台。此外,UMCloud 20个裸机资源池,可以实现池内裸机自动分配,池间隔离。
以上内容是51CTO记者根据UMCloud架构总监张文墨在WOT2018全球软件与运维技术峰会的演讲内容整理,更多关于WOT的内容请关注51cto.com。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】