ceph数据存储的几个概念

Failure Domain:故障域或隔离域

最下面的蓝色长条可以看成一个个主机,里面的灰色圆柱形可以看成一个个OSD,紫色的cabinet可以也就是一个个机柜, 绿色的row可以看成一排机柜,顶端的root是我们的根节点,没有实际意义,你可以把它看成一个数据中心的意思,也可以看成一个机房的意思,不过只是起到了一个树状结构的根节点的作用。 CRUSH从root下的所有的row中选出一个row。 在刚刚的一个row下面的所有cabinet中,CRUSH选出三个cabinet。 在刚刚的三个cabinet下面的所有OSD中,CRUSH分别选出一个OSD。 这样做的根本意义在于,将数据平均分布在了这个集群里面的所有OSD上,同时,这样选择做到了三个OSD分布在三个不同的cabinet上。

OSD的故障和处理办法:

  1. OSD的故障种类: 故障A:一个正常的OSD 因为所在的设备发生异常,导致OSD不能正常工作,这样OSD超过设定的时间 就会被 out出集群。 故障B: 一个正常的OSD因为所在的设备发生异常,导致OSD不能正常工作,但是在设定的时间内,它又可以正常的工作,这时会添加会集群中。
  2. OSD的故障处理: 故障A:OSD上所有的PG,这些PG就会重新分配副本到其他OSD上。一个PG中包含的object数量是不限制的,这时会将PG中所有的object进行复制,可能会产生很大的数据复制。 故障B:OSD又重新回到PG当中去,这时需要判断一下,如果OSD能够进行增量恢复则进行增量恢复,否则进行全量恢复。(增量恢复:是指恢复OSD出现异常的期间,PG内发生变化的object。全量恢复:是指将PG内的全部object进行恢复,方法同故障A的处理)。

需要全量恢复的操作叫做backfill操作。需要增量恢复的操作叫做recovery操作。

从快照中回滚对象数据testproject:

# rados -p testpool put testobject /etc/hosts
# rados -p testpool ls
testobject
# rados mksnap testsnap1 -p testpool
# rados lssnap -p testpool
# rados -p testpool rm testobject
# rados -p testpool ls
# rados -p testpool listsnaps testobject
# rados rollback -p testpool testobject testsnap1
# rados -p testpool ls
testobject

在资源池testpool 中的对象数据testobject 的osd映射关系:

ceph osd map testpool testobject

osdmap e71 pool 'testpool' (6) object 'testobject'-
-> pg 6.98824931 (6.31) -> up ([5,4,6], p5) acting ([5,4,6], p5)

e71是osd map 版本ID 71;对象testobject属于PG 6.31 ; 其数据分别分布在osd.5,osd.4,osd.6 上。

查看数据存储的物理位置:

1、ceph osd tree 查看osd【5,4,6】其中一个所在的节点 2、ssh ceph-nodeN,进入该节点 #osd.5所在的node节点 3、df -h | grep -i ceph-5找出该osd.5的物理存储位置 ,ceph-5是指osd.5 4、cd /var/lib/ceph/osd/ceph-5/current进入osd.5所在的物理存储文件夹 5、ls -l |grep -i 6.31找出和PG(6.31)相关的文件夹 6、cd 6.31_head进入该PG文件夹 7、ls -l就可以看到我们存储的testobject数据的详细信息

vdbench

vdbench是存储性能测试的一个常用工具。

下载vdbench50406.zip

使用方法:

例如8k随机读写

创建vm,将jdk和vdbench的文件夹传至vm

# cat parmfile
hd=default,vdbench=/root/tt,user=root,shell=ssh
sd=sd1,lun=/dev/vdb,openflags=o_direct,threads=1
wd=wd1,sd=sd1,xfersize=8k,readpct=50,seekpct=100
rd=rd1,wd=wd1,iorate=max,elapsed=120,maxdata=5500g,interval=1,warmup=30

# ./vdbench -f parmfile

原文发布于微信公众号 - 后端云(opnfv-tech)

原文发表时间:2018-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

如何租到靠谱的房子?Scrapy爬虫帮你一网打尽各平台租房信息!

17340
来自专栏FreeBuf

暴雪游戏存在DNS重绑定漏洞可导致玩家电脑被远程劫持

谷歌安全研究员Tavis Ormandy发现暴雪游戏存在一个严重漏洞,攻击者利用该漏洞针对游戏玩家电脑可实现远程恶意代码执行。“魔兽世界”、“守望先锋”、“暗黑...

27780
来自专栏SDNLAB

SDNLAB技术分享(十七):Ceph在云英的实践

大家好,我是云英负责存储的研发工程师,杨冠军,很高兴今天能在这里跟大家一起讨论分享下Ceph和Ceph在云英的实践。 首先我先介绍下,Ceph是什么,我们为什么...

65560
来自专栏练小习的专栏

百度百科的一个小效果

百度百科的一个小效果,感觉不错,取下来保存 方法就是普通的onMouseOve事件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM...

22960
来自专栏Java学习123

Linux 性能分析工具 nmon for Linux

43060
来自专栏北京马哥教育

你的Ubuntu还可以这么美

先上两张桌面和开发环境见下图 ? ? 系统优化 更新源 更新前先设置源为aliyun的,国内访问速度快。 ? 1 2 sudo apt-get update s...

45850
来自专栏李想的专栏

腾讯云负载均衡CLB的那些“独门利器”

今天就聊一聊腾讯云的负载均衡提供给客户的那些独有的特性,大家也可以了解下腾讯云负载均衡器的优势所在。

1.5K120
来自专栏北京马哥教育

8分钟掌握Linux内核分析的核心科技

作者: OUYANG_LINUX007 来源: http://blog.csdn.net/ouyang_linux007/article/details/742...

44950
来自专栏腾讯技术工程官方号的专栏

2017 Openstack Days China:虚拟机的IO模型分析

本文将其在2017年7月24日在北京举办的 China Openstack Days 上分享的内容进行整理,内容主要介绍了虚拟机的 IO 流程分析方法,几个特殊...

39720
来自专栏小白课代表

PPT进阶之路(一)

又到年终了,学生该交各种作业的PPT了,工作的人该做各种年终报告了,作为【演示】中最常用的软件

10820

扫码关注云+社区

领取腾讯云代金券