int32bit's Blog

Cinder数据卷备份原理与实践

一、背景 1.1 数据保护技术概述 快照(Snapshot)、复制(Replication)、备份(Backup)是存储领域中最为常见的数据保护技术。快照用于捕捉数据卷在某一个时刻的状态,用户可以随时回滚到这个状态,也可以基于该快照创建新的数据卷。备份就是对数据进行导出拷贝并传输到远程存储设备中。当数据损坏时,用户可以从远端下载备份的数据,手动从备份数据中恢复,从而避免了数据损失。快照类...

cinder-volume服务如何实现AA高可用

1 何谓”锁” 锁是操作系统用来实现进程同步和数据一致性的常用手段之一,能够保证同一时刻只有一个进程访问互斥资源以及数据的完整性。计算机中的锁,根据运行环境可以大体分为以下三类: 同一个进程。此时主要管理该进程的多个线程间同步以及控制并发访问共享资源。由于进程是共享内存空间的,一个最简单的实现方式就是使用一个整型变量作为flag,这个flag被所有线程所共享,其值为1表示已上锁,为...

Ceph RBD mirror功能介绍

1.Ceph RBD mirror简介 Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能。因此,Ceph集群很少有跨域部署的,也就缺乏异地容灾。Ceph RBD mirror是Ceph Jewel版本引入的新功能,支持两个Ceph集群数据同步,其原理非常类似mysql的主从...

聊聊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化,遇到问题时第一直觉是想有没有什么命令加上管道组合或者正则匹配来解决,而不是想到需要打开什...