ASM :/dev/emcpowera绑定UDEV来做ASM磁盘

本文介绍如何在Linux环境下通过udev规则正确绑定EMC存储设备到ASM磁盘,并解决了在redhat6环境下使用特定设备名进行绑定的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASM :/dev/emcpowera绑定UDEV来做ASM磁盘
 
我的存储是EMC的,装上多路径软件之后
 
[root@chnap-itd64 rules.d]# fdisk -l
 
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
 
 
Disk /dev/sda: 3597.3 GB, 3597303545856 bytes
255 heads, 63 sectors/track, 437347 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      267350  2147483647+  ee  GPT
 
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.
 
 
Disk /dev/sdc: 2147.5 GB, 2147483648000 bytes
255 heads, 63 sectors/track, 261083 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      261084  2097151999+  ee  GPT
 
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
 
 
Disk /dev/sdb: 2147.5 GB, 2147483648000 bytes
255 heads, 63 sectors/track, 261083 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      261084  2097151999+  ee  GPT
 
WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use GNU Parted.
 
 
Disk /dev/sdd: 2147.5 GB, 2147483648000 bytes
255 heads, 63 sectors/track, 261083 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1      261084  2097151999+  ee  GPT
 
WARNING: GPT (GUID Partition Table) detected on '/dev/sde'! The util fdisk doesn't support GPT. Use GNU Parted.
 
 
Disk /dev/sde: 2147.5 GB, 2147483648000 bytes
255 heads, 63 sectors/track, 261083 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1      261084  2097151999+  ee  GPT
 
WARNING: GPT (GUID Partition Table) detected on '/dev/emcpowera'! The util fdisk doesn't support GPT. Use GNU Parted.
 
 
Disk /dev/emcpowera: 2147.5 GB, 2147483648000 bytes
255 heads, 63 sectors/track, 261083 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
         Device Boot      Start         End      Blocks   Id  System
/dev/emcpowera1               1      261084  2097151999+  ee  GPT
 
 
如果用下面的这种方式编辑规则文件,udev设置是可以出来的
 
more 99-oracle-asmdevices.rules 
 
KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="36006016076f32e00745442a6f862e211", NAME="asm-disk1", OWNER="grid", GRO
UP="asmadmin", MODE="0660"
 
[root@chnap-itd64 rules.d]# /sbin/start_udev
正在启动 udev:[确定]
 
[root@chnap-itd64 rules.d]# ls -l /dev/asm-disk*
brw-rw---- 1 grid asmadmin 8, 17 1月  28 20:00 /dev/asm-disk1
 
目前我想用 /dev/emcpowera 这个设备绑定
但是没有成功,是不是我的99-oracle-asmdevices.rules 
这个文件的写法不对。
 
多路径软件装上之后一般/dev/emcpowera不会变,
虽然用/dev/sdb也可以绑定,也没有影响,但是我想
用/dev/emcpowera设备在多台服务器上绑定
 
[root@chnap-itd64 rules.d]# vi 99-oracle-asmdevices.rules 
 
KERNEL=="emcpowera1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="36006016076f32e00745442a6f862e211", NAME="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"
 
[root@chnap-itd64 rules.d]# /sbin/start_udev
正在启动 udev:[确定]
[root@chnap-itd64 rules.d]# /sbin/start_udev
[root@chnap-itd64 rules.d]# ls -l /dev/as*
ls: 无法访问/dev/as*: 没有那个文件或目录
 
 
原来在linux6 里面如果要用这种方法做ASM的话。
需要在/etc/udev/rules.d 目录上新增了50-udev.rules 文件,
redhat 5 下面就有这个文件,到redhat 6下就没了
并把下列信息加入50-udev.rules,现在在oracle上已经可以正常安装asm了
[root@chnap-itd65 rules.d]# cat 50-udev.rules 
SUBSYSTEM=="block", KERNEL=="emcpowera1", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="emcpowera2", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="emcpowera3", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="emcpowera4", GROUP="asmadmin", OWNER="grid", MODE="0660"
 
[root@chnap-itd65 rules.d]# start_udev 
正在启动 udev:[确定]
[root@chnap-itd65 rules.d]# ls -l /dev/emc*
crw-rw---- 1 root root 10, 58 1月 29 19:33 /dev/emcpower
brw-rw---- 1 root disk 120, 0 1月 29 19:33 /dev/emcpowera
brw-rw---- 1 grid asmadmin 120, 1 1月 29 19:33 /dev/emcpowera1
brw-rw---- 1 grid asmadmin 120, 2 1月 29 19:33 /dev/emcpowera2
brw-rw---- 1 grid asmadmin 120, 3 1月 29 19:33 /dev/emcpowera3
brw-rw---- 1 grid asmadmin 120, 4 1月 29 19:33 /dev/emcpowera4
 
重启udev的时候权限已经正常了 
ASM可以正常配置使用了
 
该问题已经解决。
 
总结:已经有了emcpower,那直接在rc.local中修改权限就好了,不用udev了。

### 验证 Oracle ASM 磁盘 OCRVOL1 的有效性及设备信息 在 Oracle ASM 中,`/oracleasm querydisk -v -p OCRVOL1` 命令用于验证磁盘 OCRVOL1 的状态,并提供详细的设备信息。以下是该命令输出结果的解释: #### 1. 命令功能解析 `/oracleasm querydisk` 是 Oracle ASMLIB 提供的一个工具,用于检查指定磁盘是否被 ASMLIB 标记为可用的 ASM 磁盘[^4]。参数 `-v` 表示详细模式,会输出更多关于磁盘的信息;参数 `-p` 指定要查询的磁盘名称(即 OCRVOL1)。 #### 2. 输出字段说明 以下是 `/oracleasm querydisk -v -p OCRVOL1` 可能输出的关键字段及其含义: - **Disk name**: 显示磁盘的名称(例如 OCRVOL1),这是 ASMLIB 分配给磁盘的唯一标识。 - **Path**: 显示磁盘的设备路径(例如 `/dev/sdb` 或 `/dev/oracleasm/disks/OCRVOL1`),用于确认磁盘的实际物理位置。 - **Header status**: 显示磁盘头部的状态。可能的值包括: - `MEMBER`: 表示磁盘是某个磁盘组的有效成员[^3]。 - `FORMER`: 表示磁盘曾属于某个磁盘组,但现在已被移除。 - `CANDIDATE`: 表示磁盘可以加入到 ASM 磁盘组中。 - `UNKNOWN`: 表示磁盘未被 ASMLIB 或 ASM 认识。 - **Mode**: 显示磁盘的访问模式(如 `READ/WRITE` 或 `READ ONLY`)。 - **Size**: 显示磁盘的总大小(以字节或更易读的单位表示)。 - **Partition**: 显示磁盘是否有分区信息。 - **Label**: 显示磁盘的标签信息(如果使用了 AFD,则可能是 AFD 标签名[^1])。 - **Maximum I/O Size**: 显示磁盘支持的最大 I/O 请求大小,这与 ASMLIB 的 discover 操作相关[^2]。 #### 3. 示例输出及解释 假设命令 `/oracleasm querydisk -v -p OCRVOL1` 的输出如下: ```plaintext Disk name: OCRVOL1 Path: /dev/sdc Header status: MEMBER Mode: READ/WRITE Size: 10737418240 bytes (10 GB) Partition: No Label: OCRVOL1 Maximum I/O Size: 4194304 bytes ``` - **Disk name: OCRVOL1** 表明当前查询的磁盘名称为 OCRVOL1。 - **Path: /dev/sdc** 表明该磁盘的设备路径为 `/dev/sdc`。 - **Header status: MEMBER** 表明该磁盘已成功加入某个 ASM 磁盘组,并作为其成员发挥作用。 - **Mode: READ/WRITE** 表明磁盘处于可读写状态。 - **Size: 10737418240 bytes (10 GB)** 表明磁盘的总大小为 10 GB。 - **Partition: No** 表明该磁盘未进行分区。 - **Label: OCRVOL1** 表明磁盘的标签名为 OCRVOL1。 - **Maximum I/O Size: 4194304 bytes** 表明该磁盘支持的最大 I/O 请求大小为 4 MB。 #### 4. 注意事项 - 如果 `Header status` 显示为 `UNKNOWN`,则需要检查磁盘是否正确配置为 ASM 磁盘。可以通过 `asmcmd afd_label` 命令重新标记磁盘[^1]。 - 如果 `Header status` 显示为 `FORMER`,则可能需要将磁盘从之前的磁盘组中删除后再重新加入。 - 如果 `Maximum I/O Size` 过小,可能会影响性能,需确保磁盘支持较大的 I/O 请求[^2]。 ```bash # 示例:重新标记磁盘 OCRVOL1 asmcmd afd_label OCRVOL1 /dev/sdc --init ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值