修改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
参考文献:
修改rbd指定位置的数据的更多相关文章
- 【转载】C#中使用List集合的Insert方法在指定位置插入数据
在C#的List集合等数据类型变量中,我们可以使用List集合的Insert方法在指定的索引位置插入一个新数据,例如指定在List集合的第一个位置写入一个新数据或者在List集合的中间某个位置插入个新 ...
- php 数组指定位置插入数据单元
PHP array_splice() 函数 array_splice(array,offset,length,array) 参数 描述 array 必需.规定数组. offset 必需.数值.如果 ...
- 【Linux】在文件的指定位置插入数据
今天遇到一个似乎很棘手的问题,要在文件的中间,插入几条配置 这里就以my.cnf这个文件为例 1 [mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib ...
- python+kafka,从指定位置消费数据
# @staticmethoddef get_kafka_reviews(self): # print type(self.bootstrap_servers) consumer = kafka.Ka ...
- java基础:输出数组中指定位置的数据
- mysql——修改表名、修改字段名、修改字段数据类型、增加字段、删除字段、修改字段排列位置、修改存储引擎、删除表 (示例)
一.创建表和插入数据: ), mz ), bz ) ); ,'sww','sww01'); ,'aww','aww02'); ,'qww','qww03'), (,'eww','eww04'), (, ...
- 【转载】C#使用InsertRange方法往ArrayList集合指定位置插入另一个集合
在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指 ...
- 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
- Dom4j向XML中指定位置添加、删除、修改节点——(五)
需求: 在第一本书作者后面增加描述 <描述>好书</描述> 思路:获取书下面下的所有节点(一个list集合),在list集合指定位置添加一个元素(list.add(index ...
随机推荐
- seajs 入门
最近想搞搞JS模块化, 读到了园子里的一篇好文: http://www.cnblogs.com/lvdabao/p/js-modules-develop.html 看里面讲seajs不错, 于是想学 ...
- 算法总结之 在数组中找到出现次数 > N/K的数
题目1 给定一个整型数组arr, 打印其中出现次数大于一半的数, 如果没有这样的数,打印提示信息 进阶 给定一个整型数组arr, 再给定一个整数K, 打印所有出现次数大于 N/K的数,如果没有这样的 ...
- multi update caused deadlock problem
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/dba45618-1d64-4661-891d-74cab09dddf1/deadlo ...
- SCOI2017酱油记
Day0: 虽然是8点30开始模拟赛,还是设了个7点的闹钟调节生物钟.结果硬生生睡到7点40... 打开题目:T1期望,直接弃掉(到现在都不会期望已经可以滚粗了..) T2一眼可做,恩,先写个暴力.然 ...
- hadoop 伪分布模式环境搭建
一 安装JDK 下载JDK jdk-8u112-linux-i586.tar.gz 解压JDK hadoop@ubuntu:/soft$ tar -zxvf jdk-8u112-li ...
- waitpid使用的一点问题
使用waipid的时候遇到了一个奇怪的问题,将情况简化后描述一下. 有关waitpid的基本介绍参见这里一下:http://www.cnblogs.com/mickole/p/3187770.html ...
- Android使用SVG小结
SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降.它的优点在于节约空间,使用方便. andr ...
- Binding RelativeSource
IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}&q ...
- python中常用的文件和目录操作(一)
常用的文件操作 1. 打开文件 open,它是一个内置函数,可以直接调用 语法:file object = open(file_name, [access_mode]),这里我们会创建一个file对象 ...
- 《Advanced Bash-scripting Guide》学习(十七):用more来查看gzip文件
本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 #!/bin/bash #使用more查看gzip文件 NOARGS= NOTF ...