概述:本文是以前在日常维护中碰到的rac共享存储整个更换的过程做个记录;如有不全请测试,基本过程是正确的。在生产环境操作请先自行在测试环境测试后再实施。
关于EMC存储多路径在linux 6中的权限问题说明:
原来在linux6 里面如果要用这种方法做ASM的话。
需要在/etc/udev/rules.d 目录上新增了50-udev.rules 文件,
redhat 5 下面就有这个文件,到redhat 6下就没了
并把下列信息加入50-udev.rules,现在在oracle上已经可以正常安装asm了
[root@chnap-itd65 rules.d]# cat 50-udev.rules
SUBSYSTEM=="block", KERNEL=="emcpowera1", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="emcpowera2", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="emcpowera3", GROUP="asmadmin", OWNER="grid", MODE="0660"
SUBSYSTEM=="block", KERNEL=="emcpowera4", GROUP="asmadmin", OWNER="grid", MODE="0660"
[root@chnap-itd65 rules.d]# start_udev
正在启动 udev:[确定]
[root@chnap-itd65 rules.d]# ls -l /dev/emc*
crw-rw---- 1 root root 10, 58 1月 29 19:33 /dev/emcpower
brw-rw---- 1 root disk 120, 0 1月 29 19:33 /dev/emcpowera
brw-rw---- 1 grid asmadmin 120, 1 1月 29 19:33 /dev/emcpowera1
brw-rw---- 1 grid asmadmin 120, 2 1月 29 19:33 /dev/emcpowera2
brw-rw---- 1 grid asmadmin 120, 3 1月 29 19:33 /dev/emcpowera3
brw-rw---- 1 grid asmadmin 120, 4 1月 29 19:33 /dev/emcpowera4
普通存储的多路径,基本将会由厂商帮忙配置后,DBA只需要修改相应磁盘权限就ok了,这里给出一种解决方法:
cat /etc/multipath.conf
defaults {
user_friendly_names yes
}
[root@zjsjck01 ~]# cat /etc/udev/rules.d/99-asm-permissions.rules
SUBSYSTEM=="block", KERNEL=="dm-*", GROUP="asmadmin", OWNER="grid", MODE="0660"
[root@node2 rules.d]# /sbin/start_udev
Starting udev: [ OK ]
[root@node2 rules.d]# ls -l /dev/dm*
brw-rw---- 1 grid asmadmin 253, 0 Mar 28 14:18 /dev/dm-0
brw-rw---- 1 grid asmadmin 253, 1 Mar 28 14:18 /dev/dm-1
brw-rw---- 1 grid asmadmin 253, 10 Mar 28 14:18 /dev/dm-10
brw-rw---- 1 grid asmadmin 253, 11 Mar 28 14:18 /dev/dm-11
brw-rw---- 1 grid asmadmin 253, 12 Mar 28 14:18 /dev/dm-12
brw-rw---- 1 grid asmadmin 253, 13 Mar 28 14:18 /dev/dm-13
brw-rw---- 1 grid asmadmin 253, 14 Mar 28 14:19 /dev/dm-14
brw-rw---- 1 grid asmadmin 253, 15 Mar 28 14:18 /dev/dm-15
brw-rw---- 1 grid asmadmin 253, 16 Mar 28 14:18 /dev/dm-16
brw-rw---- 1 grid asmadmin 253, 17 Mar 28 14:18 /dev/dm-17
brw-rw---- 1 grid asmadmin 253, 18 Mar 28 14:18 /dev/dm-18
brw-rw---- 1 grid asmadmin 253, 19 Mar 28 14:18 /dev/dm-19
brw-rw---- 1 grid asmadmin 253, 2 Mar 28 14:18 /dev/dm-2
brw-rw---- 1 grid asmadmin 253, 20 Mar 28 14:18 /dev/dm-20
brw-rw---- 1 grid asmadmin 253, 21 Mar 28 14:19 /dev/dm-21
brw-rw---- 1 grid asmadmin 253, 22 Mar 28 14:18 /dev/dm-22
brw-rw---- 1 grid asmadmin 253, 23 Mar 28 14:18 /dev/dm-23
brw-rw---- 1 grid asmadmin 253, 24 Mar 28 14:18 /dev/dm-24
brw-rw---- 1 grid asmadmin 253, 25 Mar 28 14:18 /dev/dm-25
brw-rw---- 1 grid asmadmin 253, 26 Mar 28 14:18 /dev/dm-26
brw-rw---- 1 grid asmadmin 253, 27 Mar 28 14:18 /dev/dm-27
brw-rw---- 1 grid asmadmin 253, 28 Mar 28 14:18 /dev/dm-28
brw-rw---- 1 grid asmadmin 253, 29 Mar 28 14:18 /dev/dm-29
brw-rw---- 1 grid asmadmin 253, 3 Mar 28 14:18 /dev/dm-3
brw-rw---- 1 grid asmadmin 253, 30 Mar 28 14:18 /dev/dm-30
brw-rw---- 1 grid asmadmin 253, 31 Mar 28 14:18 /dev/dm-31
brw-rw---- 1 grid asmadmin 253, 32 Mar 28 14:18 /dev/dm-32
brw-rw---- 1 grid asmadmin 253, 33 Mar 28 14:18 /dev/dm-33
brw-rw---- 1 grid asmadmin 253, 34 Mar 28 14:18 /dev/dm-34
brw-rw---- 1 grid asmadmin 253, 35 Mar 28 14:18 /dev/dm-35
brw-rw---- 1 grid asmadmin 253, 36 Mar 28 14:18 /dev/dm-36
brw-rw---- 1 grid asmadmin 253, 37 Mar 28 14:18 /dev/dm-37
brw-rw---- 1 grid asmadmin 253, 38 Mar 28 14:18 /dev/dm-38
brw-rw---- 1 grid asmadmin 253, 39 Mar 28 14:18 /dev/dm-39
brw-rw---- 1 grid asmadmin 253, 4 Mar 28 14:18 /dev/dm-4
brw-rw---- 1 grid asmadmin 253, 40 Mar 28 14:18 /dev/dm-40
brw-rw---- 1 grid asmadmin 253, 41 Mar 28 14:18 /dev/dm-41
brw-rw---- 1 grid asmadmin 253, 42 Mar 28 14:18 /dev/dm-42
brw-rw---- 1 grid asmadmin 253, 43 Mar 28 14:18 /dev/dm-43
brw-rw---- 1 grid asmadmin 253, 44 Mar 28 14:18 /dev/dm-44
brw-rw---- 1 grid asmadmin 253, 45 Mar 28 14:18 /dev/dm-45
brw-rw---- 1 grid asmadmin 253, 46 Mar 28 14:18 /dev/dm-46
brw-rw---- 1 grid asmadmin 253, 47 Mar 28 14:18 /dev/dm-47
brw-rw---- 1 grid asmadmin 253, 5 Mar 28 14:18 /dev/dm-5
brw-rw---- 1 grid asmadmin 253, 6 Mar 28 14:18 /dev/dm-6
brw-rw---- 1 grid asmadmin 253, 7 Mar 28 14:18 /dev/dm-7
brw-rw---- 1 grid asmadmin 253, 8 Mar 28 14:18 /dev/dm-8
brw-rw---- 1 grid asmadmin 253, 9 Mar 28 14:18 /dev/dm-9
[root@node2 rules.d]#
su - grid
asmcmd -p
ASMCMD [+] > lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL Y 512 4096 1048576 1024 628 0 314 1 Y CRS/
MOUNTED EXTERN N 512 4096 1048576 9216000 469 0 469 0 N DATA/
MOUNTED EXTERN N 512 4096 1048576 1024000 5174 0 5174 0 N FRA/
col name for a20
col path for a30
select NAME,PATH,total_mb,free_mb from v$asm_disk order by name;
NAME PATH TOTAL_MB FREE_MB
-------------------- ------------------------------ ---------- ----------
/dev/mapper/crsdisk2 0 0
/dev/mapper/crsdisk3 0 0
_DROPPED_0001_CRS 1024 628
/dev/mapper/crsdisk4 0 0
/dev/mapper/crsdisk5 0 0
/dev/mapper/crsdisk6 0 0
/dev/mapper/asmdisk34 0 0
/dev/mapper/asmdisk32 0 0
/dev/mapper/asmdisk31 0 0
/dev/mapper/asmdisk35 0 0
/dev/mapper/asmdisk37 0 0
NAME PATH TOTAL_MB FREE_MB
-------------------- ------------------------------ ---------- ----------
/dev/mapper/asmdisk38 0 0
/dev/mapper/asmdisk39 0 0
/dev/mapper/asmdisk42 0 0
/dev/mapper/asmdisk41 0 0
/dev/mapper/asmdisk30 0 0
/dev/mapper/asmdisk36 0 0
/dev/mapper/asmdisk33 0 0
/dev/mapper/asmdisk40 0 0
/dev/mapper/asmdisk25 0 0
/dev/mapper/asmdisk21 0 0
/dev/mapper/asmdisk23 0 0
NAME PATH TOTAL_MB FREE_MB
-------------------- ------------------------------ ---------- ----------
/dev/mapper/asmdisk29 0 0
/dev/mapper/asmdisk28 0 0
/dev/mapper/asmdisk26 0 0
/dev/mapper/asmdisk27 0 0
/dev/mapper/asmdisk22 0 0
/dev/mapper/asmdisk24 0 0
DATA_0006 /dev/mapper/asmdisk15 512000 27
FRA_0001 /dev/mapper/asmdisk20 512000 2578
DATA_0005 /dev/mapper/asmdisk14 512000 30
DATA_0013 /dev/mapper/asmdisk5 512000 38
DATA_0010 /dev/mapper/asmdisk2 512000 25
NAME PATH TOTAL_MB FREE_MB
-------------------- ------------------------------ ---------- ----------
DATA_0001 /dev/mapper/asmdisk10 512000 19
DATA_0008 /dev/mapper/asmdisk17 512000 50
DATA_0016 /dev/mapper/asmdisk8 512000 16
DATA_0009 /dev/mapper/asmdisk18 512000 24
DATA_0004 /dev/mapper/asmdisk13 512000 32
CRS_0000 /dev/mapper/crsdisk1 1024 628
DATA_0007 /dev/mapper/asmdisk16 512000 19
FRA_0000 /dev/mapper/asmdisk19 512000 2596
DATA_0003 /dev/mapper/asmdisk12 512000 28
DATA_0015 /dev/mapper/asmdisk7 512000 14
DATA_0002 /dev/mapper/asmdisk11 512000 23
NAME PATH TOTAL_MB FREE_MB
-------------------- ------------------------------ ---------- ----------
DATA_0014 /dev/mapper/asmdisk6 512000 36
DATA_0012 /dev/mapper/asmdisk4 512000 20
DATA_0000 /dev/mapper/asmdisk1 512000 26
DATA_0017 /dev/mapper/asmdisk9 512000 42
DATA_0011 /dev/mapper/asmdisk3 512000 0
49 rows selected.
[grid@node1 bin]$ ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 3108
Available space (kbytes) : 259012
ID : 1580775047
Device/File Name : +CRS
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
[grid@node1 bin]$ ./ocrcheck -config
Oracle Cluster Registry configuration is :
Device/File Name : +CRS
[grid@node1 bin]$ more /etc/oracle/ocr.loc
ocrconfig_loc=+CRS
local_only=FALSE
[root@node1 bin]# ./ocrconfig -add +CRSNEW
[root@node1 bin]# ./ocrcheck -config
Oracle Cluster Registry configuration is :
Device/File Name : +CRS
Device/File Name : +CRSNEW
[root@node1 bin]# more /etc/oracle/ocr.loc
#Device/file getting replaced by device +CRSNEW
ocrconfig_loc=+CRS
ocrmirrorconfig_loc=+CRSNEW
local_only=false
[grid@node1 ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 84e3d0bb171c4f20bf8e9134130cc30a (/dev/mapper/crsdisk1) [CRS]
2. ONLINE a119f7f55cc24fc8bff2d62560cc7747 (/dev/mapper/crsdisk2) [CRS]
Located 2 voting disk(s).
[grid@node1 ~]$ crsctl replace votedisk +CRSNEW
Successful addition of voting disk a108ee30fee54f7bbf2298447775566b.
Successful addition of voting disk 8a704ee193824f5cbf9b11830c6d317f.
Successful addition of voting disk 85bbebc222fe4faabfdc706e573af882.
Successful deletion of voting disk 84e3d0bb171c4f20bf8e9134130cc30a.
Successful deletion of voting disk a119f7f55cc24fc8bff2d62560cc7747.
Successfully replaced voting disk group with +CRSNEW.
CRS-4266: Voting file(s) successfully replaced
[root@node1 bin]# ./ocrconfig -delete +CRS
[root@node1 bin]# ./ocrcheck && ./crsctl query css votedisk
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 3124
Available space (kbytes) : 258996
ID : 1580775047
Device/File Name : +CRSNEW
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE a108ee30fee54f7bbf2298447775566b (/dev/mapper/crsdisk4) [CRSNEW]
2. ONLINE 8a704ee193824f5cbf9b11830c6d317f (/dev/mapper/crsdisk5) [CRSNEW]
3. ONLINE 85bbebc222fe4faabfdc706e573af882 (/dev/mapper/crsdisk6) [CRSNEW]
Located 3 voting disk(s).
sqlplus / as sysasm
SQL> create pfile='/home/grid/asmpfile.ora' from spfile;
File created.
SQL> create spfile='+CRSNEW' from pfile='/home/grid/asmpfile.ora';
File created.
alter diskgroup fra add disk '/dev/mapper/asmdisk21' rebalance power 11;
alter diskgroup fra add disk '/dev/mapper/asmdisk22' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk23' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk24' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk25' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk26' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk27' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk28' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk29' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk30' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk31' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk32' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk33' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk34' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk35' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk36' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk37' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk38' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk39' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk40' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk41' rebalance power 11;
alter diskgroup data add disk '/dev/mapper/asmdisk42' rebalance power 11;
select INST_ID,GROUP_NUMBER,OPERATION, STATE,POWER,ACTUAL,SOFAR,EST_WORK,EST_RATE,EST_MINUTES from GV$ASM_OPERATION;
select NAME,PATH,total_mb,free_mb from v$asm_disk order by name;
col name for a20
col path for a30
select NAME,PATH,total_mb,free_mb from v$asm_disk order by name;
alter diskgroup data drop disk 'DATA_0001' rebalance power 11;
alter diskgroup data drop disk 'DATA_0002' rebalance power 11;
alter diskgroup data drop disk 'DATA_0003' rebalance power 11;
alter diskgroup data drop disk 'DATA_0004' rebalance power 11;
alter diskgroup data drop disk 'DATA_0005' rebalance power 11;
alter diskgroup data drop disk 'DATA_0006' rebalance power 11;
alter diskgroup data drop disk 'DATA_0007' rebalance power 11;
alter diskgroup data drop disk 'DATA_0008' rebalance power 11;
alter diskgroup data drop disk 'DATA_0009' rebalance power 11;
alter diskgroup data drop disk 'DATA_0010' rebalance power 11;
alter diskgroup data drop disk 'DATA_0011' rebalance power 11;
alter diskgroup data drop disk 'DATA_0012' rebalance power 11;
alter diskgroup data drop disk 'DATA_0013' rebalance power 11;
alter diskgroup data drop disk 'DATA_0014' rebalance power 11;
alter diskgroup data drop disk 'DATA_0015' rebalance power 11;
alter diskgroup data drop disk 'DATA_0016' rebalance power 11;
alter diskgroup data drop disk 'DATA_0017' rebalance power 11;
总结:这样就将原先的磁盘替换为新的共享磁盘了。