生产环境存储划盘并做了多路径聚合,由于经验生疏忘记需要配置udev。
在添加磁盘到diskgroup时,数据库报错权限不足,简单以为只是对应的字符设备的权限是root:disk导致无法添加到diskgroup。
所以尝试使用chown命令在两个节点将该字符设备修改权限为grid:oinstall后,由于suse系统udev内部机制问题,在添加该字符设备到diskgroup过程中,字符设备的权限自动由grid:oinstall变为root:disk,导致添加磁盘失败。此时该磁盘盘头已写入部分信息,HEADER_STATUS为NUMBER,导致无法重新添加到diskgroup,也无法从磁盘组踢出,进退两难。
由于是生产环境,不敢随意操作,故在测试环境模拟问题并解决。
问题重现:
1 确认/dev/raw/raw6的HEADER_STATUS是CANDIDATE状态,说明可以添加到asm磁盘组。
SQL> select PATH,NAME,DISK_NUMBER,GROUP_NUMBER,STATE,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS from v$asm_disk;
PATH NAME DISK_NUMBER GROUP_NUMBER STATE MOUNT_STATUS HEADER_STATUS MODE_STATUS
------------------------------ -------------------- ----------- ------------ ---------------- -------------- ------------------------ --------------
/dev/raw/raw6 0 0 NORMAL CLOSED CANDIDATE ONLINE
/dev/raw/raw1 DATA_0000 0 2 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw3 DATA_0002 2 2 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw4 DATA1_0000 0 1 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw5 DATA1_0001 1 1 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw2 DATA_0001 1 2 NORMAL CACHED MEMBER ONLINE
2 查看磁盘组,模拟将/dev/raw/raw6加进磁盘组DATA。
SQL> select GROUP_NUMBER,NAME from v$asm_diskgroup;
GROUP_NUMBER NAME
------------ --------------------
1 DATA1
2
在添加磁盘到diskgroup时,数据库报错权限不足,简单以为只是对应的字符设备的权限是root:disk导致无法添加到diskgroup。
所以尝试使用chown命令在两个节点将该字符设备修改权限为grid:oinstall后,由于suse系统udev内部机制问题,在添加该字符设备到diskgroup过程中,字符设备的权限自动由grid:oinstall变为root:disk,导致添加磁盘失败。此时该磁盘盘头已写入部分信息,HEADER_STATUS为NUMBER,导致无法重新添加到diskgroup,也无法从磁盘组踢出,进退两难。
由于是生产环境,不敢随意操作,故在测试环境模拟问题并解决。
问题重现:
1 确认/dev/raw/raw6的HEADER_STATUS是CANDIDATE状态,说明可以添加到asm磁盘组。
SQL> select PATH,NAME,DISK_NUMBER,GROUP_NUMBER,STATE,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS from v$asm_disk;
PATH NAME DISK_NUMBER GROUP_NUMBER STATE MOUNT_STATUS HEADER_STATUS MODE_STATUS
------------------------------ -------------------- ----------- ------------ ---------------- -------------- ------------------------ --------------
/dev/raw/raw6 0 0 NORMAL CLOSED CANDIDATE ONLINE
/dev/raw/raw1 DATA_0000 0 2 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw3 DATA_0002 2 2 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw4 DATA1_0000 0 1 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw5 DATA1_0001 1 1 NORMAL CACHED MEMBER ONLINE
/dev/raw/raw2 DATA_0001 1 2 NORMAL CACHED MEMBER ONLINE
2 查看磁盘组,模拟将/dev/raw/raw6加进磁盘组DATA。
SQL> select GROUP_NUMBER,NAME from v$asm_diskgroup;
GROUP_NUMBER NAME
------------ --------------------
1 DATA1
2