查看原文
其他

ASM 翻译系列第六弹:高级知识 如何映射asmlib管理的盘到它对应的设备名

2016-06-24 赵恩东 译 沃趣科技

原作者:Bane Radulovic

译者:    赵恩东

审核:    魏兴华

DBGeeK社群联合出品

当使用ASMLIB 来管理ASM 磁盘时,设备的路径信息是不会在gv$asm_disk视图path列中显示的,如果你使用的是ASMLIB Support Tools 2.1 或者更高(oracleasm-support-2.1*的rpm包)版本,可以通过root用户运行'oracleasm querydisk -p'来获得设备路径信息:


译者注:译者并不推荐使用asmlib来管理ASM的磁盘,asmlib的出现本质上是为了解决设备权限、设备拥有者信息的问题,还可以提供一个“永不变化”的设备名,但是linux原生的udev同样可以做到这一点,而且做的更好,ASM INSTANCE使用ASMLIB提供的asm disk,增加了额外的层面,每次Linux Kernel更新,都需要替换新的ASMLIB包,ASMLIB的存在,还可能引入更多的bug。特别是,如果是在RHEL/OEL 5或以上版本,udev已非常成熟,你已经有充分的理由利用udev而放弃ASMLIB。另外,通过下面的shell脚本也可以查看:
上面脚本是要通过操作系统中ASM或GI的owner用户执行,当然kfed二进制文件必须是已经可以使用并在相关的PATH环境变量中。运行以上命令不必使用root特权用户。如果一个ASMLIB 磁盘已经被删除掉,那/dev/oracleasm/disks下就看不到相关的磁盘,可以通过下面的脚本来检查设备是否和ASM有关系(曾经有关系)。
译者注:其实使用asmlib方式管理磁盘,跟使用udev管理磁盘并没有什么不同,asmlib方式管理的磁盘,也只是在磁盘头的kfdhdb.driver.provstr位置记录了它是asmlib管理的磁盘而已,格式为:ORCLDISK+[ASM disk name],如果不是asmlib管理的磁盘,kfdhdb.driver.provstr记录的信息为ORCLDISK。上面的脚本将扫描/dev下sd关键字打头的设备,除了kfed要在PATH 路径中之外,脚本还需要使用用超级用户运行。当然,你也可以去扫描/dev/dm*, /dev/mapper下面的设备甚至/dev/下面所有的设备,但这可能并不高效。最近有一个问题是关于怎么样不使用kfed来达到上面操作能实现的功能,下面给出的就是一种解决办法:
关于译者赵恩东,沃趣科技数据库技术工程师,主要参与公司产品实施、测试、维护以及优化。往期精彩

ASM 翻译系列第一弹:基础知识 ASM AU,Extents,Mirroring 和 Failgroups

ASM 翻译系列第二弹:ASM 12C 版本新特性

ASM 翻译系列第三弹:基础知识 About ASM disk groups, disks and files

ASM 翻译系列第四弹:高级知识 kfed 元数据编辑器

ASM 翻译系列第五弹:高级知识 ASM 元数据概述


关于沃趣杭州沃趣科技股份有限公司创建于2012年,是专注为用户提供基于高性能、高可用、可扩展的开放数据库平台整体架构解决方案的国产厂商。沃趣的产品已广泛应用于证券、保险、医疗、广电传媒、银行、电信、能源电力、快递物流、公共事业、大型企业等,为这些行业用户持续提供行业解决方案及服务支持。研发中心位于杭州,同时在北京、上海、成都、兰州、沈阳建立了分支机构,负责国内的销售和服务。

我们始终坚信,数据是驱动企业创新的源动力!坚持围绕企业数据库做好一件事

                      ——让高性能触手可及!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存