以下文章编译自superuser.openstack.org,作者为欧洲原子能机构IT运营系统与基础设施团队主管Tim Bell,本文首发于CERN的OpenStack主题博客。
CERN(欧洲原子能机构)在2015年9月至11月紧跟着之前的升级步伐,将OpenStack云升级至了Kilo版本。除了解决了一些漏洞,CERN还计划充分利用Kilo版本中的大量新功能,尤其是那些与性能优化相关的功能。CERN的开源云架构在东京OpenStack Summit上已被全面介绍过了。
虽然大型强子对撞机在持续7×24运行,云一直处于运行状态并且虚拟机无法被触及,相关的升级工作还是被成功完成。这次工作人员使用的仍然是分阶段升级的方法。尽管大部分工作实施过程非常顺利,但是工作人员还是遇到了一些棘手的问题。
▼Cinder——我们遇到了一个漏洞,详情请参见https://bugs.launchpad.net/cinder/+bug/1455726。该漏洞导致了一个外键错误。原因似乎与UTF8有关。目前补丁(https://review.openstack.org/#/c/183814/)还没有完成,因此还没有被纳入到发行版本当中。更多详细情况请参见http://lists.openstack.org/pipermail/openstack/2015-August/013601.html 。
▼Keystone——针对缓存的一个配置参数改变了句法,并且没有被反映在由Puppet生成的配置当中。由于缓存无法使用,导致Keystone服务器出现了高负载现象。
▼Glance——通过Glance的滚动升级,我们可以充分利用虚拟化大部分Glance服务器池所带来的优势。这使得我们可以将新的资源与Juno配置联机,同时删除老的资源。
▼Nova——我们能够与QA计算节点一起升级控制层服务。通过版本化的对象,我们可以分阶段迁移数以千计的计算节点,因此我们不需要立即全面展开升级工作。Puppet负责处理适当的RPM部署。
o 升级之后,针对OpenStack特定元数据的元数据服务出现了中断,不过EC2元数据仍然可以正常工作。这个一个存在问题的地方,我们将为此创建一个规划。
o 在执行期间,VM调整功能出现了错误。我们正在与上游开发者一起追踪这个问题。详情请参见.https://bugs.launchpad.net/nova/+bug/1459758和https://bugs.launchpad.net/nova/+bug/1446082 。
o 我们希望使用最新的Nova NUMA功能。我们在这一功能和单元中遇到了问题,不过它们可以在非单元云中正常工作。相关情况正在https://bugs.launchpad.net/nova/+bug/1517006中被追踪。一旦问题得到解决,我们将可使用新的功能进行性能优化。
o 个性化设置的动态迁移目前仅取得了部分的成功。由于单元数据库将个性化设置存储在两个地方,因此迁移工作需要同时进行。我们已经通过强制将个性化设置迁移到新的端点解决了这一问题。
o Kilo版本中临时性驱动器的处理似乎与Juno版本不同。default_ephemeral_format的选项默认是vfat,而不是ext3。其目的似乎想表示vfat分区类型专属于Windows,而ext4分区类型则专属于Linux,不过我们的环境并没有紧跟这一分类方式。虽然Nectar曾对此有过报道,但是我们在Kilo版本说明中并没有找到任何迁移建议。尽管我们正在评估迁移影响,不过我们还是将ext3设置为默认选项。
o 我们还在解决我们大多数动态单元中存在的一个扩展性问题。详情请参见https://bugs.launchpad.net/nova/+bug/1524114。在这里,所有的VM,而不仅仅是那些活跃的VM可以被调度器查询。自从我们可以在一个小时内创建/删除了数百台VM以来,出现了大量的被删除的VM,对它们进行一次查询所耗费的时间已经远远超过了我们的预期。
尽早发现单元中存在的这些问题是Cell V2项目中的部分工作,详情请参见https://wiki.openstack.org/wiki/Nova-Cells-v2。我们目前正在与印度孟买的巴巴原子能研究中心(BARC)共同努力,以便让单元配置成为默认选项(默认是一个单元),同时上游测试正在加大力度以验证多单元配置的有效性。
由于部分虚拟层仍在运行Scientific Linux 6,我们利用GoDaddy的方法对使用软件集合的组件进行了打包处理。详情请参见https://github.com/krislindgren/openstack-venv-cent6。我们目前已在使用这种方法处理作为代理安装在虚拟层上的Nova和Ceilometer。作为向Kilo版本升级的一部分,控制器将被升级至CentOS 7。
总体上,向Kilo版本升级可以增加新的功能,修补漏洞,降低管理压力。向新的版本升级需要进行认真规划和共享上游活动,例如Puppet模块等,目前事实已经证明这是一个最佳的方法。由于CERN的OpenStack团队的许多成员都参加了在东京举行的OpenStack Summit,因此我们在Liberty版本公布之前没有彻底完成相关的升级工作,不过不久之后我们将会完成这些工作。
由于已经向Kilo版本升级,我们已经做好了启动将Nova网络向Neutron迁移、部署新的EC2 API项目和使用针对容器原生应用的Magnum的准备工作。
编者注:本文编译自superuser.openstack.org,作者为Tim Bell,编译者Frank Chan,本文首发于CERN的OpenStack主题博客(http://openstack-in-production.blogspot.jp/2015/11/our-cloud-in-kilo.html ),作者Tim Bell在2016年1月再次当选OpenStack基金会个人独立董事。