Web 伺服器的推薦磁碟機配置

Web 伺服器的推薦磁碟機配置

您的典型 Web 伺服器驅動器配置是什麼?通常我會有一個用於作業系統的磁碟機和一個用於資料的磁碟機。數據驅動器通常是 RAID 5,但我不記得我曾經為作業系統驅動器推薦過什麼。 RAID 1 是否適合這種情況?

答案1

我在一家大型託管公司工作,假設伺服器是獨立的/使用本地存儲,我在企業部門看到的最常見的東西(不一定是我推薦的,而是我所看到的)是RAID 1 作業系統陣列,和 RAID5 資料陣列。

現在,隨著硬碟變得越來越大,RAID 5 確實變得不太理想,因為在單一磁碟機重建期間遇到 URE 的可能性非常高。

但由於您似乎專門詢問作業系統驅動器,所以 RAID 1 是標準的並且通常就足夠了,除非您要在該驅動器上運行其他應用程式。

答案2

我經營一個資料中心,並且是一家大型託管營運公司的首席技術長。我們強烈建議人們不要使用 RAID 5。

盡可能使用優質的 SAN


RAID5 每個條帶僅使用一個奇偶校驗驅動器,許多RAID5 陣列有5 個(如果您的計數不同,請適當調整計算)驅動器(4 個數據和1 個奇偶校驗,儘管它不是像RAID 3 那樣由單一磁碟機儲存所有奇偶校驗& 4,但請繼續閱讀)。

RAID 5 很浪費,但 RAID 10 和 1 也是: 如果您有 10 個驅動器,或者說每個 20GB 的 200GB RAID5 將使用 20% 進行奇偶校驗(假設您將其設定為兩個 5 驅動器陣列),因此您將擁有 160GB 的儲存空間。

現在,由於RAID10 與鏡像(RAID1) 一樣,為每個主驅動器使用1 個(或更多)鏡像驅動器,因此您使用50% 進行冗餘,因此要獲得相同的160GB 存儲,您將需要8 對或16 - 20GB 驅動器,即為什麼RAID5如此受歡迎。這個介紹只是為了讓大家正確看待事情。

RAID5 物理上是一個類似 RAID0 的條帶集,但包含資料復原。 RAID5 從每個條帶區塊中保留一個磁碟區塊用於奇偶校驗資料。奇偶校驗區塊包含一個糾錯碼,可以修正 RAID5 區塊中的任何錯誤,實際上,它與其餘資料區塊結合使用,以重新建立因磁碟機故障而遺失的任何單一遺失區塊。 RAID5 相對於 RAID3 和 RAID4 的創新之處在於,奇偶校驗以循環方式分佈,以便可以從多個磁碟機獨立讀取不同的區塊。這就是為什麼 RAID5 比 RAID3 和 RAID4 更受歡迎的原因,後者必須從所有磁碟機同步讀取相同的區塊。因此,如果 Drive2 發生故障,則區塊 1、2、4、5、6 和 7 是該磁碟機上的資料區塊,區塊 3 和 8 是該磁碟機上的奇偶校驗區塊。因此,這表示如果在新驅動器替換 Drive2 之前或在重建新的 Drive2 替換件期間請求區塊 1,則 Drive5 上的奇偶校驗將用於從 Disk2 重新建立資料區塊。同樣,Drive1 上的奇偶校驗將用於修復區塊2,Drive3 上的奇偶校驗將修復區塊4,等等。過程中,將計算出一個新的奇偶校驗區塊:區塊 2 的資料將被寫入磁碟機 2。

RAID 5 讀寫懲罰:現在,當從陣列讀取磁碟區塊時,RAID 軟體/韌體會計算哪個RAID 區塊包含該磁碟區塊、該磁碟區塊位於哪個磁碟機上以及哪個磁碟機包含該RAID 區塊的奇偶校驗區塊,並且僅讀取一個數據驅動器。它會傳回資料塊。如果您稍後修改資料區塊,它會透過減去舊區塊並新增版本來重新計算奇偶校驗,然後在兩個單獨的操作中寫入資料區塊,然後寫入新奇偶校驗區塊。為此,它必須先從包含該條帶區塊奇偶校驗的磁碟機讀取奇偶校驗區塊,然後從原始磁碟機重新讀取更新區塊的未修改資料。這種讀-讀-寫-寫被稱為RAID5 寫入懲罰,因為這兩個寫入操作是連續且同步的,為了安全起見,寫入系統呼叫在重讀和兩個寫入操作完成之前無法返回,因此寫入RAID5 的速度要慢50%對於相同容量的陣列,其效能優於 RAID0。 (某些軟體 RAID5 透過在記憶體中保留原始區塊的未修改副本來避免重新讀取。)

RAID10 是 RAID1(鏡像)和 RAID0(條帶化)的可能組合之一。過去人們對 RAID01 或 RAID10 的意思有混淆,不同的 RAID 供應商對它們的定義也不同。大約五年前,我提出了以下標準語言,這似乎已經流行起來。當 N 個鏡像對條帶化在一起時,這稱為 RAID10,因為鏡像 (RAID1) 在條帶化 (RAID0) 之前應用。另一種選擇是建立兩個條帶集合並將它們鏡像到另一個,稱為 RAID01(因為首先應用 RAID0)。在 RAID01 或 RAID10 系統中,每個磁碟區塊都在其磁碟機映像上完全複製。就效能而言,RAID01 和 RAID10 在功能上是等效的。差異在於復原期間,RAID01 會遇到一些相同的問題,我將描述這些問題會影響 RAID5,而 RAID10 則不會。

現在,如果 RAID5 陣列中的磁碟機死亡、被移除或關閉,則透過從剩餘磁碟機讀取區塊並使用奇偶校驗計算遺失的資料來傳回數據,假設失效的磁碟機不是該 RAID 的奇偶校驗區塊磁碟機堵塞。請注意,每 5 個磁碟區塊中有 4 個需要進行 4 次實體讀取來替換遺失的磁碟區塊(對於 5 個磁碟機陣列),從而導致效能下降 64%,直到發現問題並且可以對應新磁碟機來開始恢復。在恢復期間,效能會進一步下降,因為正在主動存取所有磁碟機以重建替換磁碟機(請參閱下文)。

如果RAID10 陣列中的一個驅動器死亡,則在單次讀取中從其鏡像驅動器返回數據,當需要來自損壞對的兩個非連續塊時,性能僅會輕微下降(整個4 對陣列平均為6.25% ) (因為這兩個區塊不能從兩個磁碟機並行讀取),否則沒有。

人們開始了解正在發生的事情以及為什麼我不喜歡 RAID5,但是,正如他們在深夜資訊廣告中所說的那樣,還有更多。

除了我不知道自己缺少的一些性能之外,還有什麼問題嗎?

好的,今天的最後一個問題是:RAID5 有什麼問題?它確實可以恢復故障驅動器,對吧?所以寫入速度較慢,我沒有做足夠的寫入來擔心它,並且快取也有很大幫助,我有很多快取!問題是,儘管現代驅動器的可靠性得到了提高,大多數驅動器上的糾錯碼也得到了改進,而且即使EMC 在每個Clariion 驅動器磁碟塊上添加了額外的8 字節糾錯(如果您足夠幸運能夠使用EMC 系統) ),驅動器很可能會變得不穩定並開始返回垃圾。這稱為部分介質故障。現在,SCSI 控制器保留了數百個要重新映射的磁碟區塊,以用未使用的磁區替換褪色的磁區,但如果磁碟機運行,這些磁區不會持續很長時間,並且會耗盡,且SCSI 不會向作業系統報告可修正的錯誤!因此,您不會知道驅動器變得不穩定,直到為時已晚,不再有替換扇區並且驅動器開始返回垃圾。 [請注意,最近流行的IDE/ATA 驅動器不(TMK) 在其硬體中包含壞扇區重新映射,因此垃圾會更快返回。校驗(RAID3 和RAID4)順便說一句,兩者對於資料庫的啟動效能都比 RAID5 更好)當您將垃圾磁區寫回時,將計算垃圾奇偶校驗,並且您的 RAID5 完整性會遺失!類似地,如果一個驅動器發生故障,而其餘驅動器之一出現故障,則替換件將使用垃圾進行重建,同時將問題傳播到兩個塊,而不是僅一個塊。

需要更多?在復原期間,RAID5 陣列的讀取效能下降多達 80%。某些進階陣列可讓您配置更多針對復原或效能的首選項。但是,這樣做會增加復原時間,並增加在復原完成之前遺失陣列中第二個磁碟機的可能性,從而導致災難性的資料遺失。另一方面,RAID10 將僅恢復 4 個或更多對中的一個驅動器,並且僅恢復對中的讀取性能下降,從而使陣列整體性能下降約 20%!另外,恢復期間不使用奇偶校驗計算時間 - 它是直接資料複製。

失去第二個驅動器怎麼辦?對於 RAID10,不存在任何危險,除非正在恢復的一個鏡像也發生故障,並且這種情況比 RAID5 陣列中任何其他驅動器發生故障的可能性低 80% 或更低!由於大多數多個驅動器故障都是由未檢測到的製造缺陷引起的,因此您可以透過確保使用來自不同製造商的批號的驅動器來鏡像每個驅動器,從而使這種可能性變得微乎其微。 (“哦”,您可能會說,“這種情況似乎不太可能發生!”呸,當一批200 個IBM 驅動器開始出現故障時,我們在兩週內丟失了50 個驅動器。IBM 發現單批驅動器的主軸軸承會損壞幸運的是,由於RAID10 的原因,以及DG 技術人員和我們自己的人員在兩週內的艱苦努力,沒有丟失任何數據,但在第二個驅動器發生故障後,一個RAID5 文件系統完全遺失。

結論?為了安全和效能,優先考慮 RAID10,其次是 RAID3,第三是 RAID4,最後是 RAID5!制定 RAID2-5 規格的最初原因是磁碟的高成本使得 RAID1、鏡像變得不切實際。這已不再是這種情況!驅動器是商品定價的,即使是最大最快的驅動器,以絕對美元計算也比當時的驅動器便宜,而且每 MB 的成本只是當時的一小部分。 RAID5還有意義嗎?顯然我認為不是。

換個角度來看:如果一個驅動器的成本為 1000 美元(大多數都比這個便宜得多),那麼從 4 對 RAID10 陣列切換到 5 驅動器 RAID5 陣列將節省 3 個驅動器或 3000 美元。即使是恢復恐慌,加班、磨損對技術人員、DBA、經理和客戶造成的成本是多少?性能下降和客戶滿意度可能下降的成本是多少?最後,如果資料無法恢復,業務損失的成本是多少?

複製自 BAARF 網站 - 但確實值得注意。

盡可能使用 RAID 10 - 花費額外的磁碟。

答案3

假設應用程式沒有從中運行,而只是託管作業系統文件,則 RAID 1 應該完全足夠了。

如果您在作業系統磁碟區上執行任何其他應用程序,則需要考慮負載。

答案4

如果速度可靠性很重要,RAID0+1 應提供最佳效能(無需計算奇偶校驗)以及最多兩個驅動器故障的生存能力。但並非所有控制器都支援它。

相關內容