CentOS 6上安装RAC权限绑定问题

Linux大全评论658 views阅读模式

自己的环境如下:
[root@linuxidc ~]# ll /dev/mapper/*
crw-rw---- 1 root root 10, 58 Oct 24 07:59 /dev/mapper/control
lrwxrwxrwx 1 root root      7 Oct 26 09:19 /dev/mapper/dg -> ../dm-0
lrwxrwxrwx 1 root root      7 Oct 26 09:19 /dev/mapper/ocr -> ../dm-1
[root@linuxidc ~]# ll /dev/dm-*
brw-rw---- 1 grid asmadmin 253, 0 Oct 26 09:43 /dev/dm-0
brw-rw---- 1 grid asmadmin 253, 1 Oct 26 09:43 /dev/dm-1
[root@linuxidc ~]# more /etc/multipath.conf 
defaults {
user_friendly_names      yes
max_fds                  max
queue_without_daemon      no
flush_on_last_del        yes
}
 
multipaths  {       
            multipath {
                  wwid 14f504e46494c4552736437624e562d55494b362d5130656e
                  alias ocr
            }
            multipath {
                  wwid 14f504e46494c45525742544e57792d3349514d2d5472315a
                  alias dg
            }
}
 
[root@linuxidc ~]# more /etc/udev/rules.d/
12-dm-permissions.rules      60-raw.rules                90-alsa.rules                98-kexec.rules               
60-fprint-autosuspend.rules  70-persistent-cd.rules      90-hal.rules                99-fuse.rules               
60-pcmcia.rules              70-persistent-net.rules      97-bluetooth-serial.rules   
[root@linuxidc ~]# 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", OWNER:="grid", GROUP:="asmadmin", MODE:="0660", 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", OWNER:="grid", GROUP:="oinstall", MODE:="660"

如果给多路径设备指定了别名,如/etc/multipath.conf配置如下
multipath {
                wwid                360050763008101d4e00000000000000a
                alias                ocr
 
则12-dm-permissions.rules里面需要用别名替换默认的mpath*如:
ENV{DM_NAME}=="ocr", OWNER:="grid", GROUP:="oinstall", 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*",OWNER="grid", GROUP="oinstall", MODE="0660"
KERNEL=="sddlmab*",OWNER="grid", GROUP="oinstall", 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",OWNER="grid",GROUP="oinstall",MODE="0660"
添加上面的每一条信息

企鹅博客
  • 本文由 发表于 2019年9月8日 19:03:33
  • 转载请务必保留本文链接:https://www.qieseo.com/193205.html

发表评论