int32bit's Blog

聊聊Nova Compute Driver的那些趣事

OpenStack设计准则 OpenStack是一个开源云计算平台项目,旨在为公共及私有云的建设与管理提供软件的开源实现。可扩展性和弹性是OpenStack设计的准则之一,即OpenStack的各个组件以及组件内部的模块都应该是可插拔的,并且可以随意的增加插件而不需要修改已有的接口。Driver机制就是其中的一个很好的例子,Nova通过不同的driver支持不同的hypervisor,Ci...

深圳黑客松之旅

OpenStack黑客松活动是我一直神往的活动,因为这个活动不仅能够让自己在黑客味笼罩的环境中全身心融入bug fix状态,还能有机会与OpenStack各个项目的PTL、Core等大牛面对面交流(平时只能通过IRC或者邮件联系)。 2016年11月30日第五届OpenStack黑客松终于在深圳正式拉开帷幕,我有幸加入这个充满黑客味的神秘活动中。 周二一大早起床乘上早班飞机抵达深圳,匆忙...

OpenStack虚拟机保护的几种方法

1.虚拟机保护的重要性 虚拟机是OpenStack中最重要的角色之一,我们接触比较多的Nova服务就是通过虚拟机方式提供计算虚拟化服务。除此之外,还有很多高层服务也是完全依赖于Nova服务提供的虚拟机,比如Sahara大数据服务、Magnum容器编排服务、Manila文件共享服务以及Trove数据库服务等,这些服务底层都是基于虚拟机实现的。虚拟机的保护至关重要,不仅承载着用户活动的业务,还...

OpenStack Nova组件对象模型以及数据库访问机制

1. 背景介绍 在OpenStack G版以前,Nova的所有服务(包括nova-compute服务)都是直接访问数据库的,数据库访问接口在nova/db/api.py模块中实现,而该模块只是调用了IMPL的方法,即该模块只是一个代理,真正实现由IMPL实现,IMPL是一个可配置的动态加载驱动模块,通常使用Python sqlalchemy库实现,对应的代码为nova.db.sqlalch...

OpenStack使用Ceph存储后端创建虚拟机快照原理剖析

OpenStack源码分析系列

1.背景知识 1.1 Ceph基础知识 Ceph是一个开源的统一分布式存储系统,最初由Sage Weill于2007年开发,其目标是设计基于POSIX的无单点故障的分布式存储系统,同时提了统一存储系统下的高可扩展的对象存储、块存储以及文件系统存储。其中rbd块存储目前最常见的应用场景之一是作为OpenStack的共享分布式存储后端,为OpenStack计算服务Nova、镜像服务Glanc...

OpenStack服务心跳机制和状态监控

OpenStack源码分析系列

1. 背景介绍 众所周知OpenStack是一个分布式系统,由分布在不同主机的各个服务组成来共同协同完成各项工作。以计算服务Nova为例,包括的基本组件为: nova-api nova-conductor nova-sheduler nova-compute nova-consoleauth … 以上服务除了nova-api是HTTP服务外,其它都是RPC服...

配置高效科学Linux开发环境

记得2010年刚读大二,在大神@btw的指导下折腾Linux,从那时开始一直使用Linux学习和工作,折腾了不少Linux发行版,其中包括Ubuntu、Debian、Mint、Gentoo、LFS、CentOS等,现在已经完全离不开Linux环境,沉陷在Linux的工作方式中,思维方式也完全Linux化,遇到问题时第一直觉是想有没有什么命令加上管道组合或者正则匹配来解决,而不是想到需要打开什...

Harbor命令行工具介绍

1 什么是Harbor? Harbor是由VMware中国研发团队负责开发的开源企业级Registry项目,项目地址为https://github.com/vmware/harbor,该项目发布5个多月以来,深受用户喜爱,在GitHub获得了1000多个点赞星星和200多个Forks。 它是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,...

OpenStack使用ISO镜像启动云主机

1. 基础知识 大多数OpenStack新手都很疑惑一个问题,为什么OpenStack只能上传qcow2、raw格式镜像,而不是我们装系统的ISO格式镜像。其实OpenStack原生支持ISO镜像格式,只是使用方法和直接使用qcow2、raw等格式会有点不同。 1.1 什么是ISO镜像 ISO文件是电脑上光盘镜像存储格式之一,它是根据ISO-9660有关CD-ROM文件系统标准存储的文...

sparse文件处理与传输

0. 什么是sparse文件 当用户申请一块很大的存储空间时,最开始并没有写入数据(全是空),此时文件系统为了节省存储资源,提高资源利用率,不会分配实际存储空间,只有当真正写入数据时,操作系统才真正一点一点地分配空间,比如一次分64KB。于是这个文件看起来很大,而占用空间很小,实际占用空间只与用户填的数据量有关。该文件看起来像一个大盒子,开始装的东西不多,空洞很大,因此称为稀疏文件(Spa...