zoukankan      html  css  js  c++  java
  • 使用存储池中的对象拼接cephfs文件系统中的文件

    之前写过一篇关于如何使用对象网关存储池中的对象来将对象网关中的文件拼接出来的文章,其实cephfs文件系统中的文件也可以使用对象来进行拼接的,以下是操作方法:

    1、首先查看cephfs的存储池信息:

    ceph fs ls

     上图中我们可以看到有一个名称为ceph的cephfs文件系统,它的元数据池为metadata,数据池为data

    2、在集群cephfs挂载目录中创建一个test目录,然后拷贝一个文件到test目录下;;

     3、刷新文件元数据信息到mds;

    ceph daemon mds.node11 flush journal

    4、查看文件的Inode ID号,并将其转换成16进制,得出的这个值就是该文件的对象标识;

    printf %x `stat -c %i 有道翻译.exe`;printf "
    "

    5、根据文件的对象标识,在ceph文件系统的数据存储池中查找该文件的所有对象;

    rados -p data ls|grep 1000063ef10|sort

     6、将步骤5中查询到的数据导出到本地一个文档中,注意一定要按照对象的切片顺序排列好;

    rados -p data ls|grep 1000063ef10|sort>yd

     7、使用导出的对象列表文档,将文件拼接出来;

    for i in `cat yd`;do rados -p data get $i $i; cat $i >> ydfy.exe;done

     8、检查原始文件的md5值和拼接出来的文件的md5值,md5值一致表示两个文件一样;

    这篇文章有助于更加直观的理解cephfs文件系统下文件存储的过程,可以看到文件是如何转化为对象并进行存储的。

    最后说明一下就是在cephfs文件系统中,目录只有元数据对象,目录的元数据对象中存储的是该目录下面的所有子目录(不包含子目录下面的子目录和文件)和文件的元数据信息(文件名称和Inode号信息)。

     

  • 相关阅读:
    MyBatis环境配置
    log4j配置不同的类多个日志文件
    Http协议头、代理
    Apache二级域名实现
    Flash Builder 4.7 完美破解
    网页设计方面,哪些中英文字体的组合能有好的视觉效果
    网页设计中最常用的字体
    sublime text 3 插件:package control
    大量实用工具类、开源包,该帖绝对值得你收藏!
    10个简化Web开发者工作的HTML5开发工具
  • 原文地址:https://www.cnblogs.com/xzy186/p/14292623.html
Copyright © 2011-2022 走看看