共計 5902 個字符,預計需要花費 15 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 ASM 磁盤組如何更換磁盤,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
更換存儲操作步驟
1、增加新磁盤,對新磁盤創建新 asm disk
2、把新 asm disk 加入 asm group
3、等待 asm group 數據重平衡完畢
4、再從 asm group 刪除舊磁盤對應的舊 asm disk
5、等待 asm group 數據重平衡完畢
6、拆下舊磁盤
磁盤組 asm group 要改變大小:
如果原來磁盤組 1T,現在想換成 100G
如 asm group 是外部冗余,里面只有一個 asm disk,這個 asm disk 1T,則新增一個 asm disk 100G,再刪除 1T 的 asm disk
如 asm group 是 normal 冗余,里面有兩個 asm disk,這兩個 asm disk 總計 1T,則新增兩個 asm disk 總結 100G,再刪除 1T 的兩個 asm dis
v$asm_operation
顯示 asm 重平衡的信息
V$ASM_OPERATION displays one row for every active Oracle ASM long running operation executing in the Oracle ASM instance.
select * from v$asm_operation; – 此語句在 ASM 實例上執行才能看到準確信息
ASM_POWER_LIMIT
ASM_POWER_LIMIT 指定用于磁盤再平衡的自動存儲管理實例的最大功耗。上限越高,再平衡的速度就越快。較低的值需要更長的時間,但是消耗更少的處理和 I / O 資源。
ASM_POWER_LIMIT specifies the maximum power on an Automatic Storage Management instance for disk rebalancing. The higher the limit, the faster rebalancing will complete. Lower values will take longer, but consume fewer processing and I/O resources
ASM_POWER_LIMIT 設置為 0 時,不會自動重平衡,但是可以使用下面的語句來手動重平衡(比如白天加盤了,晚上再讓它手動執行)
alter diskgroup DATA rebalance power 10; – 此語句只能在 ASM 實例上運行, 且連接方式為 as sysasm
舊磁盤可以直接物理拆除,拆除后對應的 asm disks 自動消失了,這個 asm disk 可以給后面的磁盤重用,比如 sdd1 對應的 asm disk 是 /dev/oracleasm/disks/OCPFRA1,把物理磁盤 sdd 拆掉后,/dev/oracleasm/disks/OCPFRA1 自動消失了,如果以后來了個新磁盤 sdk,可以 oracleasm createdisk OCPFRA1 /dev/sdk1
ASM 磁盤組更換磁盤的實踐案例,對空間不足的 asm group 更換空間更大的 asm disk(本案例 4 - 9 步驟對應本文最上說明更換存儲操作步驟的 1 - 6 個步驟)
1、確定空間不足的 ASM 磁盤組,結果是 FRA,可用空間 36%
SQL select name,total_mb,free_mb,round((free_mb/total_mb)*100) from gv$asm_diskgroup;
NAME TOTAL_MB FREE_MB ROUND((FREE_MB/TOTAL_MB)*100)
——————– ———- ———- —————————–
DATA 6141 4195 68
FRA 2047 739 36
2、確定 FRA 的冗余方式和對應的 asm disk,結果是 EXTERN 和 /dev/oracleasm/disks/OCPFRA1
SQL select a.path,a.name,a.mode_status,b.name diskgroupname,b.type from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and b.name= FRA
PATH NAME MODE_ST DISKGROUPN TYPE
————————————————– ——————– ——- ———- ——
/dev/oracleasm/disks/OCPFRA1 FRA_0000 ONLINE FRA EXTERN
3、確定 /dev/oracleasm/disks/OCPFRA1 對應的物理磁盤信息、對應的數據庫對象,結果是 sdd1 容量 2G、對應表 TABLE_TEW
[root@ASMDB ~]# ll /dev/oracleasm/disks/OCPFRA1
brw-rw—- 1 grid dba 8, 49 Jun 7 19:11 /dev/oracleasm/disks/OCPFRA1
[root@ASMDB ~]# ll /dev |grep disk |grep 8 |grep 49
brw-r—– 1 root disk 8, 49 Jun 7 16:11 sdd1
[root@ASMDB ~]# fdisk -l |grep sdd
Disk /dev/sdd: 2147 MB, 2147483648 bytes
/dev/sdd1 1 261 2096451 83 Linux
[oracle@ASMDB ~]$ sqlplus / as sysdba
SQL select tablespace_name,file_name from dba_data_files where file_name like %FRA%
TABLESPACE_NAME FILE_NAME
——————– ————————————————————
TEW +FRA/tew01.dbf
SQL select table_name,tablespace_name from dba_tables where tablespace_name= TEW and rownum
TABLE_NAME TABLESPACE_NAME
—————————— ——————–
TABLE_TEW TEW
SQL select count(*) from TABLE_TEW;
COUNT(*)
———-
601480
4、新增的物理磁盤是 sdg1,創建 asm disk 為 /dev/oracleasm/disks/OCPFRA2
[root@ASMDB ~]# oracleasm createdisk OCPFRA2 /dev/sdg1
[root@ASMDB ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks…
Scanning system for ASM disks…
[root@ASMDB ~]# oracleasm listdisks
OCPDATA1
OCPDATA2
OCPDATA3
OCPFRA1
OCPFRA2
[grid@ASMDB ~]$ asmcmd lsdsk –candidate
Path
/dev/oracleasm/disks/OCPFRA2
5、把新 asm disk 加入 asm group,必須使用 as sysasm
[grid@ASMDB ~]$ sqlplus / as sysasm
SQL alter diskgroup FRA add disk /dev/oracleasm/disks/OCPFRA2 rebalance power 10;
Diskgroup altered.
6、等待 asm group 數據重平衡完畢,即 v$asm_operation 查詢結果為空,重平衡后立即發現 asm group 的空間和 asm disk 有變化,空間變成了新舊兩塊 asm disk 的總空間,可用空間 74%,新 asm disk /dev/oracleasm/disks/OCPFRA2 加上來了
SQL select * from v$asm_operation;
GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE
———— —– —- ———- ———- ———- ———- ———-
EST_MINUTES ERROR_CODE
———– ——————————————–
2 REBAL RUN 10 10 495 785 672
0
.
.
.
SQL select * from v$asm_operation;
no rows selected
SQL select name,total_mb,free_mb,round((free_mb/total_mb)*100) from gv$asm_diskgroup;
NAME TOTAL_MB FREE_MB ROUND((FREE_MB/TOTAL_MB)*100)
——————– ———- ———- —————————–
DATA 6141 4195 68
FRA 5114 3779 74
SQL select a.path,a.name,a.mode_status,b.name diskgroupname,b.type from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and b.name= FRA
PATH NAME MODE_ST DISKGROUPN TYPE
————————————————– ——————– ——- ———- ——
/dev/oracleasm/disks/OCPFRA1 FRA_0000 ONLINE FRA EXTERN
/dev/oracleasm/disks/OCPFRA2 FRA_0001 ONLINE FRA EXTERN
7、再從 asm group 刪除舊磁盤對應的舊 asm disk,參考第三步信息,舊磁盤 sdd1 對應 asm disk 是 /dev/oracleasm/disks/OCPFRA1,但是這里不能寫 asm disk 路徑名稱,只能寫 asm disk 名稱,即 v$asm_disk.name
SQL alter diskgroup FRA drop disk FRA_0000 rebalance power 10;
Diskgroup altered.
8、等待 asm group 數據重平衡完畢,即 v$asm_operation 查詢結果為空,重平衡后立即發現 asm group 的空間和 asm disk 有變化,空間變成了新 asm disk 的總空間,可用空間 57%,舊 asm disk 被刪除了,且驗證該 asm group 上的表正常
SQL select * from v$asm_operation;
no rows selected
SQL select name,total_mb,free_mb,round((free_mb/total_mb)*100) from gv$asm_diskgroup;
NAME TOTAL_MB FREE_MB ROUND((FREE_MB/TOTAL_MB)*100)
——————– ———- ———- —————————–
DATA 6141 4195 68
FRA 3067 1734 57
SQL select a.path,a.name,a.mode_status,b.name diskgroupname,b.type from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and b.name= FRA
PATH NAME MODE_ST DISKGROUPN TYPE
————————————————– ——————– ——- ———- ——
/dev/oracleasm/disks/OCPFRA2 FRA_0001 ONLINE FRA EXTERN
[oracle@ASMDB ~]$ sqlplus / as sysdba
SQL select count(*) from TABLE_TEW;
COUNT(*)
———-
601480
9、拆下舊磁盤,重啟電腦后啟動 DB,發現一切正常,驗證結果和上面第 8 步的結果一致
關于“ASM 磁盤組如何更換磁盤”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。