首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 11g RAC + ASM 存儲熱遷移實戰:磁盤組添加/刪除磁盤與 Rebalance 可控性分析

     編輯:Oracle 資料庫基礎

Oracle RAC + ASM 環境下,利用 ASM 磁盤組熱添加/刪除磁盤特性實現存儲設備零停機遷移。本文記錄 DAVA、OCRVOTE 兩個磁盤組的遷移全過程:新磁盤加入 → Rebalance → 舊磁盤剔除 → Rebalance 完成,並通過 V$ASM_OPERATION 監控進度,分析 POWER 參數對速度與資源佔用的影響。

遷移整體流程

  1. 劃分新 Raw/ASM 磁盤,調整 ASM_DISKSTRING 使新磁盤可見
  2. 備份 OCR、Voting Disk、ASM Disk Header、數據庫
  3. 新磁盤加入磁盤組(本文重點)
  4. 舊磁盤剔除磁盤組(本文重點)
  5. 觀察期驗證穩定性

步驟一:查看當前磁盤組狀態

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)。

步驟二:添加新磁盤並指定 Rebalance Power

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 預估時間。

步驟三:監控 Rebalance 進度

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 可能持續數小時甚至數天
在線擴容/縮容靈活若遇磁盤故障、控制文件損壞,恢復複雜度高

生產建議

  1. 遷移前完成完整備份(含 OCR/Vote/SPFILE)。
  2. 分批次添加/刪除磁盤,避免單次 Rebalance 洪峰。
  3. 設置 ASM_POWER_LIMIT 實例參數限制最大並行度。
  4. 業務低峰窗口執行,實時監控 V$ASM_OPERATION 與宿主機 I/O 指標。
  5. 若對可控性要求極高,考慮 ASM Disk Group 分層 或第三方存儲虛擬化遷移方案。

總結

ASM 熱添加/刪除磁盤是 RAC 存儲遷移的原生利器,核心在於 REBALANCE POWER 與 V$ASM_OPERATION 的配合使用。掌握進度監控與資源限制技巧,可在業務零中斷前提下平滑完成存儲設備更換。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved