程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle服務器如何科學組織RAID陣列

Oracle服務器如何科學組織RAID陣列

編輯:Oracle數據庫基礎
我們在部署服務器時通常都免不了RAID陣列級別的選擇,RAID技術發展到今天已經有數十種之多了,但我們在生產系統上常用的也就只有幾種,如0,1,5,0+1。讀者朋友可能對各個級別的RAID原理已經非常熟悉了,甚至能背誦出來,但面臨真正在生產系統中選擇最適合應用系統的RAID級別時,可能沒多少心理有底,本文就Oracle數據庫服務器在選擇RAID陣列級別時做一個介紹,希望對還心存疑慮的人們吃一粒定心丸。

首先,還是來看看常用的幾個RAID級別之間的優缺點。

RAID

優缺點描述

不用RAID

任何RAID都有一定的管理開銷,如果你最需要的是數據寫入速度,且不需要為保護數據,那麼你就可以選擇不使用RAID,如果你有3塊硬盤,那可以將其中一塊用於安裝操作系統和數據庫軟件,第二塊用作存儲數據文件,第三塊用作存儲日志文件,這樣系統整體性能會非常好,但任何一塊硬盤壞掉,系統維護時間都比較長,當然,如果你還有更多的硬盤,那可以將每塊硬盤承擔的工作進一步細化,如專門拿一塊存儲控制文件和參數文件,而且還可以將多個數據文件分開,每個文件一塊硬盤,這樣性能只能說是大大的好。

RAID0

熟悉RAID 0的人都知道,它的讀寫速度是最高的,因為數據是分成小塊後,跨多塊硬盤同步寫入多塊硬盤的,這樣寫入速度就非常快了,如果你不信,可以將三塊硬盤組成RAID 0,然後安裝操作系統,你會發現安裝時間減少了好多。當然,讀取數據的速度相對單塊硬盤也會大幅提升,不過這種RAID用的人不多,因為一旦其中一塊硬盤壞掉,數據恢復可能就得請專業的恢復公司了。RAID 0非常適合那些作為代理服務器的緩存使用,要的就是速度。

RAID1

RAID 1設計的目的就是為了保證數據的安全,通常我們稱之為鏡像,即如果你將兩塊硬盤組成RAID 1,這時你在操作系統中看到的硬盤大小其實只有一塊的大小,另一塊都做鏡像了,所以這種情況下,一份數據保存了兩份,允許壞掉其中一塊而不影響操作系統和應用程序的正常使用,但它的缺點是寫入速度都較單塊硬盤有所下降,畢竟寫操作時要寫兩次,肯定會消耗一定量的CPU時間片的。這種RAID適合那些看重數據安全的應用,如單位財務軟件用機。

RAID0+1

從其名字就可以看出來,這是RAID 0和RAID 1技術的結合產物,它同時利用了RAID 0的高速特性和RAID 1的鏡像功能,滿足了對速度和數據安全同樣重視的用戶的需求。要實現這種RAID,最少要4塊硬盤,允許其中一塊硬盤壞掉而不影響操作系統和應用程序。特別適用於既有大量數據需要存取,同時又對數據安全性要求嚴格的領域,如銀行、金融等

RAID 5

RAID 5可以理解為RAID 0和RAID 1的折中方案,RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。要實現這種RAID,最少要3塊硬盤,允許其中一塊硬盤壞掉而不影響操作系統和應用程序。

在准備安裝Oracle的服務器上,究竟選擇哪種RAID合適呢,我要告訴你的是,沒有定論,要想使你的Oracle服務器最終性能比較理想,下面是我總結的一個可行的辦法。

先規劃一下哪些磁盤存放什麼文件,然後再看這些文件的讀寫性能要求,按照性能要求再做對應的RAID級別陣列。下面是Oracle中涉及到的文件類型及我們推薦使用的RAID級別,並闡述了推薦的理由:

文件類型

推薦RAID級別

推薦理由

控制文件

不用RAID

RAID 0

RAID 0+1

我推薦了3種RAID級別來存儲控制文件。
因為控制文件經常更新,所以速度越快越好。但使用RAID 0或不使用RAID存儲控制文件時需要小心,要做好備份工作,還有一點需要注意的就是最好使用多個控制文件,一個壞了,說不定其他幾個還是好的,這樣就可以直接用好的控制文件覆蓋壞掉的進行恢復。

在線重做
日志文件

不用RAID

RAID 0

RAID 0+1

與控制文件類似,在線重做日志文件更新也非常頻繁,必須考慮 使用速度快的RAID級別。需要注意的是建議使用多個在線重做日志文件。

臨時數據
文件

不用RAID

RAID 0

臨時文件注重的是快速訪問,不關心它的可靠性如何,如果數據文件丟失了也可以原地快速重建的。所以這裡我推薦使用RAID 0或不使用RAID。

歸檔日志
文件

不用RAID

RAID 0

RAID 0+1

歸檔日志時,歸檔進程可能會消耗很多系統資源,所以速度越快越好,如果使用RAID 0或不使用RAID,建議多做幾份拷貝,如果使用RAID 0+1,那你就高枕無憂了。

回滾/撤銷
數據文件

RAID 0+1

這些文件需要恆定不變的I/O,並且數據需要保護,因為Oracle不能對其提供多份拷貝,如控制文件那樣,所要采取硬件的形式提供多一份保護,故我推薦的是RAID 0+1

數據文件

RAID 5

RAID 0+1

數據文件的大部分I/O操作都是在緩存中進行的,物理寫入操作是在後台進行的,因此RAID 5既可以減少成本,又不影響性能,推薦它,如果是I/O操作非常頻繁,RAID 5已經感覺速度較慢,那就采取RAID 0+1吧。

可能有的人看到這裡會有疑問了,按照這樣設計,那得用多少硬盤呀,是的,要想減少維護時間,增強數據安全性,保證應用性能,的確需要很多硬盤組成不同形式的RAID。如果你還有疑問,下面是在空間規劃時可以考慮的一些原則,可以參考:

◆如果你的預算充足,可以為所有Oracle文件采用RAID 0+1分開存儲的方式。
◆為了減少成本,可以將數據文件放在RAID 5陣列上。
◆如果還想再減少一點成本,可以將所有的數據文件都放在RAID 5陣列上。
◆如果都還不行,那可以將歸檔日志文件和回滾/重做表空間放在RAID 5陣列上。
◆最後,只能將所有的文件都使用RAID 5來存放了。 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved