免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6302 | 回复: 18
打印 上一主题 下一主题

认识Quick I/O 和Cached Quick I/O (vxfs) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-14 10:48 |只看该作者 |倒序浏览
首先,来介绍一下什么是Quick I/O合Cached Quick I/O。VERITAS Quick I/O是VXFS为oracle数据库提供的一种特殊的功能。数据库和文件系统有机的整合在一起同时更好的帮助系统管理员和数据库管理员进行oralce数据库服务器的配置。同时,VERITAS Quick I/O还为普通文件的创建提供裸设备接口。它避开了一定得文件系统开销的操作方式(比如:数据锁层面的操作)同时提供kernel的异步I/0(KAIO),因此,Quick I/O为文件系统管理和裸设备性能方面带来的便捷。Cached Quick I/O是一种增强型Quick I/O,它能够帮助oracle DBA更好的使用大系统内存的效率。
换句话来说,传统的文件系统,由于对文件的single write lock存在,导致文件系统在并发环境中读写效率比较低。而裸设备则不存在这个问题。Quick I/O其实就是消除了单写锁,提高文件系统的效率。
Cached Quick I/O是对Quick I/O的一种增强处理,核心的思想就是不断的记录访问的文件的频度,将最热的文件放在cache中,提高cache的命中率,从而提高文件系统的效率。
使用Cached Quick I/O可以更好的在文件系统下运行数据库。
能够方便的提供系统生产环境下的文件I/O统计。
收集在用文件的文件I/O统计。
使用Cached Quick I/O能够方便的分析文件的I/O统计。
不使用Cached Quick I/O在命中率上差异较大。
可以简单的理解这两个特性:
1)Quick I/O解决的是传统的unix文件系统的single write lock问题。
2)Cached Quick I/O解决的是cache的命中率问题。

先来介绍一下Quick I/O。
首先确认使用的文件系统是vxfs。这是VERITAS storage foundation的特性。
需要购买veritas license
使用veritas提供的脚本来创建需要转化的数据文件列表
$/opt/VRTSdbed/bin/qio_getdbfiles执行该脚本可以将vxfs下所有需要转化的数据文件都输出到mkqio.dat文件中。脚本目录在/opt/VRTSdbed/bin。在老的版本中这个脚本名称为:getdbfiles.sh.
   这个脚本会自动排除所有类型为temproary的数据文件。这些文件在转化之后,oracle将无法进行写入。
mkqio.dat文件也可以自己手工创建。但必须要注意排除temporary datafiles。文件中包含数据文件和大小,样例如下:

$cat mkqio.dat
/db01/file1 210358
/db01/file2 157996
/db01/file3 38098
/db01/file4 394935
/db01/file5 911787
/db01/redo_t04.log 209715
在上面的过程中,数据库需要打开。

$/opt/VRTSdbed/bin/qio_convertdbfiles,执行该脚本转化mkqio.dat列表中的数据文件。在老的版本中这个脚本名称为:mkqio.sh
在转化之前,必须先关闭数据库。
这些脚本都以oracle用户执行。
那么现在再来说如何启动Cached Quick I/O呢?可以通过使用命令vxtunefs命令将qio_cache_enable标志改为1来设定。命令如下:

# vxtunefs -s -o qio_cache_enable=1 /mount_point

比如:

# /opt/VRTSvxfs/sbin/vxtunefs -s -o qio_cache_enable=1 /happy

vxfs vxtunefs: Parameters successfully set for /happy

接下来看如何关闭Cached Quick I/O呢?可以通过使用命令vxtunefs命令将qio_cache_enable标志改为0来设定。命令如下:

# vxtunefs -s -o qio_cache_enable=0 /mount_point

比如:

# /opt/VRTSvxfs/sbin/vxtunefs -s -o qio_cache_enable=0 /happy1

vxfs vxtunefs: Parameters successfully set for /happy1

如果想让Cached Quick I/O设置固定不受重启的影响,就需要在/etc/vx/tunefstab文件下面增加qio_cache_enable条目。
如果tunefstab不存在的话,需要手工加一个就可以了。
举例:
/dev/vx/dsk/datadg/datavol  qio_cache_enable=1
/dev/vx/dsk/datadg/myvol    qio_cache_enable=1

可以通过vxtunefs命令来查看Cached Quick I/O的情况。
命令如下:
# vxtunefs  /mount_point

举例:
# /opt/VRTSvxfs/sbin/vxtunefs /happy
Filesystem i/o parameters for /happy
read_pref_io = 65536
read_nstream = 1
read_unit_io = 65536
write_pref_io = 65536
write_nstream = 1
write_unit_io = 65536
pref_strength = 10
buf_breakup_size = 131072
discovered_direct_iosz = 262144
max_direct_iosz = 1048576
default_indir_size = 8192
qio_cache_enable = 1
write_throttle = 15104
max_diskq = 1048576
initial_extent_size = 8
max_seqio_extent_size = 2048
max_buf_data_size = 8192
hsm_write_prealloc = 0   

# /opt/VRTSvxfs/sbin/vxtunefs  /happy1
Filesystem i/o parameters for /happy1
read_pref_io = 65536
read_nstream = 1
read_unit_io = 65536
write_pref_io = 65536
write_nstream = 1
write_unit_io = 65536
pref_strength = 10
buf_breakup_size = 131072
discovered_direct_iosz = 262144
max_direct_iosz = 1048576
default_indir_size = 8192
qio_cache_enable = 0
write_throttle = 15104
max_diskq = 1048576
initial_extent_size = 8
max_seqio_extent_size = 2048
max_buf_data_size = 8192
hsm_write_prealloc = 0   

同时还可以为个别文件设置Cached Quick I/O。使用qioadmin命令来设置文件的Cached Quick I/O。使用qiostat或者其他的分析工具来分析文件的Cached Quick I/O。当打开和关闭个人文件的Cached Quick I/O时,需要数据库是运行的。通过使用qiostat命令来观察文件的缓存命中率是否发生足够的改变打开或者关闭Cached Quick I/O对于个人文件也需要考虑设置cache.
关闭个人文件的Cached Quick I/O使用qioadmin命令设置标志位OFF。
命令如下:
# qioadmin -S file=OFF mount_point
举例:
# /opt/VRTSvxfs/sbin/qioadmin -S myfile=OFF /happy

打开个人文件的Cached Quick I/O使用qioadmin命令设置标志位ON。
命令如下:
# qioadmin -S file=ON mount_point
举例:
# /opt/VRTSvxfs/sbin/qioadmin -S myfile=ON /happy

如果想让设置一直生效不受重启的影响需要在文件/etc/vx/qioadmin下增加相应的条目。
如果这个文件不存在,可以手工添加上去。
cache建议使用qioadmin来存储时需要加上Inode属性。这些设置可以在重新mount和系统重启中一直生效,但是,这些属性通过一般的备份方法并不能被备份。他们是不能恢复的,因此,任何一次文件系统的恢复都需要重新设置属性。如果在/etc/vx/qioadmin增加了Quick I/O文件系统条目的话,这些工作可以不需要做。

/etc/vx/qioadmin的文件内容如下:
以happy文件系统为例:
device=/dev/vx/dsk/datadg/datavol
myfile, OFF
mydata, ON

可以通过是使用qioadmin命令的-P选项来查看现在文件的Cached Quick I/O情况。
命令如下:
# qioadmin -P file mount_point

例如:

# /opt/VRTSvxfs/sbin/qioadmin -P myfile /happy

myfile,OFF

# /opt/VRTSvxfs/sbin/qioadmin -P mydata /happy

mydata,ON

[ 本帖最后由 风之幻想 于 2009-5-14 11:51 编辑 ]

评分

参与人数 1可用积分 +10 收起 理由
C.Arthur + 10 精品文章

查看全部评分

论坛徽章:
62
洛杉矶湖人
日期:2015-02-10 09:56:11黑曼巴
日期:2016-06-28 17:41:282015-2016NBA季后赛纪念章
日期:2016-06-28 17:41:282016猴年福章徽章
日期:2016-02-18 15:30:34圣安东尼奥马刺
日期:2015-05-04 22:46:00菠菜神灯
日期:2015-05-04 22:35:07新奥尔良黄蜂
日期:2015-03-17 13:54:52明尼苏达森林狼
日期:2015-03-16 21:51:15萨克拉门托国王
日期:2015-03-02 16:10:58华盛顿奇才
日期:2015-03-02 16:10:58迈阿密热火
日期:2015-03-02 16:10:582016科比退役纪念章
日期:2016-06-28 17:41:28
2 [报告]
发表于 2009-05-14 10:59 |只看该作者
看不懂,也顶个.

论坛徽章:
0
3 [报告]
发表于 2009-05-14 11:10 |只看该作者
vxfs很强大

论坛徽章:
0
4 [报告]
发表于 2009-05-14 13:22 |只看该作者
用的太少,反正我没见过

论坛徽章:
2
丑牛
日期:2014-06-11 13:55:04ChinaUnix元老
日期:2015-02-06 15:16:14
5 [报告]
发表于 2009-05-14 13:30 |只看该作者
vxfs还是不错的

论坛徽章:
0
6 [报告]
发表于 2009-05-14 13:30 |只看该作者
多强大的东西啊 ,可惜一直没机会碰

论坛徽章:
0
7 [报告]
发表于 2009-05-14 14:54 |只看该作者
veritas的很多的理念真的是很不错。

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
8 [报告]
发表于 2009-05-14 16:13 |只看该作者
cached quick IO,能保证数据库写是durable的么?难道只是读做了cache?

论坛徽章:
0
9 [报告]
发表于 2009-05-14 17:04 |只看该作者
I/O on files using read() and write() system calls typically results in data being copied
twice: once between user and kernel space, and later between kernel space and disk. In
contrast, I/O on raw devices is direct. That is, data is copied directly between user space
and disk, saving one level of copying. As with I/O on raw devices, Quick I/O avoids the
extra copying.

论坛徽章:
0
10 [报告]
发表于 2009-05-15 02:23 |只看该作者
veritas版本的裸设备。
和传统的单纯的裸设备比较,下面一段话是不错的总结
VERITAS Quick I/O has been developed to combine the performance advantages of raw volumes with the maintenance advantages of a journaled file system. Studies conducted at the Large Systems Support Belmont data center showed performance benefits similar to raw volumes. The availability of the traditional UNIX file commands greatly improves the ability of the technical staff to manage the database files correctly and efficiently. VERITAS Quick I/O deserves serious consideration for implementation in any data center running Oracle databases on UNIX.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP