Maclean一直是使用UDEV替代ASMLIB做RAC存储设备名绑定的拥护者,相关的专题文章可以作为读者的预读知识是: Why ASMLIB and why not? 利用UDEV服务解决RAC ASM存储设备名    在《利用UDEV服务解决RAC ASM存储设备名 》一文中我推荐了自己写的一个脚本,该脚本会自动生成udev rule规则文件:

for i in b c d e f g h i j k ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done

以上脚本在Linux 5上是通用的, 但是有同学反映在redhat/Oracle Linux 6以上版本中该脚本失效了。 这是因为:

在OEL6或者RHEL6中,这一切都有所变化。

主要的变化是: 1. scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。 2. udevtest命令已经没有了,整合到了udevadm中。 How to use udev for Oracle ASM in Oracle Linux 6

下面我提供改良后的脚本,可以在redhat/Oracle Linux 6上生成正确的udev rule 规则文件:

1.#首先确认是 Linux 6.0以上版本[root@vrh6 dev]# cat /etc/issue
Oracle Linux Server release 6.2
Kernel \r on an \m2.#添加记录到/etc/scsi_id.configecho "options=--whitelisted --replace-whitespace"  >> /etc/scsi_id.config3. #确认哪些块设备需要udev绑定[root@vrh6 dev]# ls -l sd*
brw-rw----. 1 root disk 8,  0 Jun 30 09:29 sda
brw-rw----. 1 root disk 8,  1 Jun 30 09:29 sda1
brw-rw----. 1 root disk 8,  2 Jun 30 09:29 sda2
brw-rw----. 1 root disk 8, 16 Jun 30 09:29 sdb
brw-rw----. 1 root disk 8, 32 Jun 30 09:29 sdc
brw-rw----. 1 root disk 8, 48 Jun 30 09:29 sdd
brw-rw----. 1 root disk 8, 64 Jun 30 09:29 sde
brw-rw----. 1 root disk 8, 80 Jun 30 09:29 sdf例如在本实例中 sdb-> sdf的块设备需要绑定4. 将 b->f的编号放入for 循环中,例如:
# AUTO UDEV RULE BY Maclean Liu 2012/06/30
for i in b c d e f ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done就会生成sdb->sdf 设备绑定的RULE,在将这些RULE写入到/etc/udev/rules.d/99-oracle-asmdevices.rules中也可以直接利用以下脚本 ,写出RULE到99-oracle-asmdevices.rules# AUTO UDEV RULE BY Maclean Liu 2012/06/30
for i in b c d e f ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done5. 之后运行用root运行/sbin/start_udev  即可

实际运行示例:

[root@vrh6 dev]# echo "options=--whitelisted --replace-whitespace"  >> /etc/scsi_id.config
[root@vrh6 dev]# for i in b c d e f ;
> do
> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
> done
[root@vrh6 dev]# [root@vrh6 dev]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB09cadb31-cfbea255", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB5f097069-59efb82f", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB4e1a81c0-20478bc4", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBdcce9285-b13c5a27", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB82effe1a-dbca7dff", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"[root@vrh6 dev]# [root@vrh6 dev]# /sbin/start_udev
Starting udev:                                             [  OK  ][root@vrh6 dev]# ls -l asm*
brw-rw----. 1 grid asmadmin 8, 16 Jun 30 09:34 asm-diskb
brw-rw----. 1 grid asmadmin 8, 32 Jun 30 09:34 asm-diskc
brw-rw----. 1 grid asmadmin 8, 48 Jun 30 09:34 asm-diskd
brw-rw----. 1 grid asmadmin 8, 64 Jun 30 09:34 asm-diske
brw-rw----. 1 grid asmadmin 8, 80 Jun 30 09:34 asm-diskf

转载于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2968310.html

在Linux 6上使用UDEV解决RAC ASM存储设备名问题相关推荐

  1. 用UDEV服务解决RAC ASM存储设备名

    用UDEV服务解决RAC ASM存储设备名 最近看了下maclean的一片文章不错,于是转载过来 文章转载自:  Maclean Liu的个人技术博客 [http://www.oracledataba ...

  2. 利用UDEV服务解决RAC ASM存储设备名

    在<Why ASMLIB and why not?>我们介绍了使用ASMLIB作为一种专门为Oracle Automatic Storage Management特性设计的内核支持库(ke ...

  3. linux asm 使用情况,在Linux 6上使用UDEV解决 ASM存储设备问题( single path)

    1.添加记录到/etc/scsi_id.config echo "options=--whitelisted --replace-whitespace"  >> /et ...

  4. oracle 11gr2 单机数据库使用asm,RHEL7上安装11gR2单机使用ASM存储搭建Physical Standby笔记...

    参考文献 一.背景介绍 接到需求要安装单机使用ASM存储的数据库,原本以为是轻车熟路的事情,emm,世界上哪有那么多轻松的活给你干,废话少说,进主题吧. 二. 关于安装思路 一直以来搭建的都是RAC+ ...

  5. rhel6上使用udev配置oracle asm,Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结文档

    1.概述 在Red Hat Enterprise Linux (RHEL)6以前,Oracle均是使用ASMLib这个内核支持库配置ASM. ASMLIB是一种基于Linux module,专门为Or ...

  6. UDEV管理RAC共享存储

    背景: 操作系统 centos 6.7 数据库:11.2.0.1 操作流程: 1. 确认在所有RAC节点上已经安装了必要的UDEV包 [root@11gnode1 ~]# rpm -qa|grep u ...

  7. rhel6上使用udev配置oracle asm,在RHEL6上用UDEV配置ASM

    在RHEL6.上用UDEV配置ASM,参考了这篇文章How to use udev for Oracle ASM in Oracle Linux 6不同的操作系统或者同一个操作系统的不同版本,scsi ...

  8. 迪思杰oracle 11g rac,Oracle 11g RAC UDEV管理RAC共享存储

    背景: 操作系统   centos 6.7     数据库:11.2.0.1 操作流程: 1. 确认在所有RAC节点上已经安装了必要的UDEV包 [root@11gnode1 ~]# rpm -qa| ...

  9. oracle 11g rac suse,suse linux 11 + 多路径+udev+oracle11g rac

    兄弟最进遇到一个奇怪事情 不知道怎么突破了   请各位高人提供些思路: 环境 两台主机 连接存储IBM DS8k 存储 suse11 sp2 目的 用suse 自带的多路径软件 绑定 asm disk ...

最新文章

  1. 深入了解 TabNet :架构详解和分类代码实现
  2. java 数据合并算法_Java与算法之(11) - 合并排序
  3. 分布式系统概念:一致性协议、一致性模型、拜占庭问题、租约、副本协议
  4. 个人信息安全影响评估指南_发布 | 网络安全标准实践指南—移动互联网应用程序(App)收集使用个人信息自评估指南...
  5. Jzoj5317 Func
  6. Java 7对抑制异常的支持
  7. iOS开发之Xcode开发快捷键大全
  8. java case容易崩溃_一些故障解决的CASE
  9. linux同一台机器安装两台nginx
  10. eleme饿了么vue项目随笔,随时更新,想到哪里写到哪里比较凌乱一直更新
  11. fbreader android源码分析,开源阅读器FBReader Android版本的编译
  12. 商品模块的业务流程图
  13. 干货 | Elasticsearch 检索类型选型指南
  14. 在IDEA中如何取消打过的断点
  15. 基于OpenCV实现二维码发现与定位
  16. Android 实现一个计时器
  17. 星舰原型机又炸了,马斯克:没事儿,咱还有
  18. contains用法
  19. bitwarden_rs 搭建自托管的密码服务器
  20. [再寄小读者之数学篇](2014-07-16 凹函数与次线性性)

热门文章

  1. SQLOS 简单任务调度
  2. PostgreSQL教程(二):SQL语言
  3. Base:一种 Acid 的替代方案
  4. VC++软件工程师高端培训
  5. DHTML【2】--HTML
  6. Java处理正则验证手机号-详解
  7. 学习招投标相关知识-编写标书
  8. MAX2323E - 原理图系列
  9. Map Set list 理解
  10. 怎样把SharePoint中文备份恢复到英文版,修改sharepoint站点语言