标签openstack下的文章

许四两 发布于 02月22, 2017

neutron中metadata相关代码分析(上)

metadata做为openstack中的一个功能组件,可以结合cloud-init,在创建虚拟机后可以执行一些自定义的功能,比如自动创建账号等。这样就极大的增加的创建后自定义配置的灵活性,我们在使用过程当中,偶尔会有metadata失灵的情况,而且不是每次必现,所以借助一次现场,详细分析了neutron中metadata的代码流程,看是否能复现此问题。

阅读全文 »

许四两 发布于 02月22, 2017

neutron host routes调整记录和代码分析

前两天的线上问题排查的时候,整体检查了一次线上的一些基本进程的状态,和一些基本的dnsmasq配置等,发现以前的subnet host route配置有些冗余,所以对host route进行了调整,并且分析了相关的代码。

阅读全文 »

许四两 发布于 02月22, 2017

openstack如何优雅的更新数据库

我们在维护openstack过程中,发现有些功能无法满足,需要修改代码,而且要修改数据库的表结构,我们发现neutron中是使用alembic来做db的版本控制,于是我们摒弃了直接alter table方式,通过alembic来修改表结构,这样以后自动化部署和升级都会非常方便。

阅读全文 »

许四两 发布于 02月21, 2017

ceph环境evacuate后虚拟机无法启动问题

最近在ceph环境测试虚拟机的一些功能,其中一个比较重要的就是清退功能(exacuate),在对exacuate测试过程中遇到如下问题:虚拟机在新的节点重建后,启动后报“No bootable device” 异常,无法正常启动。下面就这个问题我们来排查一下。

阅读全文 »

许四两 发布于 02月06, 2017

如何解决磁盘空洞问题

如果虚拟机创建使用的是本地磁盘模式,那么面临一个问题,就是磁盘空洞,比如你创建了200G磁盘的虚拟机,使用qcow2文件格式,如果没有用“厚制备”方式,一开始它只分配给你很小的磁盘空间,随着写入量增多,文件会越来越大,但是这时候你删除了大量的文件,它的大小并没有减小,因为这需要各个层面配合联动,才能达到“伸缩自如”的效果。

阅读全文 »

霍明明 发布于 01月20, 2017

OpenStack Mitaka Nova API 扩展实践

OpenStack的Nova API通过插件机制为开发者提供了扩展接口功能API Plugins。很多厂商的定制OpenStack,通过扩展接口功能,在不改变社区核心代码的前提下,实现对OpenStack的功能扩展。

为什么引入插件机制?

    插件机制最重要的作用,是能够保持核心代码和扩展代码之间的分离,提高设计的抽象层次,让系统具有更好的弹性和可维护性。 插件机制还给开发者提供了扩展应用系统的方式,可以很方便的引入新逻辑。而这一机制是完全间接地,不需要改变系统核心代码。 通过插件机制用户可以根据自己的需要使用不同的功能插件,或者通过关闭某些插件来禁用特定功能,非常的灵活。 像我们常见的Nagios、Zabbix、Nginx等都提供了插件机制。 OpenStack的插件机制,是通过stevedore这个库实现的。

阅读全文 »