[root@dntosu001 vdbench]# cat pbd.conf
*SD: Storage Definition
*WD: Workload Definition
*RD: Run Definition
*validate= yes(-v)/read_after_write(-vr)/no_preread(-vw)/time(-vt)
*journal= yes/recover/only/noflush
monitor=/root/vdbench/shutdown
data_errors=(1000000000,6000)
sd=sd1,lun=/dev/pbd0,size=500g,journal=/root/journal,openflags=o_direct,threads=256
wd=wd1,sd=sd1,xfersize=8192,rdpct=0
rd=pbdtets,wd=wd1,iorate=max,elapsed=30m,interval=1
参数说明:
journal:指定数据存储路径,使用数据校验功能时可以通过设置journal保存测试数据,第二次运行vdbench时通过journal参数读取
上次的测试数据.
data_errors:当发生IO错误时,如果error总数超过1000000000或者运行时间超过6000s则退出
threads: 并行IO数,默认为8
open_flags=o_direct: 测试裸块设备时,必须是o_direct
xfersize: 测试数据块大小,默认4096,4K
monitor: 通过CTRL-C,Kill关闭vdbench,下次恢复journal继续校验数据将失败,设置monitor后,vdbench将检查参数指定的文
件内容,通过设置文件可以正常关闭vdbench
[root@dntosu001 vdbench]# ./vdbench -f pbd.conf -jn -v
[-jn: 将测试数据异步方式写入journal日志,同步方式性能太差,测不出压力]
[-v: 启用数据校验功能]
-jn,-v参数可以放入配置文件pbd.conf中(journal=noflush,validate=yes)
测试一段时间后,dd写入数据到pbd0,模拟数据丢失
[root@dntosu001 vdbench]# echo "end_vdbench" > /root/vdbench/shutdown
正常关闭vdbench
[root@dntosu001 vdbench]# ./vdbench -f pbd.conf -jnr -v
启动vdbench,并读取上次测试数据进行校验并继续测试. 校验完成结果:
localhost-0: 16:35:47.087 Total amount of key blocks read and validated: 13,904,362; key blocks marked in error: 0
dd写后会立马报错.
vdbench errorlog分析

写入时间戳: 0x53c4c79d79c66
[root@dntosu002 ~]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> int(0x53c4c79d79c66)
1473674042907750
>>> s, ms = divmod(1473674042907750, 1000000)
>>> '%s.%06d' % (time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(s)), ms)
'2016-09-12 09:54:02.907750'
读取errorlog中报错的块数据内容
[root@dntosu001 vdbench]# ./vdbench print /dev/pbd0 0x29acab6000 8192

vdbench 数据校验测试方法的更多相关文章

  1. SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

    在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...

  2. JSR教程2——Spring MVC数据校验与国际化

    SpringMVC数据校验采用JSR-303校验. • Spring4.0拥有自己独立的数据校验框架,同时支持JSR303标准的校验框架. • Spring在进行数据绑定时,可同时调用校验框架完成数据 ...

  3. Struts2数据校验

    Struts2数据校验 1.常见数据校验方法 表单数据的校验方式: 表单中的数据必须被效验以后才能够被使用,常用的效验方式分为两种: 前台校验:也称之为客户端效验,主要是通过JS编程的方式进行表单数据 ...

  4. Spring MVC数据校验

    在web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对 数据进行验证.输入验证分为客户端验证与服务器端验证.客户端验证主要通过JavaScript脚本进行,而服务器端验证则主要通过Jav ...

  5. spring mvc 数据校验

    1.需要导入的jar包: slf4j-api-1.7.21.jar validation-api-1.0.0.GA.jar hibernate-validator-4.0.1.GA.jar 2.访问页 ...

  6. SpringMvc中的数据校验

    SpringMvc中的数据校验 Hibernate校验框架中提供了很多注解的校验,如下: 注解 运行时检查 @AssertFalse 被注解的元素必须为false @AssertTrue 被注解的元素 ...

  7. springmvc的数据校验

       springmvc的数据校验 在Web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对数据进行验证,输入验证分为客户端验证与服务器端验证. 客户端验证主要通过javaScript脚本 ...

  8. Struts 2 数据校验要用到的类和两种校验方式以及一些校验问题的解决

    通过继承ActionSupport类来完成Action开发,ActionSupport类不仅对Action接口进行简单实现, 同时增加了验证.本地化等支持 .真实开发中自定义Action都需要继承该类 ...

  9. Struts 2的数据校验

    既然说到了Struts 2的数据校验,我们该怎么去实现呢?又是通过什么来实现呢? 就让我带着大家一起来走进Struts 2的数据校验吧. 首先我们会想到在Stuts 2的登录案例中我们定义了一个Act ...

随机推荐

  1. 线性表的Java实现--链式存储(双向链表)

    有了单向链表的基础,双向链表的实现就容易多了. 双向链表的一般情况: 增加节点: 删除节点: 双向链表的Java实现: package com.liuhao.algorithm;      publi ...

  2. post字符 特殊字符处理【转】

    今天和同事调试接口,由于产品设计的问题,传递的参数没有做任何的限制.同事就在传参数的时候加了些特殊字符到后台,但是后台打印的日志是 null... 然后上网搜了下解决办法:转 https://www. ...

  3. 修改zabbix为中文,并解决乱码问题(三)

    当Zabbix安装完成后,默认则是英文界面,有的人看英文不习惯,现在将其改为中文界面 一.修改为中文 1.打开Zabbix界面,Administrator-Users 选择语言-Chinese(zh_ ...

  4. 安装 Python IDLE (Linux)

    Python IDLE (Integrated Development and Learning Environment) 是一个官方的轻量级 Python IDE.在不同的 Linux 的发布版本中 ...

  5. 使用UITableView实现图片视差效果

    使用UITableView实现图片视差效果 视差效果如下: 原理: 根据偏移量计算不同的移动速度,so easy! // // RootTableViewController.h // TableVi ...

  6. 10分钟开始.Net Core

    .Net Core 2.0发布了,API也越来越多.此时不用.Net Core,更待何时? 安装.Net Core SDK         首先,我们当然要先装.Net Core SDK,在这里下载( ...

  7. python 使用set对列表去重后,保持原来列表的顺序排列

    testlist = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] set2list = list(set(testlist)) print ...

  8. Oracle 11g简体中文版的安装过程及图解

    1.下载Oracle 11g 地址 http://download.oracle.com/otn/nt/oracle11g/win32_11gR1_database_1013.zip 基本安装 解压缩 ...

  9. Id vs Instancetype

    我写了一篇 Id vs Instancetype的文章,欢迎访问!

  10. js字符串和数组

    sustr  substring  slice的联系与区别 str.substr(2,5) //从索引2开始截取5个字符,原有字符串str不变 str.substring(2,5) //从索引2开始截 ...