Oracle RAC + ASM 環境下,利用 ASM 磁盤組熱添加/刪除磁盤特性實現存儲設備零停機遷移。本文記錄 DAVA、OCRVOTE 兩個磁盤組的遷移全過程:新磁盤加入 → Rebalance → 舊磁盤剔除 → Rebalance 完成,並通過 V$ASM_OPERATION 監控進度,分析 POWER 參數對速度與資源佔用的影響。
ASM_DISKSTRING 使新磁盤可見SELECT NAME, ALLOCATION_UNIT_SIZE, STATE, TOTAL_MB, FREE_MB, USABLE_FILE_MB
FROM GV$ASM_DISKGROUP;
SELECT FAILGROUP, NAME FROM V$ASM_DISK
WHERE GROUP_NUMBER = (SELECT GROUP_NUMBER FROM V$ASM_DISKGROUP WHERE NAME = 'OCRVOTE');
SELECT FAILGROUP, NAME FROM V$ASM_DISK
WHERE GROUP_NUMBER = (SELECT GROUP_NUMBER FROM V$ASM_DISKGROUP WHERE NAME = 'DAVA');
初始狀態:OCRVOTE 2 塊磁盤(1024 MB),DAVA 1 塊磁盤(6144 MB)。
ALTER DISKGROUP OCRVOTE ADD DISK '/dev/asm-diske' NAME OCRVOTE_0002 REBALANCE POWER 10;
ALTER DISKGROUP OCRVOTE ADD DISK '/dev/asm-diskf' NAME OCRVOTE_0003 REBALANCE POWER 10;
ALTER DISKGROUP DAVA ADD DISK '/dev/asm-diskg' NAME DAVA_0001 REBALANCE POWER 10;
批量添加語法:
ALTER DISKGROUP DG_NAME ADD DISK 'ORCL:ASM1','ORCL:ASM2','ORCL:ASM3' REBALANCE POWER n;
POWER 選擇建議:11g R2 範圍 0-1024,默認 1。值越大重平衡越快但佔用更多 I/O 與 CPU。生產建議 5-10,觀察 V$ASM_OPERATION.EST_MINUTES 預估時間。
SELECT * FROM V$ASM_OPERATION;
關鍵列:
STATE:RUN 進行中、DONE 完成SOFAR / EST_WORK:已完成工作單元 / 總工作單元EST_RATE:每分鐘處理單元數EST_MINUTES:預估剩餘分鐘無記錄表示 Rebalance 完成。
SELECT FAILGROUP, NAME FROM V$ASM_DISK
WHERE GROUP_NUMBER = (SELECT GROUP_NUMBER FROM V$ASM_DISKGROUP WHERE NAME = 'OCRVOTE');
-- 新增 OCRVOTE_0002, OCRVOTE_0003
SELECT FAILGROUP, NAME FROM V$ASM_DISK
WHERE GROUP_NUMBER = (SELECT GROUP_NUMBER FROM V$ASM_DISKGROUP WHERE NAME = 'DAVA');
-- 新增 DAVA_0001
ALTER DISKGROUP OCRVOTE DROP DISK OCRVOTE_0000 REBALANCE POWER 10;
ALTER DISKGROUP OCRVOTE DROP DISK OCRVOTE_0001 REBALANCE POWER 10;
ALTER DISKGROUP DAVA DROP DISK DAVA_0000 REBALANCE POWER 10;
再次監控 V$ASM_OPERATION 至無記錄。
SELECT NAME, TOTAL_MB, USABLE_FILE_MB FROM GV$ASM_DISKGROUP;
-- 容量恢復至遷移前水平,磁盤組僅含新磁盤
| 優勢 | 風障/局限 |
|---|---|
| 零停機、無需第三方工具 | Rebalance 進度不可精確控制、高負載時影響業務 I/O |
| ASM 自動數據再平衡 | 大磁盤組 Rebalance 可能持續數小時甚至數天 |
| 在線擴容/縮容靈活 | 若遇磁盤故障、控制文件損壞,恢復複雜度高 |
ASM_POWER_LIMIT 實例參數限制最大並行度。V$ASM_OPERATION 與宿主機 I/O 指標。ASM Disk Group 分層 或第三方存儲虛擬化遷移方案。ASM 熱添加/刪除磁盤是 RAC 存儲遷移的原生利器,核心在於 REBALANCE POWER 與 V$ASM_OPERATION 的配合使用。掌握進度監控與資源限制技巧,可在業務零中斷前提下平滑完成存儲設備更換。