ASM磁盘组剔盘、加盘实施过程

时间:2023-03-10 07:16:41
ASM磁盘组剔盘、加盘实施过程

Task:从一个ASM磁盘组中剔除一块盘,加入到另一个ASM磁盘组。

环境:AIX6.1 + Oracle RAC 11.2.0.3

前期准备:

1.查看DG磁盘组空间情况:

--查看DG磁盘组空间情况:
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 EXTERN N 512 4096 1048576 9728000 19046 0 19046 0 N DATADG/
MOUNTED EXTERN N 512 4096 1048576 3584000 1261514 0 1261514 0 N RECOVERYDG/

2.查看ASM磁盘信息:

--查看ASM磁盘信息
ASMCMD> lsdsk -k
Total_MB Free_MB OS_MB Name Failgroup Failgroup_Type Library Label UDID Product Redund Path
512000 950 512000 DATADG_0007 DATADG_0007 REGULAR System UNKNOWN /dev/rhdisk23
512000 945 512000 DATADG_0008 DATADG_0008 REGULAR System UNKNOWN /dev/rhdisk24
512000 953 512000 DATADG_0009 DATADG_0009 REGULAR System UNKNOWN /dev/rhdisk25
512000 948 512000 DATADG_0011 DATADG_0011 REGULAR System UNKNOWN /dev/rhdisk26
512000 948 512000 DATADG_0012 DATADG_0012 REGULAR System UNKNOWN /dev/rhdisk27
512000 953 512000 DATADG_0020 DATADG_0020 REGULAR System UNKNOWN /dev/rhdisk28
512000 949 512000 DATADG_0021 DATADG_0021 REGULAR System UNKNOWN /dev/rhdisk29
512000 948 512000 DATADG_0022 DATADG_0022 REGULAR System UNKNOWN /dev/rhdisk30
512000 947 512000 DATADG_0023 DATADG_0023 REGULAR System UNKNOWN /dev/rhdisk31
512000 946 512000 DATADG_0024 DATADG_0024 REGULAR System UNKNOWN /dev/rhdisk32
512000 957 512000 DATADG_0025 DATADG_0025 REGULAR System UNKNOWN /dev/rhdisk33
512000 950 512000 DATADG_0026 DATADG_0026 REGULAR System UNKNOWN /dev/rhdisk34
512000 956 512000 DATADG_0027 DATADG_0027 REGULAR System UNKNOWN /dev/rhdisk35
512000 946 512000 DATADG_0028 DATADG_0028 REGULAR System UNKNOWN /dev/rhdisk36
512000 950 512000 DATADG_0029 DATADG_0029 REGULAR System UNKNOWN /dev/rhdisk37
512000 178001 512000 RECOVERYDG_0006 RECOVERYDG_0006 REGULAR System UNKNOWN /dev/rhdisk38
512000 177979 512000 RECOVERYDG_0007 RECOVERYDG_0007 REGULAR System UNKNOWN /dev/rhdisk39
512000 177968 512000 RECOVERYDG_0008 RECOVERYDG_0008 REGULAR System UNKNOWN /dev/rhdisk40
512000 177984 512000 RECOVERYDG_0009 RECOVERYDG_0009 REGULAR System UNKNOWN /dev/rhdisk41
512000 177983 512000 RECOVERYDG_0010 RECOVERYDG_0010 REGULAR System UNKNOWN /dev/rhdisk42
512000 177984 512000 RECOVERYDG_0011 RECOVERYDG_0011 REGULAR System UNKNOWN /dev/rhdisk43
512000 939 512000 DATADG_0000 DATADG_0000 REGULAR System UNKNOWN /dev/rhdisk44
512000 1288 512000 DATADG_0001 DATADG_0001 REGULAR System UNKNOWN /dev/rhdisk45
512000 1286 512000 DATADG_0002 DATADG_0002 REGULAR System UNKNOWN /dev/rhdisk46
512000 1287 512000 DATADG_0003 DATADG_0003 REGULAR System UNKNOWN /dev/rhdisk47
512000 177965 512000 RECOVERYDG_0000 RECOVERYDG_0000 REGULAR System UNKNOWN /dev/rhdisk48

实施步骤:

1.从RECOVERYDG磁盘组中剔除一块磁盘

从 RECOVERYDG 剔除/dev/rhdisk38,对应信息:

  512000   178001  512000  RECOVERYDG_0006  RECOVERYDG_0006  REGULAR         System                         UNKNOWN  /dev/rhdisk38

查询asm磁盘组中的asm磁盘信息:

SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;

DISK_NUMBER STATE                    NAME                                                                                         TOTAL_MB    FREE_MB
----------- ------------------------ ------------------------------------------------------------------------------------------ ---------- ----------
6 NORMAL RECOVERYDG_0006 512000 177536
7 NORMAL RECOVERYDG_0007 512000 177514
8 NORMAL RECOVERYDG_0008 512000 177503
9 NORMAL RECOVERYDG_0009 512000 177520
10 NORMAL RECOVERYDG_0010 512000 177520
11 NORMAL RECOVERYDG_0011 512000 177521
0 NORMAL RECOVERYDG_0000 512000 177501 7 rows selected.

删除计划剔除的磁盘:

sqlplus / as sysasm
SQL> alter diskgroup RECOVERYDG drop disk RECOVERYDG_0006;

2.等待同步完成

等待同步完成

select * from v$asm_operation;

select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;

16:31:05 SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;

DISK_NUMBER STATE    NAME                             TOTAL_MB    FREE_MB
----------- -------- ------------------------------ ---------- ----------
6 DROPPING RECOVERYDG_0006 512000 180387
7 NORMAL RECOVERYDG_0007 512000 176893
8 NORMAL RECOVERYDG_0008 512000 176879
9 NORMAL RECOVERYDG_0009 512000 176899
10 NORMAL RECOVERYDG_0010 512000 176897
11 NORMAL RECOVERYDG_0011 512000 176896
0 NORMAL RECOVERYDG_0000 512000 176874 16:56:44 SQL> / DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- -------- ------------------------------ ---------- ----------
7 NORMAL RECOVERYDG_0007 512000 120678
8 NORMAL RECOVERYDG_0008 512000 120684
9 NORMAL RECOVERYDG_0009 512000 120689
10 NORMAL RECOVERYDG_0010 512000 120681
11 NORMAL RECOVERYDG_0011 512000 120691
0 NORMAL RECOVERYDG_0000 512000 120690 6 rows selected.

alert.log也会有对应的日志记录:

Thu Apr 13 16:57:02 2017
NOTE: disk 6 (RECOVERYDG_0006) in group 2 (RECOVERYDG) is offline for reads
NOTE: disk 6 (RECOVERYDG_0006) in group 2 (RECOVERYDG) is offline for writes
SUCCESS: disk RECOVERYDG_0006 (6.2744176951) dropped from diskgroup RECOVERYDG

3.将磁盘加入到DATADG磁盘组

将/dev/rhdisk38 加入到 DATADG:

alter diskgroup DATADG add disk '/dev/rhdisk38' rebalance power 7;

查看rebalance情况:

select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 1;

16:59:56 SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 1;

DISK_NUMBER STATE    NAME                             TOTAL_MB    FREE_MB
----------- -------- ------------------------------ ---------- ----------
7 NORMAL DATADG_0007 512000 1021
8 NORMAL DATADG_0008 512000 1016
9 NORMAL DATADG_0009 512000 1024
11 NORMAL DATADG_0011 512000 1019
12 NORMAL DATADG_0012 512000 1020
20 NORMAL DATADG_0020 512000 1025
21 NORMAL DATADG_0021 512000 1020
22 NORMAL DATADG_0022 512000 1020
23 NORMAL DATADG_0023 512000 1018
24 NORMAL DATADG_0024 512000 1017
25 NORMAL DATADG_0025 512000 1029 DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- -------- ------------------------------ ---------- ----------
26 NORMAL DATADG_0026 512000 1021
27 NORMAL DATADG_0027 512000 1028
28 NORMAL DATADG_0028 512000 1018
29 NORMAL DATADG_0029 512000 1021
4 NORMAL DATADG_0004 512000 510647
0 NORMAL DATADG_0000 512000 1011
1 NORMAL DATADG_0001 512000 1356
2 NORMAL DATADG_0002 512000 1354
3 NORMAL DATADG_0003 512000 1355 20 rows selected.

alert.log同样也有日志记录:

Thu Apr 13 16:59:54 2017
SUCCESS: disk DATADG_0004 (4.2744176966) added to diskgroup DATADG

4.等待同步完成

等待同步完成:

select * from v$asm_operation;

GROUP_NUMBER OPERA STAT      POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
1 REBAL RUN 7 7 10833 492997 7195 67 Elapsed: 00:00:00.46
17:00:49 SQL>

可以在同步的期间根据实际业务需求调整rebalance的级别:

17:04:59 SQL> alter diskgroup datadg rebalance power 5;

Diskgroup altered.

17:06:34 SQL> select * from v$asm_operation;

GROUP_NUMBER OPERA STAT      POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
1 REBAL RUN 5 5 11106 240895 6817 33 Elapsed: 00:00:00.46

最后同步完成,上述查询将不会有结果输出。

最后可以查看下DG磁盘组空间情况:

--查看DG磁盘组空间情况
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 EXTERN Y 512 4096 1048576 10240000 531040 0 531040 0 N DATADG/
MOUNTED EXTERN N 512 4096 1048576 3072000 713616 0 713616 0 N RECOVERYDG/
ASMCMD>

至此,整个ASM磁盘组的删盘加盘实施操作已经完成。