Do we need HACMP?

hooca發表於2014-08-07

Do we need HACMP?

上次在東方標準講Oracle資料庫儲存的時候,曾經說過:
如果我們選擇用純裸裝置來做Oracle10g RAC資料檔案的話,那麼在AIX平臺就需要安裝HACMP,在HP-UX平臺就需要安裝Service Guard。

這句話不完全正確,今天更正一下。

實際上無論在哪個作業系統(AIX,HP-UX,Solaris,Linux)上安裝Oracle10g RAC都不再需要Vendor Clusterware(IBM的HACMP,HP的Service Guard,Veritas的VCS等),無論在儲存方面是選擇裸裝置還是ASM或者是作業系統廠商提供的共享檔案系統,比如AIX上的GPFS。

那麼為什麼提到AIX,如果一定要選擇裸裝置(此處提到的裸裝置指純裸裝置,因為ASM實際上也是在管理裸裝置)作為Oracle資料檔案儲存方式的話,我們建議安裝HACMP呢?是因為AIX作業系統的特殊性,在AIX作業系統上,每個字元裝置(對應一個rhdisk)只能對應一個儲存上劃分的LUN,而其它作業系統則可以在LUN上繼續細分字元裝置,比如LUN是128G,那麼在AIX上每個rhdisk都只能是128G,每個rhdisk也就是一個裸裝置,而其它作業系統則可以繼續在這個LUN上劃分出多個裸裝置,大小可以自定義。

我們知道對於Oracle RAC來說,每個控制檔案,每個聯機重做日誌檔案,甚至spfile都要對應一個裸裝置,那麼如果在儲存規劃的時候我們建立了128G的LUN,那麼在AIX上我們只能做成一個128G的控制檔案,一個128G的聯機重做日誌檔案,一個128G的spfile,因為單獨依靠作業系統我們無法再細分了。

在AIX作業系統中,必須使用LVM(Logical Volume Manager)來劃分LV(Logical Volume),每個LV的大小是可以控制的,在一個LUN上我們可以劃分多個LV,因此在作業系統級別達到了規劃儲存的目的。此時HACMP的作用體現出來,如果要掛載Concurrent Volume Group(實際上不需要HACMP也可以建立LV和VG,但是卻無法將VG設定為Concurrent模式,而非Concurrent模式的VG是無法被多個機器同時讀寫的),就必須安裝HACMP,因此更嚴格地說,這種方式的儲存應該稱為Raw Logical Volumes,而不是Raw Disks,這兩種都是Raw Devices。

實際上,如果我們在儲存級別就詳細規劃LUN的大小,比如建立4個128M的LUN,1個給spfile用,3個給控制檔案用,再建立8個256M的LUN,給8個聯機重做日誌用(4組,每組2個member),然後再繼續規劃用於SYSTEM表空間的,用於SYSAUX表空間的,用於UNDO表空間的,用於使用者資料表空間的LUN分別是多大,那麼也仍然可以不需要HACMP就在AIX上搭建起以純裸裝置為儲存介質的Oracle10g RAC資料庫。

結論是,因為Oracle Clusterware的存在,在本質上,無論選擇什麼儲存方式,在任何作業系統上都不再需要第三方的叢集軟體。

最後再提一下ASM,對於ASM來說,底層可以是raw disks也可以是raw LVs,但是推薦是raw disks,因為本身ASM已經行使了類似於LVM的功能,因此無需再建立多餘的LV了,而如果不選擇ASM,那麼就建議使用raw LVs。

轉自:http://www.dbform.com/html/2008/464.html

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

相關文章