zoukankan      html  css  js  c++  java
  • 修改rbd指定位置的数据

    标签(空格分隔): ceph,ceph实验



    我们通过查看index为0x01的小4M文件,得知了file2.txt这个文件内容在这个4M内保存的位置为0x9000,因为0x01前面还有一个4M文件即0x00,那么这个file2.txt在整个RBD内的偏移量为:4MB+0x9000B=0x400,000B+0x9000B=0x409000B=4231168
    也就是说保存在/dev/rbd0的偏移量为0x409000的位置,这时候用dd工具,直接向这个位置写入一个Ceph,再查看file2.txt的内容,果然,被修改了!

    [root@node3 ~]# cat foo/file2.txt 
    222222222222222222222222222222222222222222
    
    [root@node3 ~]# echo Ceph>ceph
    [root@node3 ~]# dd if=ceph  of=/dev/rbd0 seek=4231168 oflag=seek_bytes
    记录了0+1 的读入
    记录了0+1 的写出
    5字节(5 B)已复制,0.0422493 秒,0.1 kB/秒
    
    [root@node3 ~]# hexdump -Cv /dev/rbd0 -n 100 -s 0x409000
    00409000  43 65 70 68 0a 32 32 32  32 32 32 32 32 32 32 32  |Ceph.22222222222|
    00409010  32 32 32 32 32 32 32 32  32 32 32 32 32 32 32 32  |2222222222222222|
    00409020  32 32 32 32 32 32 32 32  32 32 0a 00 00 00 00 00  |2222222222......|
    00409030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00409040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00409050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00409060  00 00 00 00                                       |....|
    00409064
    [root@node3 ~]# sync && echo 1 > /proc/sys/vm/drop_caches
    [root@node3 ~]# cat foo/file2.txt 
    Ceph
    2222222222222222222222222222222222222
    

    参考文献:

    大话Ceph--RBD那点事儿

  • 相关阅读:
    008 同步
    007 优雅的关闭线程
    006 线程中的join方法
    005 线程ID和线程的优先级
    004 后台线程
    003 Thread的构造
    群发 图片和语音失败原因是 ,返回 content是 null,
    状态,
    Shape Of My Heart
    转码 的状态,嘿嘿,小bug,少了一个 !
  • 原文地址:https://www.cnblogs.com/sisimi/p/7766932.html
Copyright © 2011-2022 走看看