关于 ASM+rawdevices 以及 ASM+block devices with or without ASMLIB的讨论

- 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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值