vdbench 数据校验测试方法
[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 数据校验测试方法的更多相关文章
- SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显
在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...
- JSR教程2——Spring MVC数据校验与国际化
SpringMVC数据校验采用JSR-303校验. • Spring4.0拥有自己独立的数据校验框架,同时支持JSR303标准的校验框架. • Spring在进行数据绑定时,可同时调用校验框架完成数据 ...
- Struts2数据校验
Struts2数据校验 1.常见数据校验方法 表单数据的校验方式: 表单中的数据必须被效验以后才能够被使用,常用的效验方式分为两种: 前台校验:也称之为客户端效验,主要是通过JS编程的方式进行表单数据 ...
- Spring MVC数据校验
在web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对 数据进行验证.输入验证分为客户端验证与服务器端验证.客户端验证主要通过JavaScript脚本进行,而服务器端验证则主要通过Jav ...
- 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.访问页 ...
- SpringMvc中的数据校验
SpringMvc中的数据校验 Hibernate校验框架中提供了很多注解的校验,如下: 注解 运行时检查 @AssertFalse 被注解的元素必须为false @AssertTrue 被注解的元素 ...
- springmvc的数据校验
springmvc的数据校验 在Web应用程序中,为了防止客户端传来的数据引发程序异常,常常需要对数据进行验证,输入验证分为客户端验证与服务器端验证. 客户端验证主要通过javaScript脚本 ...
- Struts 2 数据校验要用到的类和两种校验方式以及一些校验问题的解决
通过继承ActionSupport类来完成Action开发,ActionSupport类不仅对Action接口进行简单实现, 同时增加了验证.本地化等支持 .真实开发中自定义Action都需要继承该类 ...
- Struts 2的数据校验
既然说到了Struts 2的数据校验,我们该怎么去实现呢?又是通过什么来实现呢? 就让我带着大家一起来走进Struts 2的数据校验吧. 首先我们会想到在Stuts 2的登录案例中我们定义了一个Act ...
随机推荐
- 自学git心得-4
本节介绍分支的一些具体应用实例. 1.Bug分支 设想我们正在分支dev上工作,突然接到一个修复bug的命令,我们需要创建分支issue-101来修复它,在此之前我们肯定需要先保存我们当前未完成的工作 ...
- 贪心算法和动态规划[zz]
http://www.cnblogs.com/asuran/archive/2010/01/26/1656399.html 贪心算法 1.贪心选择性质 所谓贪心选择性质是指所求问题的整体最优解可以通过 ...
- 关于hashcode 里面 使用31 系数的问题
首先我们来了解一下hashcode,什么是hashcode?有什么作用? hashcode其实就是散列码,使用hashcode使用高效率的哈希算法来定位查找对象! 我们在使用容器来存储数据的时候会计算 ...
- AD账户锁定策略
AD账户锁定策略在一个域中可以有多套,密码策略只能有一套
- Tuxedo安装、配置、以及演示样例程序 (学习网址)
Tuxedo安装.配置.以及演示样例程序 (学习网址): 1.http://liu9403.iteye.com/blog/1415684 2.http://www.cnblogs.com/fnng/a ...
- + - ! function($) (), function 前面的符号意思
如果在function之前加上感叹号 (!) 会怎么样?比如下面的代码: !function(){alert('iifksp')}() // true 在控制台运行后得到的值时true, ...
- 利用describe( )中的count来检查数据是否缺省
#-*- coding: utf-8 -*- #在python的pandas库中,只需要读入数据,然后使用describe()函数就可以查看数据的基本情况 import pandas as pd in ...
- Spring Security 静态资源访问
在搞 Spring Security 的时候遇到了一个小坑,就是静态资源加载的问题. 当我们继承了 WebSecurityConfigurerAdapter的时候,会去重写几个方法.去设定我们自己要过 ...
- 1001.A+B Format (20)解题描述
1. 作业链接 2. 解题的思路过程 首先这是道简单的计算题,要求计算a+b的值. 看初值条件,将a和b的取值限制在一个区间内. 本题难点和重点是如何把输出值形成题目要求的格式. 因为负数可通过在前面 ...
- python正则二
在python中,我们可以使用re模块来使用正则表达式. 正则表达式使用\对特殊字符进行转义,因为python本身也是用\作为转义,所以在使用正则的时候会出现这样的情况,'python\\.org', ...