天天看點

asm添加删除磁盤

一、 ASM_POWER_LIMIT 參數

 這個參數 ASM_POWER_LIMIT 參數控制 ASM 背景程序 ARBx 的數量。ARBx 程序用來進行 ASM 磁盤資料重新分布打散。ASM_POWER_LIMIT 取值 從 0 到 11(據說從 10gR2 開始可以設定為 0 ). 當新添加磁盤或者删除磁盤後,ASM 會啟動 ARBx 進行 IO 分散操作,該參數值越大,io 越大。這是個非常消耗資源的動作,是以一定要選擇系統空閑的時候進行。

ASM_POWER_LIMIT 參數官方描述:

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.

If the POWER clause of a rebalance operation is not specified, then the default power will be the value of ASM_POWER_LIMIT.

根據 邏輯 cpu個數 與 負載情況 ,确定 asm_power_limit 參數。

1.1 檢視邏輯cpu個數

$ cat /proc/cpuinfo |grep "processor"|wc -l 

48

1.2 grid使用者登入,設定 asm_power_limit 參數

$ sqlplus / as sysasm

SQL> show parameter asm_power_limit

NAME TYPE VALUE

------------------------------------ --------------- ------------------------------

asm_power_limit integer 1

1.3 修改 asm_power_limit 參數

SQL> alter system set asm_power_limit=20 sid= '*' scope=both;

1.4 添加或者删除asm磁盤

1.5 還原 asm_power_limit 預設值

SQL> alter system set asm_power_limit=1 sid= '*' scope=both;

二、 添加磁盤組磁盤成員 (最好保證添加的磁盤成員size大小與該磁盤組其他成員size大小一緻,否則浪費最大可用空間)

1.grid使用者進入asm環境

node1-> sqlplus / as sysasm

2.檢視目前環境的資訊 

SQL> 

col name for a35;

select a.group_number,b.name,a.path from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number;

3.增加一個asm磁盤 ,之後磁盤做 rebalance 操作

SQL> ALTER DISKGROUP DATA ADD DISK '/dev/asm-data02';

Diskgroup altered.

-- 如果查詢出來有結果,說明磁盤資料遷移沒有結束。如果查詢出來結束輸出為 no rows selected ,說明磁盤資料遷移已經結束。

SQL> select OPERATION,POWER,EST_RATE,EST_MINUTES,STATE from v$asm_operation;

GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR

------------ --------------- ------------ ---------- ---------- ----------

EST_WORK EST_RATE EST_MINUTES

---------- ---------- -----------

ERROR_CODE

--------------------------------------------------------------------------------

3 REBAL RUN 1 1 195

300 782 0

4. 查詢磁盤情況

col name for a40;

select group_number, name, TOTAL_MB, FREE_MB from V$asm_disk_stat;

GROUP_NUMBER NAME TOTAL_MB FREE_MB

------------ ---------------------------------------- ---------- ----------

3 DATA_0000 43008 40913

2 FLASH_0000 15360 14211

1 GRIDDG_0000 1024 830

1 GRIDDG_0001 1024 863

3 DATA_0001 6144 5842

no rows selected > 磁盤 rebalance 操作結束

三、 删除磁盤組磁盤成員

3.0 查詢磁盤資訊,保留盤符path路徑 ( 删除磁盤組的一個磁盤成員,但必須確定删除該磁盤成員之後,該磁盤組的其他成員有足夠空間做 rebalance )

col path for a30;

select group_number,disk_number,path from v$asm_disk order by group_number,disk_number;

GROUP_NUMBER DISK_NUMBER PATH

------------ ----------- ------------------------------

1 0 /dev/asm-ocr

1 1 /dev/asm-vd

2 0 /dev/asm-date

2 1 /dev/asm-date02

3 0 /dev/asm-flash

SQL> col name for a40

SQL> select group_number, name, TOTAL_MB, FREE_MB from V$asm_disk_stat;

3.1 開始删除磁盤 DATA_0001 , 磁盤做 rebalance 操作

SQL> alter diskgroup DATA drop disk DATA_0001;

3.2 檢視磁盤情況 

col name for a45;

GROUP_NUMBER NAME TOTAL_MB FREE_MB

------------ --------------------------------------------- ---------- ----------

3 DATA_0000 43008 40613

2 FLASH_0000 15360 14211

說明: 一旦重新調整删除了所有的配置設定單元,那麼這個磁盤就從這個磁盤組中删除了。

3.3 檢視磁盤 rebalance 操作是否結束,如果查詢輸出結果為 no rows selected ,表示已經 rebalance 結束。

no rows selected

col state for a10;

col path for a20;

SQL> select path,group_number, disk_number,mount_status,state from v$asm_disk;

PATH GROUP_NUMBER DISK_NUMBER MOUNT_STATUS STATE

-------------------- ------------ ----------- --------------------- ----------

/dev/asm-data02 0 0 CLOSED NORMAL

/dev/asm-date 3 0 CACHED NORMAL

/dev/asm-flash 2 0 CACHED NORMAL

/dev/asm-ocr 1 0 CACHED NORMAL

/dev/asm-vd 1 1 CACHED NORMAL

說明:踢出磁盤後的成員, GROUP_NUMBER,DISK_NUMBER 顯示為 0 , 0

補充:磁盤處理方案

SQL>

col name for a20; 

select group_number,disk_number,name,TOTAL_MB,FREE_MB,TOTAL_MB-FREE_MB used_size from V$asm_disk_stat order by group_number,disk_number;

GROUP_NUMBER NAME TOTAL_MB FREE_MB USED_SIZE

------------ -------------------- ---------- ---------- ----------

1 OCRVOTDG_0001 4096 3914 182

1 OCRVOTDG_0000 4096 3880 216

2 DATADG01_0004 284672 188576 96096

2 DATADG01_0000 284672 188648 96024

2 DATADG01_0005 284672 188632 96040

2 DATADG01_0006 284672 188616 96056

2 DATADG01_0007 284672 188664 96008

2 DATADG01_0001 284672 188584 96088

2 DATADG01_0002 284672 188560 96112

2 DATADG01_0003 284672 188584 96088

3 DATADG02_0004 284672 200504 84168

3 DATADG02_0003 284672 200424 84248

3 DATADG02_0002 284672 200440 84232

3 DATADG02_0001 284672 200480 84192

3 DATADG02_0000 284672 200472 84200

3 DATADG02_0007 284672 200496 84176

3 DATADG02_0005 284672 200432 84240

3 DATADG02_0006 284672 200424 84248

4 DATADG03_0002 284672 273664 11008

4 DATADG03_0000 284672 273664 11008

4 DATADG03_0001 284672 273656 11016

5 ARCHDG_0000 284672 82672 202000

22 rows selected.

SQL> select sum(total_mb-free_mb) T_size from v$asm_disk;

T_SIZE

----------

1677646

SQL> select sum(total_mb) T_size from v$asm_disk;

5701632

SQL> select sum(free_mb) T_size from v$asm_disk;

4023986

磁盤處理情況說明:

SQL> select group_number,sum(total_mb) total_M,sum(total_mb-free_mb) used_size_M ,sum(free_mb) free_M from v$asm_disk group by group_number order by group_number ;

GROUP_NUMBER TOTAL_M USED_SIZE_M FREE_M

------------ ---------- ----------- ----------

1 8192 398 7794 (不動)

2 2277376 768512 1508864

3 2277376 673704 1603672

4 854016 33032 820984

5 284672 202000 82672 (不動)

SQL> select sum(total_mb) total_M,sum(total_mb-free_mb) used_size_M ,sum(free_mb) free_M from v$asm_disk where group_number in (2,3,4);

TOTAL_M USED_SIZE_M FREE_M

---------- ----------- ----------

5408768 1475248 3933520

計劃方案:已經使用 1677646 M ,存留 2.7 T=2831155 M , 踢出 2870477 M

5701632 - 2831155 = 2870477 M

2870477/284672 = 10.0834539

實際實施: 

group 2 踢出4塊磁盤,DATADG01_0007~DATADG01_0004 。

group 3 踢出4塊磁盤,DATADG02_0007~DATADG02_0004。

group 4 踢出2塊磁盤,DATADG03_0002,DATADG03_0001 。

實際踢出空間:284672*10=2846720/1024/1024= 2.71484375 T

實際存留白間:5408768-2846720=2562048/1024/1024= 2.44335938 T

實施後存儲情況:

1 8192 398 7794

2 1138688 768512 370176

3 1138688 673704 464984

4 284672 33032 251640

5 284672 202000 82672

文章可以轉載,必須以連結形式标明出處。

本文轉自 張沖andy 部落格園部落格,原文連結:  http://www.cnblogs.com/andy6/p/7270853.html ,如需轉載請自行聯系原作者