11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

从一个 OpenStack 的失败案例看 Ironic 和 Neutron 组件的现状

  • 2015-01-20
  • 本文字数:1774 字

    阅读完需:约 6 分钟

2015 年 1 月 12 日, Packet 公司平台部门 VP David Laube 在公司官方博客上发布了一篇名为《谈谈我们把四个月的工作量扔进垃圾堆的经验,或者应该说这是OpenStack 的失败案例》的文章,介绍他们在尝试OpenStack 中遇到的一些挫折。

Packet 公司提供裸金属基础架构服务(也就是以前叫做物理机托管的服务),跟 Softlayer 和 RackSpace 做的生意差不多,但是做的时间短,是一家创业公司,大约在 2014 年上半年正式启动,本文作者 David 就是在去年夏天应邀加入的这家公司。Packet 的创始人 Zachary Smith 在创立 Packet 之前做过 Voxel 这家公司,也是做服务器托管服务,后来在 2011 年卖给了 Internap,成为 Internap 的服务器托管业务的一部分。

David 一直以来的经验是在托管行业做系统运维,有十多年的运维经验(前九年都在 HostRocket.Com)。2011 年的时候他加入 Voxel/Internap,成为 Zachary 的下属。按照 David 的自述,2014 年夏初 Zachary 去邀请他加入 Packet 的时候,他一开始觉得当时市场上的 IaaS 服务已经很多,没有必要再做一个。但是聊着聊着他就觉着市场上的 IaaS 的确不够好用,再加上他当时已经玩了一段时间的 Docker,非常看好在裸金属基础架构上做一套基于容器技术的部署系统的价值,所以就觉得值得做。

Voxel 的部署管理系统完全是自己编写的。在 Voxel 合并入 Internap 的那一年(2012 年),他们遇到的无数网络问题、大量硬件变更和系统变更给这套系统带来了很大压力,这些问题最终体现在了服务稳定性变差,当时在 WHT 上有用户表达了强烈的不满。

现在有机会重新搭建一套自动化安装管理系统,而且最好在几个月内就能在生产系统上给客户用,David 开始考察 OpenStack。在 David 看来,如果 OpenStack 在网络自动化、IP 管理、安装流程、硬件生命周期管理这几个方面的基础足够扎实,那完全可以依赖这套基础快速搭建起他想要的东西。

David 做了大量调研,读了当时大部分的 IRC 讨论,自己也尝试用 DevStack 做过安装,觉得不错。让他真正做出决定的是来自 RackSpace 的一篇博客,该博客讲述了 RackSpace 是如何用 Ironic 组件实现他们的裸金属云服务管理体系的

于是他们拿着最新的 Juno 版本提枪上战场了。四个月的努力让他们收获了如下经验:

  • Nova、Ironic 驱动、Neutron 是他们最需要关心的三个组件。Ironic 是为了实现裸金属管理,而 Neutron 则是为了避开 2 层网络和 VLAN,让每台主机直接连接 3 层网络。
  • 大部分文档是过时的或者错误的,于是 David 不得不用大量时间 debug 以验证哪个文档是正确的。
  • OpenStack 社区的确很大,人很多,但几乎没人有 Ironic 组件的生产使用经验,就连项目的核心开发者有时候也解答不了他们的部署问题。
  • 一个人同时搞透 Ironic 和 Neutron 是一件几乎不可能完成的任务。David 决定自己去研究 Ironic,让另一位同事去研究 Neutron。
  • 阅读了每一篇Ironic 的文档和讨论后,David 的结论是,OpenStack 从整体设计上就是为虚拟机准备的。你一旦用 Ironic,就只能用 openvswitch 和 linuxbridge。
  • Neutron 能够支持的厂商交换机有限,而且能够支持的网络模型也有限。
  • RackSpace 能跑起来是因为他们做了超级多的定制。而他们定制的很多重要补丁是不公开的,你得自己写。而你要能写出来这样的补丁,必须非常非常懂 OpenStack 的核心代码!

发展到这个阶段,David 开始觉得自己掉进了一个大坑。花了大量的时间,但项目进展缓慢。不过,他还是决定要把 Neutron 再仔细了解一下。为何?

“在物理交换机和物理服务器的体系下,安装系统不难。但是要做到可靠,这就超级难了。自动化是无止尽的持续投入,而最容易出问题的地方就是网络的自动化。”

而 Neutron 宣称自己是:

“一套服务库,可提供按需使用、可扩展、支持多种技术的网络抽象”。

这样一套东西当然不可不看。但是看了之后,以下是 David 学到的东西:

  • Neutron 的大部分功能是针对虚拟机,而非物理交换机的。
  • 他们用的是 Juniper 的交换机,而 Juniper 交换机的 Neutron 驱动已经老掉牙了,对 Juno 版也没提供多少新的支持。
  • Neutron 的 IP 管理体系自己做得很原始,又无法跟外部的 IP 资产管理体系对接。

最终,他们在圣诞前夕决定扔掉了 OpenStack,然后用了三个星期开发了一套自己的 IP 管理系统。至于 OpenStack,并不是不好,而是不合适他们的场景。之后他们还会继续关注 OpenStack 项目,并发布他们的一个 Neutron 驱动。

2015-01-20 19:205401

评论

发布
暂无评论
发现更多内容

架构师0期作业-20200606

caibird1984

极客大学架构师训练营

【架构师训练营】第1周作业2—学习总结

花生无翼

架构师训练营第一周命题作业

兔狲

【架构师训练营】第 1 周作业1—食堂就餐卡系统设计

花生无翼

极客大学架构师训练营

标题

lai

架构师训练营 - 第一周 - 食堂就餐卡系统设计

韩挺

深圳各大知名办公园区引进 GoWork 智能楼宇管理系统,开启商业地产行业的春天

Geek_116789

第一周练习1 食堂就餐卡系统设计

王鑫龙

极客大学架构师训练营

Hyperledger Fabric基础知识

程序那些事

区块链 以太坊 超级账本 hyperledger fabric

食堂就餐卡系统设计

TiK

就餐卡系统设计

永远不要低估一颗冠军的心

极客大学架构师训练营

S型曲线 - 第二曲线

石云升

创新 增长 S型理论 第二曲线 破坏式创新

架构师训练营第一周学习总结

永远不要低估一颗冠军的心

分布式账本简介

程序那些事

区块链 分布式系统 区块链技术 hyperledger fabric

食堂就餐卡系统架构设计文档

竹森先生

极客大学 架构设计 极客大学架构师训练营

数据结构与算法之数组链表

shirley

数组 链表

PostgreSQL权限控制

唯爱

开启“观察者模式”,跳出灵魂看自己

小天同学

日常思考 个人感悟

如何使用UML做需求分析与系统架构

JefferLiu

UML 架构文档

Fabric的6大特性

程序那些事

区块链 blockchain 区块链技术 hyperledger fabric

极客时间 - 架构师训练营 - week1 - 课堂笔记

毛聪

极客大学架构师训练营

怎样才能像月「睡后收入」 20 万的独立开发者一样挣钱?

非著名程序员

程序员 独立开发者 程序人生 提升认知

架构师训练营 - 第一周 - 学习总结

韩挺

作业一:食堂就餐卡系统设计

LN

读笔 | 听说你也想辞职去摆摊?何不先收下这份秘籍

张鸱鸺

读书笔记 摆地摊 社会话题

架构师训练营第一周总结

极客大学架构师训练营

作业二:根据当周学习情况,完成一篇学习总结

LN

推荐几款基于 Markdown 语法在线制作简历的平台

JackTian

GitHub 网站 markdown 简历 工具软件

食堂就餐卡系统设计

戴维斯

架构师训练营第一周总结

Linuxer

极客大学架构师训练营

IT自由职业者是怎么样的感受和体验

奈学教育

IT

从一个OpenStack的失败案例看Ironic和Neutron组件的现状_云计算_sai_InfoQ精选文章