全面學習和應用ORACLE ASM特性--(2)管理asm磁碟

xingfei80發表於2010-07-08

全面學習和應用ORACLE ASM特性--(2)管理asm磁碟

轉自:http://junsansi.itpub.net/post/29894/501180

[@more@]

2、管理ASM磁碟
  本節簡單給大家描述下關於ASM磁碟組的管理操作,關於ASM磁碟組的管理其實非常簡單(也非常少),主要是由於10gR2中這個東西透明 度不夠 ,ORACLE提供的功能有限,因此我們能夠做的操作就更加有限了,因此三思決定隨便寫個幾百W字大家湊和著看看就得了,不深入了。

  OK ,下面步入正題。
  ASM 磁碟組的管理方式呢也比較多,比如像DBCA、EM、SQL*PLUS等均可操作(不同工具 易用性不同,不過 功能也有差異),除此之外ORACLE還專門提供了ASMCMD命令列方式,像操作檔案系統一樣來操作磁碟組。本節操作主要使用sql*plus命令列工具,關於asmcmd命令列中的命令,感興趣的朋友可以期待本文外傳~~~

  在管理ASM之前不得不提與ASM相關的動態效能檢視,這些檢視將對我們後面的操作起到重要作用,查詢資料庫中ASM相關檢視可以透過下列SQL語句:

SQL> select * from dict where table_name like 'V$ASM_%';


TABLE_NAME COMMENTS

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

V$ASM_ALIAS Synonym for V_$ASM_ALIAS

V$ASM_CLIENT Synonym for V_$ASM_CLIENT

V$ASM_DISK Synonym for V_$ASM_DISK

V$ASM_DISKGROUP Synonym for V_$ASM_DISKGROUP

V$ASM_DISKGROUP_STAT Synonym for V_$ASM_DISKGROUP_STAT

V$ASM_DISK_STAT Synonym for V_$ASM_DISK_STAT

V$ASM_FILE Synonym for V_$ASM_FILE

V$ASM_OPERATION Synonym for V_$ASM_OPERATION

V$ASM_TEMPLATE Synonym for V_$ASM_TEMPLATE


9 rows selected
  這其中,V$ASM_ALIAS檢視中記錄檔案別名資訊,V$ASM_CLIENT返回當前連線的客戶端例項資訊,V$ASM_DISK*相關檢視中記錄的是ASM管理的磁碟及磁碟組資訊,V$ASM_OPERATION記錄當前磁碟的操作資訊,例如:

SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME STATE TOTAL_MB FREE_MB

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

1 ASMDISK1 MOUNTED 20472 18667

2 ASMDISK2 MOUNTED 16378 14621

SQL> select header_status,name,failgroup,path,total_mb,free_mb from v$asm_disk where GROUP_NUMBER in(1,2);

HEADER_STATU NAME FAILGROUP PATH TOTAL_MB FREE_MB

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

MEMBER ASMDISK2_0000 ASMDISK2_0000 /dev/raw/raw5 8189 7309

MEMBER ASMDISK2_0001 ASMDISK2_0001 /dev/raw/raw6 8189 7312

MEMBER ASMDISK1_0000 ASMDISK1_0000 /dev/raw/raw1 10236 9333

MEMBER ASMDISK1_0001 ASMDISK1_0001 /dev/raw/raw2 10236 9334
  在真正開始操作ASM之前呢,我覺著還是有必要先描述一下關於ASM磁碟總的原則供參考。

新增或刪除磁碟的影響
  當發生新增/刪除磁碟組中磁碟的操作時,ASM能夠自動平衡。對於普通的刪除操作(無force選項),被刪除的磁碟在該上資料被有效處理前並不會立刻釋放,同樣,新增磁碟時,在重分配工作完成前,該盤也不會承擔I/O負載的工作。

ASM 如何處理磁碟故障
  ASM 中的磁碟組在三思看來可以分成兩類:普通磁碟組和failure磁碟組,後者又與ASM的冗餘方式有所關聯。普通磁碟組就是標準的儲存單元,ASM可以向其可訪問的磁碟組中讀寫資料,failure磁碟組是為了提高資料的高可用性。ASM中的磁碟冗餘策略非常簡單,概要成三類:外部冗餘、標準冗餘和高度冗餘,其中前者與failure磁碟組無關,如果設定了後者,那麼該磁碟組就必須擁有failure磁碟組。聽起來像在說failure磁碟組是普通磁碟組的子集,其實差不多可以這麼理解,外部冗餘的話磁碟屬於磁碟組,內部冗餘的話,磁碟屬於磁碟組的同時,還屬於某個(並且只能是一個)failure磁碟組。

  比如說對於標準冗餘(Normal Redundancy),ASM要求該磁碟組至少要擁有兩個failure磁碟組,即提供雙倍映象保護,對於同一份資料(ASM中映象單位不是磁碟,也不是塊,而是一種AU的單位,該單位大小預設是1M)將有主從兩份映象,並且ASM透過演算法來自動確保主、從映象不會存在於同一份failure磁碟組,這樣就保障了就算整個failure磁碟組都損壞,資料也不會丟失。至於高度冗餘(High Redundancy)就更安全了,它至少需要三個failure磁碟組,也就是一份AU有一主多從的映象,理論上將更加安全。

  如果磁碟發生損壞,那麼損壞的磁碟預設自動offlice並被drop掉,不過該磁碟所在的磁碟組仍將保持MOUNT狀態,如果該盤有映象的話,那麼應用不會有影響,映象盤將自動實現接管--只要不是所有failure磁碟組都損壞掉,否則的話,該磁碟組將自動DISMOUNT。舉個例子吧,某標準冗餘的failure組有6個盤(對應6個裸裝置),假如說此時壞了一塊盤,沒關係,操作繼續,壞了那塊會被自動dropped,剩下的5塊盤仍然能夠負擔起正常的讀寫操作。

ASM 擴充套件性
最多支援63個磁碟組;
最多支援10000個磁碟;
最大支援4pb/磁碟;
最大支援40 exabyte/ASM儲存;
最大支援1百W個檔案/磁碟組;
外部冗餘時單個檔案最大35tb,標準冗餘時單個檔案最大5.8tb,高冗餘度時單個檔案最大3.9tb。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14663377/viewspace-1035063/,如需轉載,請註明出處,否則將追究法律責任。

相關文章