2010年8月17日 星期二

資料冗餘

資 料冗餘是指使用部分磁碟空間來存儲使用者資料的備份。

最簡單的冗餘數據形式就是RAID 1的鏡像資料。在鏡像磁碟陣列中,對於寫請求,控制軟體要執行兩次寫盤— 一次寫資料盤,一次寫鏡像盤。而對於讀請求,控制軟體選擇其中一個盤讀取資料。有些軟體為了提高性能,會選擇負載較輕的盤來實現讀訪問。鏡像磁碟陣列的缺 點是:實現成本相對較高。為保存和維護一個磁片的資料量,使用者不得不購買、維護和管理兩塊硬碟。

RAID3、 4、 5使用另一種形式的冗餘數據,稱作校驗資料。校驗RAID並不是完全備份每個資料塊,每個校驗塊是由一組資料塊經過計算得到的。有了校驗塊,任何一個資料塊可由組裡的其它資料塊計算得到。

校 驗資料通常取相應使用者資料進行按位元異或的結果。不論陣列有多少塊盤構成,校驗資料都只佔用一個磁碟空間.因此由許多盤組成的大型校驗RAID,其冗餘 數據所占空間的比例卻很小。例如,由11塊盤組成的校驗RAID,使用者資料佔用10個磁碟空間,校驗的開銷只有10%。既然只用一個校驗盤就可以保護任 意多個使用者資料盤,那麼是不是使用越多的資料盤,就能達到越高的磁碟空間利用率呢?實際上並不是這麼簡單。

大型校驗RAID的缺點:
同 位只能在一個盤發生故障時恢復資料。當RAID裡同時有兩塊盤發生故障時,就會丟失資料。陣列使用的盤數越多,兩塊盤同時失效的概率就越大,從而導致整個 陣列的崩潰。這時,丟失的不僅是失效盤上的資料,所有盤上的資料都變得無法訪問。因此陣列規模越大,失效盤帶來的損失也越大。

大 型校驗RAID寫性能較差。當應用程式要對一個資料塊進行寫操作時,要先讀該塊的資料,與校驗塊進行計算,其結果再與要寫入的資料做異或計算,最後寫入新 資料和新校驗。在這段時間裡,控制軟體需要保持一些永久性的log標誌,以防更新操作中的系統故障。可見寫資料操作有延遲,而且陣列越大,寫延遲越大。

當 有故障發生時,要更換損壞的磁片,而且新的磁片上的內容必須與其它盤同步,以保證所有校驗資料與使用者資料的一致性。這種同步需要讀所有盤上的資料或校驗 資訊,通過計算得到替換盤的內容。可見陣列裡的磁片個數越多,同步的時間開銷也越大。而恢復資料的時間越長,陣列發生第二次故障的危險性越大。事實表 明,RAID系統使用四至六塊磁片比較合適。

RAID

獨立磁碟冗餘陣列(RAID, Redundant Array of Independent Disks)簡稱磁碟陣列,其基本思想就是把多個相對便宜的硬碟組合起來,成為一個磁碟陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬碟。根據選擇的版本不同,RAID比單顆硬碟有以下一個或多個方面的好處:增強資料整合度,增強容錯功能,增加處理量或容量。另外,磁碟陣列組對於電腦來說, 看起來就像一個單獨的硬碟或邏輯存儲單元。分為RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID- 10,RAID-50。

簡單來說,RAID把多個硬碟組合成為一個邏輯磁區,因此,作業系統只會把它當作一個硬碟。RAID常被用在伺服器電腦上,並且常使用完全相同的硬碟作為組合。由於硬碟價格的不斷下降與RAID功能更加有效地與主機板整合,它也成為了玩家的一個選擇,特別是需要大容量儲存空間的工作,如:視訊與音訊製作。

最初JBOD

(JBOD, Just a Bunch Of Disks)在某些分類上,JBOD並不算是RAID的等級。只是將多個磁碟空間合併成一個大的邏輯磁碟,不具有錯誤備援機制。資料的存放機制是由第一顆磁碟開始依序往後存放,即作業系統看到的是一個大磁碟(由許多小磁碟組成)。但如果磁碟損毀,則該顆硬碟上的所有資料將無法救回。若第一顆硬碟損壞,通常無法作救援(因大部分檔案系統將檔案表存在磁碟前端,即第一顆),失去檔案表即失去一切資料。

的RAID分成了不同的等級,每種等級都有其理論上的優缺點。這些年來,出現了對於RAID觀念不同的應用。

RAID 0

 

將多個磁碟合併成一個大的磁碟,不具有冗餘,並列I/O, 速度最快。RAID 0亦稱為帶區集。它是將多個磁碟並列起來,成為一個大磁碟。在存放資料時,其將資料按磁碟的個數來進行分段,然後同時將這些資料寫進這些盤中。 所以,在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗餘功能,如果一個磁碟(實體)損壞,則所有的資料都會丟失。
理論上越多的磁碟效能就等於[單一磁碟效能]x[磁碟數],但實際上受限於匯流排I/O 瓶頸及其它因素的影響,RAID 效能會隨邊際遞減,也就是說,假設一個磁碟的效能是50MB/秒,兩個磁碟的RAID 0效能約96MB/秒,三個磁碟的RAID 0也許是130MB/秒而不是150MB/秒。所以,兩個磁碟的RAID 0最能明顯感受到效能的提升。
\begin{align}Size & = 2 \times \min \left(S_1, S_2\right)\end{align}
但如果是以軟體方式來實作RAID,則磁碟的空間則不見得受限於此(例如Linux Software RAID),透過軟體實作可以經由不同的組合而善用所有的磁碟空間。

RAID 1

 

兩組以上的N個磁碟相互作映像, 在一些多執行緒作業系統中能有很好的讀取速度,另外寫入速度有微小的降低。除非擁有相同資料的主磁碟與鏡像同時損壞,否則只要一個磁碟正常即可維持運作, 可靠性最高。RAID 1就是映像。其原理為在主硬碟上存放資料的同時也在映像硬碟上寫一樣的資料。當主硬碟(實體)損壞時,映像硬碟則代替主硬碟的工作。因為有映像硬碟做資料 備份,所以RAID 1的資料安全性在所有的RAID級別上來說是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID上磁碟利用率最低的一個級別。
\begin{align}Size & = \min \left(S_1, S_2\right)\end{align}

RAID 2

這是RAID 0的改良版,以漢明碼(Hamming Code)的方式將資料進行編碼後分割為獨立的位元,並將資料分別寫入硬碟中。因為在資料中加入了錯誤修正碼(ECC,Error Correction Code),所以資料整體的容量會比原始資料大一些,RAID2最少要三台磁碟機方能運作。

RAID 3

 

採用Bit-interleaving(資料交錯儲存)技術,它需要透過編碼再將資料位元分割後分別存在硬碟中,而將同位元檢查後單獨存在一個硬碟 中,但由於資料內的位元分散在不同的硬碟上,因此就算要讀取一小段資料資料都可能需要所有的硬碟進行工作,所以這種規格比較適於讀取大量資料時使用。

RAID 4

 

它與RAID 3不同的是它在分割時是以區塊為單位分別存在硬碟中,但每次的資料存取都必須從同位元檢查的那個硬碟中取出對應的同位元資料進行核對,由於過於頻繁的使用,所以對硬碟的損耗可能會提高。(Block interleaving)

RAID 5

 

RAID Level 5 是一種儲存性能、資料安全和儲存成本兼顧的儲存解決方案。它使用的是Disk Striping(硬碟分割)技術。RAID 5 至少需要三顆硬碟, RAID 5不對儲存的資料進行備份,而是把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟 上。當RAID5的一個磁碟資料發生損壞後,利用剩下的資料和相應的奇偶校驗資訊去恢復被損壞的資料。 RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供資料安全保障,但保障程度要比鏡像低 而磁碟空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的資料讀取速度,只是多了一個奇偶校驗資訊,寫入資料的速度相當的慢,若使用「回寫快取」可以讓效能改善不少。同時由於多個資料對應一個奇偶校驗 資訊,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較便宜。
\begin{align}Size & = (N - 1) \times \min \left(S_1, S_2, \dots, S_N\right)\end{align}

RAID 6

 

與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,即使兩塊磁碟同時失效也不會影響資料的使用。但RAID 6需要分配給奇偶校驗資訊更大的磁碟空間,相對於RAID 5有更大的「寫損失」,因此「寫性能」非常差。較差的性能和複雜的實作方式使得RAID 6很少得到實際應用。
同一陣列中最多容許兩個磁碟損壞。更換新磁碟後,資料將會重新算出並寫入新的磁碟中。依照設計理論,RAID 6必須具備四個以上的磁碟才能生效。

RAID 7

RAID 7並非公開的RAID標準,而是Storage Computer Corporation的專利硬體產品名稱,RAID 7是以RAID 3及RAID 4為基礎所開發,但是經過強化以解決原來的一些限制。另外,在實作中使用大量的快取記憶體以及用以實作非同步陣列管理的專用即時處理器,使得RAID 7可以同時處理大量的IO要求,所以效能甚至超越了許多其他RAID標準的實作產品。但也因為如此,在價格方面非常的高昂。

RAID 10/01

RAID 10/01其實可細分為RAID 1+0或RAID 0+1。
RAID 1+0是先鏡射再分割資料。是將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。RAID 1+0有著不錯的讀取速度,而且擁有比RAID 0更高的資料保護性。
RAID 0+1則是跟RAID 1+0的程式相反,是先分割再將資料鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。RAID 0+1比起RAID 1+0有著更快的讀寫速度,不過也多了一些會讓整個硬碟組停止運轉的機率;因為只要同一組的硬碟全部損毀,RAID 0+1就會停止運作,而RAID 1+0則可以在犧牲RAID 0的優勢下正常運作。
RAID 10巧妙的利用了RAID 0的速度以及RAID 1的保護兩種特性,不過它的缺點是需要的硬碟數較多,因為至少必須擁有四個以上的偶數硬碟才能使用。

RAID 50

RAID50也被稱為鏡象陣列條帶,由至少六塊硬碟組成,像RAID0一樣,資料被分割成條帶,在同一時間內向多塊磁碟寫入;像RAID5一樣,也是以資料的校驗位來保證資料的安全,且校驗條帶均勻分布在各個磁碟上。其目的在於提高RAID5的讀寫性能。

RAID 53

它擁有一個鏡射條帶陣列,硬碟裡其中一個條帶就是一個是由3組以上的RAID 5組成RAID 3硬碟陣列。

應用

RAID2、3、4較少實際應用,因為RAID5已經涵蓋了所需的功能,因此RAID2、3、4大多只在研究領域有實作,而實際應用上則以RAID5或RAID6為主。
RAID4有應用在某些商用機器上,像是NetApp公司設計的NAS系統就是使用RAID4的設計概念

<資料來源:wiki>

2010年7月22日 星期四

硬碟構造

硬碟Hard Disk Drive,簡稱HDD)是電腦上使用堅硬的旋轉碟片為基礎的非揮發性(non-volatile)儲存裝置。它在平整的磁性表面儲存和檢索數位資料。資訊透過離磁性表面很近的寫頭,由電磁流來改變極性方式被電磁流寫到磁碟上。資訊可以透過相反的方式回讀,例如磁場導致線圈中電力的改變或讀頭經過它的上方。早期的硬碟儲存媒介是可替換的,不過今日典型的硬碟是固定的儲存媒介,被封在硬碟裡 (除了一個過濾孔,用來平衡空氣壓力)。
硬碟是高科技、高精密產業,集電子半導體、雷射光學、精密機械、高等物理化學等科 技。目前PC上很多週邊產品在很多國家均可製造,唯獨CPU和硬碟只有美商有能力製造(日商已逐年退出)可見製造難度。硬碟因其產業結構龐大涉及尖端科 技,所以美國原廠對硬碟技嚴格,一般是無法輕易取得關鍵技術。

硬碟的儲存原理是將資料用其控制電路透過硬碟讀寫頭(Read Write Head )去改變磁片上表面上極細微的磁蕊的正負極性 ( ﹢﹣)來加以儲存,所以這幾片磁片就相當重要。

而 磁片為儲存更多的資料,則須將磁蕊製作的愈細愈小(類似相機底片的感光顆粒),再Coating(濺鍍)到磁片表面上,密度相當高,而硬碟讀寫頭為了能在 磁片表面高速來回移動讀取資料,則需漂浮在磁片表面不可接觸,但太高讀取訊號會太弱,無法達到高容量要求,所以需盡可能壓低,其飛行高度(Flying Height)約為0.5 uin (可比喻成一架大型747客機其飛行高度須保持在1Inch而不可墜毀)所以磁片表面上須相當光滑平整,任何異物、塵埃均會造成硬碟讀寫頭打傷磁面(限於 髮徑的1%以下)而造成硬碟資料永久性傷害。所以硬碟的裝配修復全程需在Class 100高潔淨度的Clean Room (無塵室)內進行。


硬碟大致分為,磁片Media、讀寫頭Read WriteHead、馬達Spindle Motor & Voice Coil Motor、底座Base、電路板PCBA等幾大項組合而成。


Media 的基板是金屬或玻璃材質製成,為達到高密度高穩定的品質,基板要求表面光滑平整,不可有任何暇疵,然後再將磁粉Coating 濺鍍到基板表面上,最後再塗上保護潤滑層。此處有2項高科技,一為如何製造出不含雜質極細微的磁粉;二為如何將磁粉均勻的Coating上去。
以3.5” Media計算,其內徑為25mm,需扣掉最外及最內圈不儲存Data的部分,實際只剩20mm,如換算成60GB Media以Bit為單位(1個Bit記錄0或1,8Bit只可記錄一個字元如A、B或C…。事實上不是以Bit為單位,在此為求簡單易懂,故以Bit形 容)



Media每面粗計密度為﹕32,901,120,000 Bit,可見其密度相當高,所以Media不可有任何污染,全程製造均需在Class 100高潔淨度的Clean Room內,這也是硬碟機要求需在Clean Room才能拆解的原因。

Media出廠時,是完全空白無任何訊號存在,需交由各硬碟廠組裝時自行編碼。

Head 是由上、下多片讀寫頭固定在同一組Arm上,來回移動時是整組Arm一起移動,一般讀寫原理是,例如﹕當10MB Data進來時,第1個Head先寫4096 Byte(視規格各異),第2Head寫4096 Byte,依此類推,呈垂直讀寫,所以1 支檔案是被分成很多段存在各磁面上,讀取時也是同理,如此多磁頭同時讀寫可達到高速要求,但現在又有更先進的科技出現。

Arm 因需高速來回移動,不可抖動,並精準移至原位址,各Head垂直度不可有分毫誤差(限於頭髮的0.001 ﹪寬度)所以Head、Media均不可鬆動或偏角,否則會無法定軌。目前科技尚無法將誤差的Head或Media調整回原址,因需以3D立體來看X、Y 點及各Head的垂直點外,還需顧及外徑與內徑的公差,這也是硬碟怕碰撞的原因,更不可能去更換Head。

Spindle Motor上裝有1至多片Media,以7,200或10,000 RPM 定速旋轉,為保持其Balance不可抖動,所以其Bearing(分滾珠、液態)品質要求嚴謹,需能忍受24 H x 365 Days持續運轉而不磨損、不產生高溫噪音。

硬碟組裝時,是依序將Spindle Motor、Media、Voice Coil Motor、Head裝上固定後,先測試各Head在其所處Media的FlyHeight值,是否合格﹖(約為0.5 u in)

因 為Head是利用氣流漂浮在Media上不接觸的原理,才可在各軌間高速來回移動,但太高讀取訊號太弱,太低會磨損到Media表面,所以 Media表面上須相當光滑平整,任何異物、塵埃均會使得Head打傷磁面而造成Data永久性傷害。所以硬碟的裝配修復全程需在高潔淨度的Clean Room (無塵室)內進行。此項安裝作業需用雷射儀器完成無法使用人工。

各大元件裝畢後,此時Media因尚無任何Sector存在, 硬碟還無法使用,需經各廠依其規格用專用的Servo Track Writer透過其Head在Media進行一圈一圈Embedded Servo的編碼動作﹒若以60GB Media規格計每面的Sectors總數約為﹕64,260,000 Sectors但因Media是圓形,內徑較小所以所編出的Sector數量會比外徑少,這是所謂的Zone Bit Recording編碼法,這也是最困難的技術。

Embedded Servo完成後,此時硬碟已可使用,接上電腦Power On後,Head已可正常定軌,BIOS已可Detect其規格,出現Cylinder、Head、Sector等值﹒最後BIOS會將 Controller交由作業系統,只需Create New Partition及Format就可正式儲存Data。
以上基本原理介紹,讀者應可得知幾項問題需注意﹕



  • Media不可污染,所以需在Class 100高潔淨度的Clean Room拆解。





  • Head 、Media是唇齒相依,當初固定後,即用Servo Track Writer將各面Media作垂直性的Embedded Servo,就不容許再有誤差,只要稍有碰撞Head就無法定軌,所以更不可能將Head或Media拆下或裝至另一同型硬碟。





  • Media是磁性媒介,就像錄音帶只容許一種極性存在,因此只要Head有電流產生即可改變其原值,所以一台受損的硬碟只要稍有不慎,是很容易再被寫入而破壞原Data。 






  • 資料來源:伊莉論壇整理+wiki

    2010年7月13日 星期二

    關於MHDD

    相信許多使用者都有硬碟損壞的經驗,如果產品還在保固期內,當然是送回交由廠商來處理,但是萬一已經過了保固了應該怎麼辦呢?難道就直接放棄它嗎?當然不是,你可以藉由 MHDD 的幫助來讓他重獲新生。

    MHDD 是一款由俄羅斯人所開發的免費硬碟實體掃瞄維護程式,比起一般的硬碟表層掃瞄, MHDD 有相當令人激賞的掃瞄速度,讓使用者不再需要花費數個小時來除錯,只需幾十分鐘,一顆 80G 大小的硬碟就可以掃瞄完成,且 MHDD 還能夠幫使用者修復壞軌,讓使用者能夠繼續延續該硬碟的生命餘光。

    此外, MHDD 還能夠對硬碟進行低階清除的動作,讓想要賣掉硬碟的你不必擔心硬碟中的資料被接手的買家回復盜用的困擾喔!

    官方所提供的 MHDD 可分為磁片版與光碟版兩種, toget 所提供的是磁片版,如果使用者需要光碟版的話,能夠直接至官方網站上下載光碟影像檔,並且透過燒錄機燒錄成光碟後使用。

    『以上文字轉載自PChome下載

    下面就來介紹一下使用MHDD上面的注意事項吧!
    (MHDD是俄羅斯Maysoft公司出品的專業硬碟工具軟體,具有很多其他硬碟工具軟體所無法比擬的強大功能,它分為免費版和收費的完整版,本文介紹的是免費版的詳細用法。)

    1.必須注意的是這軟體只抓的到接在master位置的裝置,因此必須將硬碟接在 primary 或者 secondary 的 master 才能進行修復,而且 slave 裝置最好不要接上任何東西。

    2.修復過程為:選擇欲修復的硬碟,進行初步掃描、清除壞軌區的資料、再次掃描然後才是修復壞軌。(此動作會造成資料全部被清空,所以若您的硬碟有重要的資料千萬別進行這樣的動作!)

    3.MHDD無論以CHS還是以LBA模式,都可以讀取到128G的超大容量硬碟(可讀取的磁區範圍從512到137438953472),即使你用的是 286電腦,無需BIOS支援,也無需任何中斷支持;

    4.MHDD最好在純DOS環境下運行。

    5.MHDD可以不依賴於主板BIOS直接讀取IDE口,但要注意不要使用原裝Intel品牌主板(關於這點因手邊沒有這樣的板子,所以也無法實際測試)

    6.不要在要檢測的硬碟中運行MHDD。

    7.MDD在運行時需要記錄資料,因此不能在被防寫了的存儲設備中運行(比如防寫的軟碟、光碟等)。

    後面再來介紹一下有關MHDD的使用介面跟指令吧!


    <以上內容皆由網路交流取得,以供互相交流學習,若有缺失也歡迎指正>

    2010年7月8日 星期四

    純測試用

    純測試用純測試用純測試用純測試用純測試用純測試用