ASM磁盘配置(udev)

说明:

建议采用Linux内核工具udev进行ASM磁盘的配置,由于UDEV工具在不同OS系统命令存在差异性,请按照相应的OS版本进行配置。

操作步骤:

步骤1:查询所有共享逻辑卷的SCSI ID值。

由于所有卷均为共享卷,查询命令在一个数据库节点上执行即可。
(1)若数据库节点的OS为RedHat Linux 6时,以sdb、sdc为例:

[root@db01~]# /sbin/scsi_id -g -u -d /dev/sdb
3648fd8e10027e6d80550a12100000027
[root@db01~]# /sbin/scsi_id -g -u -d /dev/sdc
3648fd8e10027e6d80550a13d00000028

(2)若数据库节点的OS为RedHat Linux 7(以sdb、sdc为例):

[root@db01~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdb
3648fd8e10027e6d80550a12100000027
[root@db01~]# /usr/lib/udev/scsi_id -g -u -d /dev/sdc
3648fd8e10027e6d80550a13d00000028

步骤2:用root用户登录所有数据库节点,编辑UDEV规则文件。

说明:
1)若没有直接vi创建,每一个设备对应一条配置项,每条配置项中包含多个参数,每个卷的scsi_id均不同,仔细查询配置规则。
2)其中需要注意并根据实际环境进行配置的参数有:

RESULT——参数格式为RESULT==“3688860300000000ae036568967094421”,每个设备的值不一样,值为通过scsi_id -g -u /dev/sdb查询到的scsi id值;
SYMLINK——参数格式为SYMLINK+=“asmdisk/OCRDISK01”,其中asmdisk为ASM磁盘组在/dev/下的目录名,OCRDISK01为ASM磁盘名称,按照实际环境的规划填写;
OWNER和GROUP——参数格式为OWNER=“grid”, GROUP=“asmadmin”,按照实际环境填写,本文以grid用户和规划好的用户组asmadmin为例。

注意:命名规则必须采用SYMLINK的方式,禁止使用NAME的命名方式。

(1)若数据库节点的OS为RedHat Linux 6,以sdb、sdc为例,在规则文件中按照如下格式添加待扩容磁盘规则:

[root@db01 u01]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="3688860300000000ae036568967094421", SYMLINK+="asmdisk/OCRDISK01", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36888603000000009e036568967094421", SYMLINK+="asmdisk/OCRDISK02", OWNER="grid", GROUP="asmadmin", MODE="0660"

(2)数据库节点的OS为RedHat Linux 7,以sdb、sdc为例,在规则文件中按照如下格式添加待扩容磁盘规则:

[root@db01 u01]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules 
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="3648fd8e1005e339f62e1bfb90000000c", SYMLINK+="asmdisk/OCRDISK01", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="3648fd8e1005e339f760c521700000004", SYMLINK+="asmdisk/OCRDISK02", OWNER="grid", GROUP="asmadmin", MODE="0660"

使用for循环生成配置

RedHat Linux 6版本为例:
for i in b c;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asmdisk/asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""  
done

RedHat Linux 7版本为例:
for i in b c;
do
echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asmdisk/asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      
done

步骤3:编辑完并保存之后,使用如下命令使该规则生效。

[root@db01 u01]# /sbin/udevadm control --reload-rules
[root@db01 u01]# /sbin/udevadm trigger --type=devices --action=change

注意:命名规则必须采用SYMLINK的方式,禁止使用NAME的命名方式。

步骤4:检查ASM磁盘是否生效。

[root@db01 u01]# ll /dev/asmdisk/
lrwxrwxrwx 1 root root 6 Jul 31 10:40 DATA1 -> ../sdb
lrwxrwxrwx 1 root root 6 Jul 31 10:40 DATA2 -> ../sdc
lrwxrwxrwx 1 root root 6 Jul 31 10:40 FRADISK -> ../sdi
lrwxrwxrwx 1 root root 6 Jul 31 10:01 VDISK1 -> ../sdf
lrwxrwxrwx 1 root root 6 Jul 31 10:01 VDISK2 -> ../sdg
lrwxrwxrwx 1 root root 6 Jul 31 10:38 VDISK3 -> ../sdh

—结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值