ASM 翻譯系列第二彈:ASM 12C 版本新特性

沃趣科技發表於2016-06-20


隨著Oracle 12c的釋出,也就意味著全新版本的ASM面世了。已知的重大新特性有Flex ASM,資料預校驗和更加便捷的磁碟管理操作。下面針對這幾個方面進行詳細介紹。

Flex ASM

Flex ASM特性可以允許ASM例項只執行在叢集中某些節點上。預設安裝將會建立3個ASM例項,而不管叢集中節點的數量。一個ASM例項可以為本地和遠端資料庫提供服務。如果一個ASM例項crash,資料庫例項會fail over到另一個ASM例項,而不會crash。

隨著Flex ASM的引入,又出現了一個新的例項型別 -- I/O server或者叫ASM代理例項,在Flex叢集環境中,一般會有幾個(預設3個)I/O server例項,為間接客戶端(典型的有ACFS叢集檔案系統)提供服務。一個I/O server可以和ASM例項執行在相同節點,也可以在不同節點,它的功能是從ASM例項(本地或遠端)那裡獲得間接客戶端(例如acfs)的後設資料資訊。

譯者注:作者在這裡對ASM 代理例項的描述可能會讓大家產生誤解,其實每一個要使用ACFS的節點都必須在本地存在ASM代理例項,否則acfs將不能被掛載。

另外,Flex ASM是12c的可選特性。

Physical metadata replication

在ASM 12c中,除了會複製每個磁碟的磁碟頭(從版本11.1.0.7開始有這個功能),還會複製allocation table-AT表。這些功能讓ASM可以應對磁碟的邏輯和物理損壞。ASM磁碟組新增的PHYSMETAREPLICATED屬性就是用來追蹤磁碟組的後設資料複製狀態的。

譯者注:其實在10.2.0.5版本上磁碟頭的資訊也會有一份copy,同樣,存放在AU1的倒數第二個ASM後設資料塊中。

$ asmcmd lsattr -G DATA -l phys_meta_replicated
Name Value
phys_meta_replicated true

物理後設資料複製狀態的標誌位位於磁碟頭(kfdhdb.flags)。一旦物理後設資料被複制,這個標誌位就會從0變為1,而且再也不會變為1了。(此後只會有:1代表後設資料複製完畢,2 代表後設資料複製中 兩種狀態)。

More storage

ASM 12c支援511個磁碟組,單個磁碟最大容量32PB。而在11G版本,ASM支援63個磁碟組,單個磁碟最大容量為2TB。

Online with power

ASM 12c中可以透過power值來控制fast resync操作過程中的並行度,從而提高效能。磁碟resync的檢查點功能,可以在例項崩潰後,從rsync程式的斷點處繼續做恢復,而不用從頭開始。ASM 12c也提供了resync操作完成的預估時間。

為resync操作指定power的示例(power範圍從1到1024):

$ asmcmd online -G DATA -D DATA_DISK1 --power 42

Disk scrubbing - proactive data validation and repair

在ASM 12C中,normal和high冗餘的磁碟組,會校驗資料損壞然後自動修復。CONTENT.CHECK設定為true,就會在磁碟rebalacne過程中進行校驗和修復。該操作也可以透過ALTER DISKGROUP SCRUB命令來手動執行。磁碟清理的操作可以在磁碟組,磁碟和檔案級別進行,而且可以透過v$asm_operation檢視來監控。

Even read for disk groups

在以前的ASM版本中,如果沒有設定prefer failgroup,資料總是從主副本里讀取。映象副本的資料只有在主副本資料不可用的時候讀取。12C出現的均衡讀取的特性,每個讀請求都會被髮往load最輕的磁碟。這裡的load最輕的磁碟指的是讀請求數最少的磁碟。

在非Exadata環境中,Oracle以及ASM 12.1版本以後,均衡讀取功能預設被開啟。在Exadata環境中,均衡讀取功能只有在遭遇有儲存節點盤不可用的時候才會被開啟。

譯者注:原文沒有提供Exadata下遭遇何種失敗的時候會啟用均衡度,譯者補充的資訊參考自第二版Expert Oracle Exadata第九章Cell Disk Failure。

均衡讀取功能只在做了normal或者high冗餘的磁碟組中可用。

Replace an offline disk

12C有了ALTER DISKGROUP REPLACE DISK命令,這個命令混合了rebalance和fast mirror resync功能。不需要做整個磁碟組的rebalance,新替換的磁碟上的資料可以用partner磁碟資料來構建。這就大大降低了替換磁碟的時間。

注意要被替換的磁碟必須是offline狀態。如果磁碟offline的時間過期,磁碟將被drop,就會觸發rebalance。當加入新磁碟時,又會觸發一次rebalance。

譯者注:在11G版本下,一個擁有幾十塊的failgroup的rebalance時間和一塊盤的rebalance時間差異上並不是非常大,前者是後者的二到四倍時間,12C版本的出現將會大大加速後者的rebalance時間。

ASM password file in a disk group

ASM 11.2允許ASM spfile存放在磁碟組中。在12c,可以把ASM密碼檔案放在磁碟組中。與spfile不同,只有在ASM例項啟動,包含密碼檔案的磁碟組mount起來之後,密碼檔案才可用。

orapw工具有現在可以接受ASM磁碟組作為密碼檔案的存放位置。asmcmd也可以用來管理密碼檔案。

譯者注:spfile的位置是透過磁碟頭部分記錄了它位於磁碟的具體物理位置。

Failgroup repair timer

12C版本進一步提供了Failgroup repair timer,之前版本提供disk repair timer,Failgroup repair timer預設為24小時,注意disk repair timer仍然預設為3.6小時。

譯者注:對於為什麼Failgroup repair timer的預設時間比disk repair timer時間長,比較容易理解,這個功能的初衷是為了迎合Exadata環境下一個failgroup都來自於一個儲存節點,一整個儲存節點不可用很大可能意味著儲存節點臨時故障。但是一個磁碟的故障大部分情況是,這個磁碟壞掉了。

Rebalance rebalanced

現在rebalance操作可以透過生成和檢視詳細的工作計劃來估算時間。對應的命令為EXPLAIN WORK,檢視為v$asm_estimate。

在ASM 12c中,對於檔案的rebalance操作有了優先順序順序 -- 關鍵的檔案(比如控制檔案和redo)比其他資料庫檔案優先rebalance。

在Exadata中,rebalance可以解除安裝到儲存節點做。

Thin provisioning support

ASM 12c 為某些操作(比如與磁碟組rebalance操作相關的)提供了精簡配置。該特性預設情況下不開啟,可以透過指定THIN_PROVISIONED屬性為TRUE來開啟。

Enhanced file access control (ACL)

檔案的屬主以及許可權更改更加容易,比如,可以更改一個開啟的檔案的許可權。ACL功能現在Windows系統上也可用了。

Oracle Cluster Registry (OCR) backup in ASM disk group

將ocr備份儲存在磁碟組中,可以讓任何需要恢復ocr的節點都訪問到該備份。從而簡化了ocr的管理。

可以使用ocrconfig命令指定ocr備份的位置在ASM磁碟組中:

# ocrconfig –backuploc +DATA

關於譯者

魏興華,沃趣科技高階技術專家,主要參與公司一體機產品、監控產品、容災產品、DBaaS平臺的研發和設計。曾就職於東軟集團,阿里巴巴集團,Oracle ACE組成員,DBGEEK 使用者組發起人,ITPUB認證部落格專家,ACOUG、SHOUG核心成員。曾在中國資料庫大會、Oracle技術嘉年華、ORCL-CON、YY分享平臺等公開場合多次做過資料庫技術專題分享。對Oracle 並行機制、資料庫異常恢復方法、ASM等有深入的研究,人稱”Oracle Internal達人”,對企業資料庫架構設計、故障恢復、高併發下資料庫效能調優有豐富的經驗,擅長從等待事件角度分析解決資料庫效能問題,是OWI方法論的提倡者和踐行者。

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

相關文章