前段时间群友有人问,怎么能找到存在Ceph里面的文件呢,我说为什么要这样问,他说要给领导演示下Ceph的高可用,某个节点down掉之后不影响数据丢失。下面针对于这个前提,做了如下实验,感兴趣的可以试试。

在开始之前先科普下Ceph的基本概念知识。

一张非常经典的寻址图,下面来继续探索Ceph的寻址流程,首先介绍下寻址流程中用到的几个概念。

File——此处的file就是用户需要存储或者访问的文件。对于一个基于Ceph开发的对象存储应用而言,这个file也就对应于应用中的“对象”,也就是用户直接操作的“对象”。

Ojbect——处的object是RADOS所看到的“对象”。Object与上面提到的file的区别是,object的最大size由RADOS限定(通常为2MB或4MB),以便实现底层存储的组织管理。因此,当上层应用向RADOS存入size很大的file时,需要将file切分成统一大小的一系列object(最后一个的大小可以不同)进行存储。为避免混淆,在本文中将尽量避免使用中文的“对象”这一名词,而直接使用file或object进行说明。

PG(Placement Group)——顾名思义,PG的用途是对object的存储进行组织和位置映射。具体而言,一个PG负责组织若干个object(可以为数千个甚至更多),但一个object只能被映射到一个PG中,即,PG和object之间是“一对多”映射关系。同时,一个PG会被映射到n个OSD上,而每个OSD上都会承载大量的PG,即,PG和OSD之间是“多对多”映射关系。在实践当中,n至少为2,如果用于生产环境,则至少为3。一个OSD上的PG则可达到数百个。事实上,PG数量的设置牵扯到数据分布的均匀性问题。关于这一点,下文还将有所展开。

OSD —— 即object storage device。OSD的数量事实上也关系到系统的数据分布均匀性,因此其数量不应太少。在实践当中,至少也应该是数十上百个的量级才有助于Ceph系统的设计发挥其应有的优势。

Failure domain ——就是故障域。

好了,理论看完了,下面开始实操。

大概的顺序就是

创建File、将File写入到Object里面然后存到Pool里面,最终映射到PG和OSD上,跟上面的图类似。

下面来验证下,可以看到我创建了个devin.txt,里面有一些英文内容,接着可以看到数据最终是存在了OSD1和OSD2上面,并且在OSD1中找到了我的文件。

下面我down掉了一个OSD2所在的节点。可以看到我的ceph-node2上的OSD已经全部down掉了。

可以看到我的文件数据已经rebalance到了OSD5上

OK.小实验验证完毕,感兴趣的可以玩玩。

转载于:https://blog.51cto.com/devingeng/1904440

如何找到存在Ceph里面的文件相关推荐

  1. 关于如何能够快速找到某个文本在所有文件中的出现位置

    Jerry的技术交流群里,有朋友问了这个关于工具的问题: 问下大家有没有一种工具软件能快速找到某个文本在所有文件中的位置 比如我有很多个文件名字不同,但是找一段话,比如叫做java多线程,那么只要文件 ...

  2. 微信小程序原生开发集成IM服务出现无法找到模块“tim-wx-sdk”的声明文件问题解决

    微信小程序原生开发集成IM服务出现无法找到模块"tim-wx-sdk"的声明文件问题解决: 通过npm命令安装配置: 在终端进入到小程序项目根目录执行:npm install 未初 ...

  3. python自动化-找到最新生成的测试报告文件

    #==============查找测试报告目录,找到最新生成的测试报告文件========== def new_report(testreport):    lists = os.listdir(te ...

  4. 如何找到系统里的重复文件,快速释放磁盘空间?

    ☞ 程序员进阶架构师必备资源免费送 ☜ 不管是 Windows 电脑还是 Linux 电脑,在使用的过程中,或多或少都会留下很多重复的文件.这些文件不仅会占用我们的磁盘,还会拖累我们的系统,所以,很有 ...

  5. 搜索所有硬盘分区,并找到文件名含有关键词的文件,使用python代码实现

    在 Python 中,可以使用 os 模块中的 os.walk() 函数来搜索硬盘的所有分区.这个函数会遍历整个目录树,并返回一个三元组 (root, dirs, files),其中 root 是当前 ...

  6. 安装Office 2007安装出错--无法找到“Office.zh-cn\officeLR.cab”文件

    Office 2007 老是装不上,总出现Office 2007 提示找不到文件 比如Office.zh-cn\officeLR.cab(实际上存在该文件). 经过百度google一番后才发现安装of ...

  7. Vue3 + TypeScript 报错:无法找到模块xx的声明文件

    项目背景,把之前的 js 项目 迁移成 Vue3 + ts项目 问题描述: 有一个工具文件my-util.js,原后缀名为 .js,被原封不动迁移到了 ts 项目中,报错 无法找到模块xx的声明文件 ...

  8. 使用 ProcessMonitor 找到进程所操作的文件的路径

    很多系统问题都是可以修的,不需要重装系统,但是最近我还是重装了.发现之前正在玩的一款游戏的存档没有了--因为我原有系统的数据并没有删除,所以我还是能找回原来的游戏存档的.但是,我怎么知道这款游戏将存档 ...

  9. linux删除文件夹提示没找到,Win10中遇到删除文件夹提示找不到该项目的解决过程...

    今天删一文件夹,结果提示找不到该项目,百度找到的解决方法如下: 方法一:rd /s /q 被删除文件夹路径 方法二:360文件粉碎器 经测试以上方法全部无效,又试了下面的方法 方法一:下载powert ...

最新文章

  1. 内部排序——直接插入排序
  2. IE – File - Work Offline
  3. java 数据库连接实例,Java连接各种数据库的实例
  4. 对于网络爬虫的提问?
  5. 中毒后重装系统该注意的几点
  6. RCTF-2015-x_xor_md5
  7. 美通社日历 | 媒体关注、会展信息、企业财报发布,节假日备忘(1月11日—1月17日)...
  8. matlab堆积式玫瑰图,用SAS实现堆积式南丁格尔玫瑰图Nightingale Rose Diagram (上)...
  9. 订餐系统(饿了某)java程序实现
  10. 如何将一段视频做成动图?分享一款视频转gif工具
  11. mysql数据库常用存储引擎的区别
  12. 阿里云1核1G内存1M宽带支持多少IP访问量够用吗?
  13. return true
  14. Linux 提权总结
  15. DDD领域驱动实现概要设计
  16. DSN,W-DSN文献资料整理
  17. android bmp合成mpeg4,FFmpeg 图片合成视频
  18. 自己总结的一些spring面试题
  19. 2020科目一考试口诀_2021年驾驶证科目一考试技巧与口诀
  20. 你与植物人有何区别?意识与复杂性的新研究给你答案

热门文章

  1. 大厂需要这样的Java工程师
  2. CTO说:Service层的接口是不是多此一举
  3. 关于Redis缓存,这3个问题一定要知道!
  4. Spring 容器的启动过程
  5. 如何优雅地根治null值引起的Bug!
  6. Spring中的这些坑,99%的程序员都踩过
  7. 吴恩达老师机器学习和深度学习课程文字版下载
  8. 北京搜狗已签算法30W,西安银行总包20W,要不要毁约去银行?
  9. MIT学神、「太极」作者胡渊鸣送你一门计算机图形学课程
  10. 凌晨三点,各类程序员都在干吗?