排序:
默认
按更新时间
按访问量

Ceph Monitor源码机制分析(三)—— 选举

Monitor的选举机制 Monitor要做的事情很明确了,就是管理、维护和发布集群的状态信息,但是为了避免单点故障或者性能热点问题,一般使用多个Monitor来做这一件事情,也就是管理层有多个成员。集群的正常运行,首先需要管理层达成一致,达成一致就需要有一个能拍板的monitor(leader...

2016-08-25 16:11:21

阅读数:3027

评论数:0

Ceph Monitor源码机制分析(二)—— 初始化

Monitor的初始化 Monitor的启动过程,相对比较简单,具体过程参见ceph_mon.cc这个源码文件。大概可以分为以下几部分: 介绍ceph_mon命令能够处理的参数以及使用方法根据配置文件指定的mon_data目录创建名为store的MonitorDBStore实例并且打开数据目...

2016-08-18 16:38:26

阅读数:2122

评论数:0

Ceph Monitor源码机制分析(一)—— 概述

0 前言 最近终于有点时间可以看看Ceph的代码了,接下来准备就Ceph monitor这个Ceph集群中最重要的组件进行深入的分析。 1 Monitor的作用 Monitor在Ceph集群中扮演着管理者的角色,维护了整个集群的状态(抽象成几张map,包括osdmap、monmap、mdsmap、...

2016-08-17 16:17:10

阅读数:3502

评论数:0

NFS配置使用

最近在配置manila对接EMC的isolon服务,发现isolon通过nfs导出的文件怎么都挂载不到服务器上,索性建了两个虚拟机(一个座位nfs server一个作为client)搭了一个nfs的环境,整体配置和使用还是非常简单的,下面介绍一下。 1 安装nfs的包 目前nfs已经成为几乎所...

2016-08-16 17:04:47

阅读数:762

评论数:0

XFS实现原理详解

XFS核心架构设计及实现的介绍

2016-08-02 23:21:57

阅读数:10987

评论数:1

Ceph中的级联快照有问题吗?

经常会有人问我关于Ceph中级联快照的问题,级联过多时,是否会影响性能,这篇文章就来说一说这个事情。

2016-08-02 22:13:18

阅读数:832

评论数:0

Ceph高级工具介绍之ceph-objectstore-tool的使用

ceph-objectstore-tool工具是Ceph提供的一个low level(可以操作object和pg)的工具,可以用来查看、修改、删除ObjectStore上的object、pg以及dump OSD journal中的数据,请谨慎使用这个工具,它有可能会造成数据的永久丢失,可能这也是很...

2016-07-25 16:17:04

阅读数:4639

评论数:4

Ceph高级工具介绍之ceph-dencoder的使用

贯穿Ceph OSD端数据处理的一个核心结构就是ObjectStore::Transaction,OSD处理的所有操作以及其关联的数据都会封装进入Transaction中的bufferlist结构里,这里的封装也就是序列化(encode),它将各种数据结构无论简单或者复杂都作为字节流,存入buff...

2016-07-21 23:23:52

阅读数:1943

评论数:1

Ceph高级工具介绍之ceph-kvstore-tool的使用

Ceph是一个复杂的分布式存储系统,有很多组件组成,不光学习成本比较高,而且运维难度也是相当的大。但近几年,它却很受大家的欢迎,越来越多的互联网企业开始采用ceph来构建自己的存储。这是为什么呢?我想源自于它优秀的设计、规范的项目管理以及活跃的社区。Ceph本身提供了很多高级工具(之所以称它们为高...

2016-07-19 11:09:51

阅读数:3264

评论数:0

生成RGW的火焰图

最近通过perf在分析Ceph对象存储RGW的性能,趁机也生成了一个Flame Graph,可以更直观的帮助我们找到RGW I/O各部分的耗时。先上图,生成的图本来是svg格式的(可以用浏览器打开,并且火焰图中每部分都是可以点开,显示对应的函数调用的。但因为无法上传,所以转换成png的了。 ...

2016-06-27 13:28:36

阅读数:2104

评论数:0

ceph-deploy搭建ceph集群

最近尝试使用ceph-deploy搭建ceph集群,发现非常方便,简简单单几个命令就能创建一个集群,省去了纯手工搭建集群的时间,当然,如果你懂puppet,使用puppet-ceph来搭建能够让你更容易方便的配置集群。 1 安装ceph包 $ ceph-deploy repo --repo-url...

2016-04-30 22:47:10

阅读数:4376

评论数:1

Ceph网络模块介绍

1 Socket简介 Ceph的网络通信是基于Socket技术实现的,所以要想搞清楚网络部分,必须先清楚socket的工作机制,这里介绍一些基本的内容,要深入理解socket请参阅《linux网络编程》一书和《tcp/ip详解》。 socket起源于Unix,而Unix/Linux基本哲学之一...

2016-04-20 23:54:13

阅读数:2291

评论数:0

librbd代码目录解读

librbd目录中目前有4个文件夹: exclusive_lock,这个目录里主要是将之前的exclusive lock 处理逻辑迁移到async state machines模式image,这个目录主要是将image refresh的处理逻辑迁移到 async state machines...

2016-04-15 23:36:25

阅读数:2032

评论数:0

Ceph源码目录架构

1 简介 该代码架构基于版本10.0.5整理,先整理根目录里的代码,再整理出src目录的架构。 2 代码架构 2.1 Ceph源码根目录 Ceph的根目录下包含了一些文件夹和若干编译、代码格式相关的文件。 [admin]:架设Document服务器,包括依赖内容并介绍修改doc的流程。 ...

2016-04-15 23:33:21

阅读数:3008

评论数:0

clone ceph的submodules

Ceph作为一个庞大的分布式系统就像一个大熔炉,其中包含了很多第三方的项目,你可以在ceph根目录下的.gitmodules中找到所有的:[submodule "ceph-object-corpus"] path = ceph-object-corpus url = htt...

2016-03-25 18:31:24

阅读数:932

评论数:0

比较两个文件的不同

linux中的diff命令可以比较两个文件的不同,并输出友好的结果,方便查看。其中-y表示输出两列对比,而'--suppress-common-lines'屏蔽了相同的行。 $ diff --suppress-common-lines default.cf osd.4.cf -y name = ...

2016-03-20 19:53:44

阅读数:607

评论数:0

ceph-fuse hangs on starting ceph client

最近搭建了一个CephFS的环境用于debug问题,一切配好之后,通过ceph-fuse(ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 10.0.101.70:6789 /mnt/cephfs/)来挂载CephFS,但发现命令会hang住不...

2016-03-13 22:59:31

阅读数:1293

评论数:0

解决too many PGs per OSD的问题

当一个集群中创建的pg个数过多时(创建的pool过多或者pool指定的pg过多),Mon就会报出如下警告: $ ceph -s cluster 27d39faa-48ae-4356-a8e3-19d5b81e179e health HEALTH_WARN ...

2016-03-04 17:47:25

阅读数:6761

评论数:0

Qemu/Kvm中的tracing工具

Qemu有自己的Trace框架并支持多个debug/trace后端包括:nop, dtrace, ftrace, log, simple, ust,可以帮助我们分析Qemu中的问题。关于这些backend的介绍,可以看这个链接:http://repo.or.cz/w/qemu/stefanha.g...

2016-03-03 12:40:43

阅读数:1657

评论数:0

整理各大公司的开源项目链接

几大开源公司的开源项目: Intel https://01.org/zh/projects Google https://github.com/google Netflix https://github.com/Netflix aws https://github.co...

2016-02-18 14:47:00

阅读数:1176

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭