参考:Oracle Linux 7: Udev rule for ASM Cannot Place the ASM Disk in a Directory under /dev (Doc ID 2217951.1)

适用于:

Linux OS - Version Oracle Linux 7.0 and later
Oracle Cloud Infrastructure - Version N/A and later
Linux x86-64

现象:

asm磁盘配置在/dev/asm下,用以下的udev规则,但是主机重启后,asm磁盘没有创建在/dev/asm下。

使用规则 :

KERNEL=="emcpower*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="360060160da5031005e5c4dab3230e311", RUN+="/bin/sh -c 'mknod /dev/asm/ASP_DATA12C b $major $minor; chown oracle:oinstall /dev/asm/ASP_DATA12C; chmod 0660 /dev/asm/ASP_DATA12C'"
 

原因:

The udev rule is triggered but it fails to create the disk under /dev/asm because the directory asm is not present under /dev.

In OL7, the /dev is a tmpfs and generated dynamically when the system comes up and hence the asm directory is not present under /dev after a reboot.

Test case:

There is no directory /dev/asm

<HOSTNAME>@ ~]# udevadm control --reload-rules
<HOSTNAME>@ ~]# udevadm trigger --type=devices --action=change
<HOSTNAME>@ ~]# ll /dev/asm/
total 0
brw-rw---- 1 oracle oinstall 8, 32 Oct 18 22:51 ASP_DATA12C

Check the udev Rules

<HOSTNAME>@ ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
ACTION=="add|change", KERNEL=="sdc", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-1", RUN+="/bin/sh -c 'mknod /dev/asm/ASP_DATA12C b $major $minor; chown oracle:oinstall /dev/asm/ASP_DATA12C; chmod 0660 /dev/asm/ASP_DATA12C'"
<HOSTNAME>@ ~]# udevadm control --reload-rules
<HOSTNAME>@ ~]# udevadm trigger --type=devices --action=change'mknod /dev/asm/ASP_DATA12C b $major $minor
<HOSTNAME>@ ~]# ll /dev/sdc
sdc sdc1
<HOSTNAME>@ ~]# ll /dev/sdc1
brw-rw---- 1 root disk 8, 33 Oct 18 22:48 /dev/sdc1

Created 'asm' directory manually but after the reboot directory will be deleted

<HOSTNAME>@ ~]# mkdir /dev/asm                                              <<<< Created Directory 'asm'
<HOSTNAME>@ ~]# mknod /dev/asm/ASP_DATA12C b 8 33            <<<<<<< 8 33 are major and minor numbers .
<HOSTNAME>@ ~]# udevadm control --reload-rules
<HOSTNAME>@ ~]# udevadm trigger --type=devices --action=change
<HOSTNAME>@ ~]# ll /dev/asm/
total 0
brw-r--r-- 1 root root 8, 33 Oct 18 22:50 ASP_DATA12C 

But after the reboot this directory will be deleted .

解决:

The solution is to create the directory using the udev rule before the asm disk is created.

    1. Add the line highlighted in Bold (/usr/bin/mkdir /dev/asm) :

      <HOSTNAME> ~]# vi /etc/udev/rules.d/96-asmmultipath.rules
      ACTION=="add|change", KERNEL=="sdb", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VB4e42ee2e-c26ef95f", RUN+="/bin/sh -c '/usr/bin/mkdir/dev/asm; mknod /dev/asm/ASP_DATA12C b $major $minor; chown oracle:oinstall /dev/asm/ASP_DATA12C; chmod 0660 /dev/asm/ASP_DATA12C'"
    2. Try to run udevadm 'reload' and 'trigger' command once the rule is set : 
      <HOSTNAME> ~]# udevadm control --reload-rules 
      <HOSTNAME> ~]# udevadm trigger --type=devices --action=change


    3. Check by Rebooting the server and check if the directory are present .
      <HOSTNAME> ~]# ll /dev/asm/
      total 0
      brw-rw----. 1 oracle oinstall 8, 16 Oct 19 10:42 ASP_DATA12C
    4. 例子:

  

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b43600d8200000080", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/ocr01 b 8 16; chown grid:asmadmin /dev/asm/ocr01; chmod 0660 /dev/asm/ocr01'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b436039e900000081", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/ocr02 b 8 32; chown grid:asmadmin /dev/asm/ocr02; chmod 0660 /dev/asm/ocr02'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b4360540300000082", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/ocr03 b 8 48; chown grid:asmadmin /dev/asm/ocr03; chmod 0660 /dev/asm/ocr03'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b43606e9e00000083", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/data01 b 8 64; chown grid:asmadmin /dev/asm/data01; chmod 0660 /dev/asm/data01'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b4360875b00000084", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/data02 b 8 80; chown grid:asmadmin /dev/asm/data02; chmod 0660 /dev/asm/data02'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b4360c84500000087", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/data03 b 8 96; chown grid:asmadmin /dev/asm/data03; chmod 0660 /dev/asm/data03'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b4360af1000000086", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/data04 b 8 112; chown grid:asmadmin /dev/asm/data04; chmod 0660 /dev/asm/data04'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="363c7843100ba123b4360ea7600000088", RUN+="/bin/sh -c '/usr/bin/mkdir /dev/asm; mknod /dev/asm/fra01 b 8 128; chown grid:asmadmin /dev/asm/fra01; chmod 0660 /dev/asm/fra01'"

  

oracle linux 7使用udev绑盘操作的更多相关文章

  1. 如何用udev for asm in oracle linux 6

    大部分在网上可以找到的文档都是在RHEL5或者OEL5中设置udev,udev对于Linux而言最大的作用是防止操作系统重新启动以后,作为ASM磁盘使用的盘符发生变化.比如说Tim Hall的文章:U ...

  2. UDEV SCSI Rules Configuration for ASM in Oracle Linux 5 and 6

    UDEV SCSI Rules Configuration for ASM in Oracle Linux 5 and 6 For Oracle Automatic Storage Manager ( ...

  3. 使用UDEV SCSI规则在Oracle Linux上配置ASM

    对于使用ASM管理的磁盘来说,需要一种能够用于一致性标识磁盘设备及其正确的所属关系和权限的手段.在Linux系统中,可以使用ASMLib来执行这项任务,但是这样做的缺点是在操作系统上增加了额外的一层, ...

  4. 12c R2 RAC Oracle Linux 7.3 ESXI6.5

    环境:ESXI6.5虚拟化 主机配置:操作系统 Oracle Linux 7.3 CPU:8个VCPU 内存:16G 本地磁盘:50G 全程默认最小化安装Oracle Linux 7.3操作系统 每个 ...

  5. Oracle linux 6.3 安装11g R2 RAC on vbox

    1 安装系统 Virtual box 4.3 Oracle linux 6.3 Oracle 11g r2 Make sure "Adapter 1" is enabled, se ...

  6. 在 Oracle Linux 6.5 上安装 Oracle 11g 单实例数据库

    Checking the Hardware Requirements 系统必须满足下面最小的硬件要求 Memory Requirements Minimum: 1 GB of RAMRecommend ...

  7. Oracle Linux下安装Oracle11gR2

    Linux上Oracle11g R2安装及配置 一. 安装环境准备 1.  环境说明 Linux服务器系统:Oracle Linux Release 6 Update 2 (64bit),先安装好. ...

  8. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

  9. Oracle Linux 5.7安装VMware Tools的问题

    案例环境介绍:     虚拟机的版本:VMware® Workstation 8.0.3 build-703057    操作系统版本:Oracle Linux Server release 5.7 ...

随机推荐

  1. media(上传的文件或图片路径配置)

    urls url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}), settings MED ...

  2. centos 系统查看raid信息

    一.MegaCli命令介绍 MegaCli是一款管理维护硬件RAID软件,可以用来查看raid信息等MegaCli 的Media Error Count: 0 Other Error Count: 0 ...

  3. 通过关键字Event定义用户自己的事件

    Event 语句 定义用户自定义的事件. 语法[Public] Event procedurename [(arglist)] Event 语句包含下面部分: 部分 描述 Public 可选的.指定该 ...

  4. vim查找和替换

    https://www.cnblogs.com/huxinga/p/7942194.html %s/husband/丈夫/g

  5. airflow 简介

    转载:https://zhuanlan.zhihu.com/p/36043468 简介 Apache-Airflow 是Airbnb开源的一款数据流程工具,目前是Apache孵化项目.以非常灵活的方式 ...

  6. 通过spring工具类获取bean

    package xxx; import org.springframework.beans.BeansException; import org.springframework.beans.facto ...

  7. 【LuoguP4916】魔力环

    题目链接 题意 求出 \(n\) 个珠子的在旋转同构意义下的手 环 个数,满足以下条件: 恰好有 \(m\) 个黑色珠子,其余为白色. 黑色珠子形成的最长连续段不能超过 \(k\) 个. Sol 考虑 ...

  8. 【SaltStack官方版】—— states教程, part 3 - 定义,包括,延伸

    STATES TUTORIAL, PART 3 - TEMPLATING, INCLUDES, EXTENDS 本教程建立在第1部分和第2部分涵盖的主题上.建议您从此开始.这章教程我们将讨论更多  s ...

  9. 旧题再做【bzoj2287】【[pojchallenge]消失之物】分治背包

    (上不了p站我要死了) 今天听了 doggu神 讲了这道题的另一种做法,真是脑洞大开.眼界大开.虽然复杂度比黄学长的要大一点,但不总结一下简直对不起这神思路. 方法1:黄学长的做法(点这里) Desc ...

  10. Http请求状态大全

    一.HTTP状态码分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用.HTTP状态码共分为5种类型: 分类 分类描述 1** 信息 服务器收到请求, ...