oracle rac硬盘绑定规则,关于oracle RAC 通过udev绑定磁盘

通过udev绑定磁盘是一件特别烦人的事情,尤其是在使用了多路径软件emcpower后,下面是从metalink上摘下来的部分信息,不做翻译,仅供大家参考学习

Real Application Clusters (RAC) requires special ownership (owner, group and permissions) for the OCR (Oracle Cluster Registry) and Voting devices on Linux.

In the 2.6 kernel, the UDEV system is the default method through which the kernel controls the creation of the special files that represent resources such as block devices.

In Oracle 10g RAC, where raw devices are a mandatory requirement for use by CRS, raw devices require specific ownership and permissions.  Prior to UDEV, device nodes

could be created and their access permissions persistently set using the mknod(1) utility; the UDEV facility dynamically recreates the /dev content each reboot, preventing this approach.

The solution is to add UDEV rules to set these attributes automatically.   The configuration file syntax for UDEV in SLES10, RHEL5 and OEL5 have vary slightly compared depending on the software version.

For SuSE Linux Enterprise Server 10 (SLES10), UDEV rules for raw device permission setting should be placed into rule files under the/etc/udev/rules.d/ directory.

The files are processed in ls(1) order, with default system rules contained in the 50-udev-default.rules file.

UDEV Filename Rules

Filenames begin with two decimal digits, to sequence the rules into ascending numerical order.

After a dash, filenames contain descriptive words.

The filename must end with ".rules" to be recognized.

Rule clauses using a double equal sign (==) are predicate matching patterns, to determine if the rest of the line should be processed.

Rule clauses are separated by a comma.

Rule clauses with only a single equal sign (=) are actions to be performed.

Content after a sharp sign / hash mark / octothorpe (#) is ignored as a comment.

Blank lines are OK.

From SLES10, there is no separation between rules for creating devices and rules for device permissions - both  are now set from the same rule file.

In order to alter the permissions for raw devices, create a permission rule file that sets the appropriate device permissions in the rules.d/directory,

so that it is processed before the default rules:

Caution About Changing Files Owned By The Distribution

Do not change the default 50-udev-default.rules file.  This file will be over-written should the UDEV package be updated.

On RHEL5/OEL5, the UDEV rules file is called 50-udev.rules, otherwise the behavior is the same.   Always use a separate, custom file.

SOLUTION

1.  Create The New UDEV Rules

Choose one of the following methods, depending upon your RAC version.

1.1  Create UDEV Permission Rule Prior Up-To Version 11.1.0.7

Create a custom UDEV permission rule file (for example, /etc/udev/rules.d/99-raw.rules) and ensure the file name lists after the default 50-xxx.rules file.

The filename must end in ".rules" to be recognized.

Add the required raw device ownership and permissions, for example:

# /bin/cat /etc/udev/rules.d/99-raw.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="3600805f30016c0e0ad41ffa8e6d90001", NAME="raw1", ACTION=="add|change",OWNER="root", GROUP="oinstall", MODE="0640"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="3600805f30016c0e0ae51efbfb2930002", NAME="raw2", ACTION=="add|change",OWNER="oracle", GROUP="oinstall", MODE="0660"

1.2  Create UDEV Permission Rule For Version 11.2 And Later

Create a UDEV rules file for the Oracle ASM devices, setting permissions to read/write for the group and owner (0660) for the installation

owner and the group whose members are to be administrators of the grid infrastructure software.

For example, using the installation owner grid and using a role-based group configuration, with the OSASM group asmadmin:

For RHEL5/OL5/OEL5,

# /bin/cat /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="350002ac000010b52", NAME="vote1", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="350002ac000020b52", NAME="vote2", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="350002ac000030b52", NAME="vote3", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"

For RHEL6/OL6:

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="350002ac000010b52", NAME="vote1", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="350002ac000020b52", NAME="vote2", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="350002ac000030b52", NAME="vote3", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"

Copy this rules.d/file to all other nodes on the cluster. For example:

# /usr/bin/scp 99-oracle-asmdevices.rules root@node2:/etc/udev/rules.d/99-oracle-asmdevices.rules

2. Restart The UDEV Service

Restart the UDEV service as follows. Then verify the devices now reflect their intended ownership and permissions:

On SLES10:

# /etc/init.d/boot.udev stop

# /etc/init.d/boot.udev start

On RHEL5/OEL5/OL5:

# /sbin/udevcontrol reload_rules

# /sbin/start_udev

On RHEL6/OL6:

#/sbin/udevadm control --reload-rules

#/sbin/start_udev

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值