关于 ASM+rawdevices 以及 ASM+block devices with or without ASMLIB的讨论
2010-02-18 19:37
369 查看
- on raw-bound character devices (/dev/raw/raw*)
- on block devices (/dev/hd**) with ASMLib installed
- on block devices (/dev/hd**) without ASMLib installed
这三种asm管理的方式实际都是基本类似,raw-bound实际就是把把block devices O_DIRECT标志位打开,直接读磁盘,不经过缓存查询,异步I/O
而on block devices with or without asmlib实际上也是实现了异步I/O non buffer,
不过推荐是使用asm+asmlib这样免去了对于添加和删除磁盘而造成的设备名称变更的麻烦。
basically, if you give blockdevices to oracle, it will now automatically open with O_DIRECT and by default do async io. so whether you give /dev/raw or /dev/hd (or /dev/sd) to asm or to oracle in general, it will be exactly the same.
even tho as you stated elsewhere dev/raw is deprecated, reality is that all that /dev/raw was in the end was (open (/dev/blockdevice, O_DIRECT) literally nothing more. so there is no difference there.
the suggested use definitely is using asmlib and just provide the blockdevice to it. it will then take care of making sure discovery is right, naming is less of an issue and you still get asynchronous IO on pure raw non buffered disk performance
so using asm without asmlib on blockdevices dont buffer, oracle will open odirect and do async io. using asmlib will do the same type of io, it's a different actual codepath but in effect does similar stuff
I was continuously trying to convince my colleagues that
Linux raw-bound device interface was nothing else but a fatamorgana, a mirage of something called
"Sun Solaris native raw character device interface", doing nothing else but opening a block device
with O_DIRECT. Thanks a lot.
- on block devices (/dev/hd**) with ASMLib installed
- on block devices (/dev/hd**) without ASMLib installed
这三种asm管理的方式实际都是基本类似,raw-bound实际就是把把block devices O_DIRECT标志位打开,直接读磁盘,不经过缓存查询,异步I/O
而on block devices with or without asmlib实际上也是实现了异步I/O non buffer,
不过推荐是使用asm+asmlib这样免去了对于添加和删除磁盘而造成的设备名称变更的麻烦。
basically, if you give blockdevices to oracle, it will now automatically open with O_DIRECT and by default do async io. so whether you give /dev/raw or /dev/hd (or /dev/sd) to asm or to oracle in general, it will be exactly the same.
even tho as you stated elsewhere dev/raw is deprecated, reality is that all that /dev/raw was in the end was (open (/dev/blockdevice, O_DIRECT) literally nothing more. so there is no difference there.
the suggested use definitely is using asmlib and just provide the blockdevice to it. it will then take care of making sure discovery is right, naming is less of an issue and you still get asynchronous IO on pure raw non buffered disk performance
so using asm without asmlib on blockdevices dont buffer, oracle will open odirect and do async io. using asmlib will do the same type of io, it's a different actual codepath but in effect does similar stuff
I was continuously trying to convince my colleagues that
Linux raw-bound device interface was nothing else but a fatamorgana, a mirage of something called
"Sun Solaris native raw character device interface", doing nothing else but opening a block device
with O_DIRECT. Thanks a lot.
相关文章推荐
- ASM using ASMLib and Raw Devices (for oracle 10g)【不错的图文讲解】
- How To Migrate ASMLIB devices to Block Devices (non-ASMLIB)
- 关于出现 Protel 99 SE 'Format '%x' invalid or incompatible with argument' 的分析 以及补丁安装方法
- How To Setup Partitioned Linux Block Devices Using UDEV (Non-ASMLIB) And Assign Them To ASM
- 关于udev与asmlib 以及Multipath的问题,提问前先看这个
- 关于Oracle asmlib配置文件中的ORACLEASM_USE_LOGICAL_BLOCK_SIZE参数:
- python中关于with以及contextlib的使用
- 关于 rails ActiveRecord 属性 以及 foreign_key 不直接用数据库项目 时的一些讨论
- udev/raw/asmlib/多路径 配置asm
- 关于C++虚函数,纯虚函数以及模板等重要概念的深入讨论(三)
- ios应用程序的启动流程with or without storyboard
- 关于ORACLE10gR2 ASM(raw实现和asmlib实现)使用GX2000透明代理测试报告
- FRM-30425: Summarized database item must reside in a block with Query All Records or Precompute Summ
- 关于intellij14的web项目导入lib丢失以及上传资源图片等无法访问的问题
- 关于String a=“”以及new String()和==以及equals的讨论
- 关于“you need to use a theme.appcompat theme (or descendant) with this activity”错误
- 深夜的讨论——关于团队分工,以及我想到了一些关于国企的事情
- AFNetworking 关于JSON text did not start with array or object and option to allow fragments not set 错误
- python中关于with及contextlib的用法
- 关于libjpeg修改图片质量的讨论