Eucalyptus的可维护性
译者注:
最近Eucalyptus公司的联合创始人Graziano Obertelli连续写了几篇关于云服务的可维护性方面的博客文章。译者读后觉得很受启发,并决定花点时间将这几篇文章翻译成中文。这些博客文章的原始出处如下:
[1] http://gobertelli.blogspot.com/2012/12/its-maintainability-stupid.html
[2] http://gobertelli.blogspot.com/2013/01/maintainability-and-eucalyptus.html
[3] http://gobertelli.blogspot.com/2013/01/will-my-internet-be-faster.html
最近我写了一篇博客文章讨论私有云的可维护性为何重要。在这篇文章中,我列出了成功部署一朵私有云需要采取的一些措施,并在部署和维护阶段用Eucalyptus作为IaaS管理软件的例子进行了讨论。
部署(Deploy)
我已经提过我们做很多工作,使得Eucalyptus的安装更加容易,在这里我做一个简单的小结。Eucalyptus为主要的Linux发行版制作了安装包,只需要简单配置一下软件仓库,就可以用yum install或者apt-get install命令来完成软件安装。Eucalyptus的配置还是稍微有点复杂,需要将各个组件进行注册,但是这些步骤是可以自动化的(在FastStart里面各个组件就是自动注册的)。
显而易见,对完美的追求是永无止境的。不过我敢说,从分布式系统的角度来看,我们已经已经把安装过程做得尽可能简单。此外,优秀的系统管理员们都在用软件来管理基础设施。所以,我认为能够用脚本来定制化并管理安装过程是至关重要的(例如Eucalyptus可以用ansible、chef和puppet来定制化和管理安装过程)。
维护(Maintain)
如果你关注我们的最新进展的话,你可能已经知道我们最近发布了Eucalyptus 3.2版本。Rich和Marten通过博客对这个版本进行了一些描述,David、Andrew和Kyo也通过博客对某些特性进行了详细说明。作为一个云管理员,我觉得他们的博客文章并没有详细说明我们在改善Eucalyptus的可维护性方面所做的努力。
![]() |
在Eucalyptus 3.2中修复的缺陷 |
Eucalyptus 3.2修复了350个缺陷 - 这里我指的是那些被记录在案的缺陷,还有一些缺陷是我们在对代码进行重构的时候直接修复的。各位可能注意到大部分的缺陷是与新特性相关的,但是还有大量的缺陷是与Eucalyptus的健壮性(也就是可维护性)相关的。不相信吗?我可以举几个例子:
- 重写了存储控制器(Storage Controller,SC)的部分代码,防止云管理员意外地配置了一个不希望被使用的后端存储;
- 为高可用(HA)功能增加了安全机制,防止云控制器(Cloud Controller,CLC)精神分裂(译者注:也就是两个云控制器都以为自己才是老大);
- 为孤儿实例(如果节点控制器由于某种意外不能够及时地将该节点上的实例信息更新给云控制器的话,该节点上的实例可能成为无人照看的孤儿实例)提供了更健壮的处理方法;
- 修复了内存泄漏和数据库连接池泄漏的问题(在特定的应用场景下,这样的缺陷可能需要重启某些组件,估计大家都不会喜欢的)。
![]() |
用户界面的屏幕截图,借用自David的博客 |