自己的环境如下:
[root@syk1~]#ll/dev/mapper/* crw-rw----1rootroot10,58Oct2407:59/dev/mapper/control lrwxrwxrwx1rootroot7Oct2609:19/dev/mapper/dg->../dm-0 lrwxrwxrwx1rootroot7Oct2609:19/dev/mapper/ocr->../dm-1 [root@syk1~]#ll/dev/dm-* brw-rw----1gridasmadmin253,0Oct2609:43/dev/dm-0 brw-rw----1gridasmadmin253,1Oct2609:43/dev/dm-1 [root@syk1~]#more/etc/multipath.conf defaults{ user_friendly_namesyes max_fdsmax queue_without_daemonno flush_on_last_delyes } multipaths{ multipath{ wwid14f504e46494c4552736437624e562d55494b362d5130656e aliasocr } multipath{ wwid14f504e46494c45525742544e57792d3349514d2d5472315a aliasdg } } [root@syk1~]#more/etc/udev/rules.d/ 12-dm-permissions.rules60-raw.rules90-alsa.rules98-kexec.rules 60-fprint-autosuspend.rules70-persistent-cd.rules90-hal.rules99-fuse.rules 60-pcmcia.rules70-persistent-net.rules97-bluetooth-serial.rules [root@syk1~]#more/etc/udev/rules.d/12-dm-permissions.rules ENV{DM_NAME}=="dg",OWNER:="grid",GROUP:="asmadmin",MODE:="0660",SYMLINK+="iscsi/oraasm-$env{DM_NAME}" ENV{DM_NAME}=="ocr",SYMLINK+="iscsi/oraasm-$env{DM_NAME}"
转载一个帖子:关于RHEL6安装RAC权限绑定问题
红帽企业版 Linux 6.0 开始弃用 /etc/multipath.conf 配置文件中的mode、uid 和 gid 参数。device-mapper 设备的权限(包括 multipath 映射)由 udev 规则设定,在我们安装RAC的过程中,对权限的给予是一个比较麻烦的问题,一般来说,无论是RHEL5还是RHEL6我们都会通过UDEV来对权限做很好的控制,一下说明在RHEL6下通过两种方法对磁盘权限做控制
方法一:
如果使用的是linux自带的多路径软件我们可以使用如下:
/usr/share/doc/device-mapper-version 中有一个模板文件,名为 12-dm-permissions.rules,我们可以使用它并将其放在 /etc/udev/rules.d 目录中使其生效
ENV{DM_NAME}=="mpatha",GROUP:="oinstall",MODE:="660"
如果给多路径设备指定了别名,如/etc/multipath.conf配置如下
multipath {
wwid 360050763008101d4e00000000000000a
alias ocr
则12-dm-permissions.rules里面需要用别名替换默认的mpath*如:
ENV{DM_NAME}=="ocr",MODE:="660"
配置完成后,执行udevadm trigge使配置生效,如果不行再用start_udev
[root@rac1 ~]# udevadm trigger
检查dm设备权限是否正确
[root@rac1 rules.d]# ll /dev/dm*
方法二:
如果采用的是存储自带的多路径软件,比如HDS存储的多路径软件:
则采用在/etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sddlmac*",OWNER="grid",GROUP="oinstall",MODE="0660"
KERNEL=="sddlmaa*",MODE="0660"
KERNEL=="sddlmab*",MODE="0660"
如果采用的是Linux自带的多路径软件DM-Multipath则需要先获取存储挂在设备的UUID号:
比如,我们通过multipath创建了如下几个设备:
ocrvote1p1 ocrvote2p1 ocrvote3p1 db1p1 db2p1 frap1 redop1
通过如下的命令获取UUID:
# for i in ocrvote1p1 ocrvote2p1 ocrvote3p1 db1p1 db2p1 frap1 redop1; do
printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/$i |
grep -i dm_uuid)"; done
结果类似如下:
ocrvote1p1 E: DM_UUID=part1-mpath-3600c0ff000dabfe596a0f65101000000
ocrvote2p1 E: DM_UUID=part1-mpath-3600c0ff000dabfe5a2a0f65101000000
ocrvote3p1 E: DM_UUID=part1-mpath-3600c0ff000dabfe5b4a0f65101000000
db1p1 E: DM_UUID=part1-mpath-3600c0ff000d7e7a854a0f65101000000
db2p1 E: DM_UUID=part1-mpath-3600c0ff000dabfe562a0f65101000000
frap1 E: DM_UUID=part1-mpath-3600c0ff000d7e7a874a0f65101000000
redop1 E: DM_UUID=part1-mpath-3600c0ff000dabfe585a0f65101000000
那么我们在/etc/udev/rules.d/99-oracle-asmdevices.rules下做如下编辑:
KERNEL=="dm-*",ENV{DM_UUID}=="part1-mpath-3600c0ff000dabfe5f4d8515101000000",MODE="0660"
添加上面的每一条信息
通过以上两种方式我们均可以绑定多路径设备权限,并且保证不发生变化
建议采用存储自带的多路径软件