Google搜查列

 

2007年9月17日 星期一

RAID V.S. BackUp

最近想說一下備份和磁碟陣列,Backup and RAID都在保護資料,為什麼都要同時做了,不能只做一種嗎?

因為我以前不太了解這兩種的差別,所以都會搞不清楚
搞懂了又沒時間記錄

先說說說RAID是什麼東西好了
RAIDRedundant Array of Independent Disks,獨立磁盤冗餘陣列;在台灣一般俗稱:磁碟陣列)

一般的使用
一般會從順序的寫入硬碟(HD)
買了一個新硬碟100G,Format成D:

在我的電腦裡顯示成一個磁碟槽

一般使用把檔案寫到D:,也就是把檔案寫入實碟硬碟中存放

這是現在大多數個人電腦裡的使用方式,如果硬硬壞了,又沒有做備份的話,那資料就沒有了,想辦法找回來吧

相信有人都試過硬碟壞掉過吧,真的想哭都哭不回來的資料…

RAID的誕生
如果是企業資料,重要性比個人資料重要多了,假設政府用來save民眾身份證資料的Server HD,萬一壞掉怎麼辦,那麼重要的資料怎麼可以流失呢,是不是用不會壞的硬碟(應該沒有不會壞的硬碟吧)

為了要保證資料的永久性保存,必須要作一些保護措施,那RAID就此誕生了
RAID有分RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6 ,也就是0~6,都是對一筆資料作鏡像寫入(Mirroring)或數據交錯存儲(interleaving)等等,來使得資料的正確性,有時還會增加I/O讀取的存取效能,先說幾個模式是最常使用的,就RAID 0 , RAID 1 , RAID 5

RAID 0 (模式0)
這個是最沒有安全性的模式,只是把2台以上的硬碟合併,使得容量變大,如右圖:


當我把2台以上的硬碟合併,實際上是多顆HD組成的,但在我的電腦裡看到的是單一個總容量為200GB的磁區,重新format就可以用200G了


這個RAID的模式是可以增加存取,看看右圖,我如果要把一個檔案寫入時,RAID 0會把檔案分成2份,各自平均的寫入2個硬碟上,這樣以前如果要花1秒鐘才寫入HD,現在只要500ms就完成了,那如果我用5個HD,那就是200ms了,同樣的,要讀取一個檔案,單個硬碟要500ms,2個就250ms了,所以I/O的速度是成個數成長的,個數愈多,寫入及讀取的時間就變短,這就是RAID 0的優點


RAID 0 那也是有缺點的,就是當你其中一個HD壞掉,在其他好的硬碟上的資料都是不完整的,就等於沒有保護資料的作用了,所以這是RAID 0的最大缺點,沒有保護作用

RAID 0 優/缺點整理
優點缺點
存儲性能快,可完整使用所有的空間(存儲成本優)沒有保護機制


RAID 1 (模式1)

這個是比較有保障的陣列,他的原理是這樣的,使用兩個一樣的硬碟,空間必須要一樣的磁區大小,當你寫入一個檔時,RAID 1 會分別把完整的檔案各自寫入兩個硬碟,也叫作鏡射(Mirror)如右圖:

這是最有保護作用的RAID陣列,不過很浪費硬碟空間,因為如果兩個硬碟各為100GB,共200GB,但可用空間為100GB,讀寫時間沒有變快,因為是同時寫入同一份資料到各個硬碟上,只是最有保障的RAID方式。


這是很但前
堤是建議要兩個硬碟必須要磁區一樣的大小,才可以使用到所有的空間,如果一大一小,就會以小空間為準則來使用,比如一個100GB,一個120GB,作RAID 1 可用空間還是100GB而已


所以RAID 1
比較注意在空間上的配置使用

RAID 1
優/缺點整理
優點缺點
資料保護安全機制
磁碟利用率最低,存取速度低


RAID 5 (模式5)
RAIS 5 是一種存儲性能、資料保護安全和存儲成本兼顧的存儲解決方案。RAID 5 至少需要三顆硬碟以上,如右圖所示:


有A,B,C三個硬碟,可用空間要用算的,公式是有N個硬碟,可用為


容量 x (N-1)


例如:有三個100GB HD,可用空間為:

100GB x (3-1)
=200GB


那少了的空間去那了呢!?

是這樣的,在一個檔案要寫入陣列時,RAID機制會把檔案分成a,b兩份,寫入a->A , b->B硬碟,而第三部份是把a和b兩部使用奇偶校驗信息,算出來的檢證檔p,p寫入C硬碟,這個p有什麼用的呢?


p這個檔案部份除了日後檢查a,b部份的正確性以外,還有"還原"作用,如果:

使用ab的部份,可以算出p部份
使用ap的部份,可以算出b部份
使用bp的部份,可以算出a部份

所以只要其中兩個部份,就可以重建第三份資料,所以在資料保護方面是非常的完整的,而且[奇偶校驗信息]不是只寫在其中一個HD上,而是均勻地分布在陣列所屬的HD上,如右圖的寫入第二檔案,他的[奇偶校驗信息]是第在另一個HD上的。

萬一現在A硬碟有壞軌,壞掉了,只要去買一個硬碟,重新裝到RAID 5 陣列中,設定RAID 卡新的硬碟,在開機後,RAID機制就會從B和C硬碟重新透過[奇偶校驗信息]算出A硬碟應該有的部份,重建還原A硬碟的資料。

當然有人會問說,那同時壞兩個硬碟怎麼辦,我想沒有人那麼倒楣吧,如果真的怕發生,那就要使用RAID 6了

RAID 5優/缺點整理
優/缺點
結合RAID 0和1 的優點
寫入資料比RAID 1快,比RAID 0慢
空間利用比RAID高,比RAID 0
磁碟空間利用率比RAID 高,比RAID低
(算是中等成本及效率)

以上三種都是最常用的RAID 陣列模式,還有RAID2,3,4,6,以下簡單的說明一下,借用WIKIedit/RAID網站的內容簡介:

RAID 2

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

RAID 3

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

RAID 4

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

RAID 6

同一陣列中容許兩個硬碟同時失效(或是當一個失效後還來不及更換便有第二個失效)後.更換新硬碟時再由另兩個正常硬碟將備份的資料建立在新的硬碟中.所以至少必須具備四或四個以上硬碟才能生效.

其實RAID還可以混合使用的,像RAID 0+1(RAID01) ,RAID 1+0(RAID 10),RAID 0+3(RAID03),RAID 5+0(RAID50)


如果對RAID陣列組合使用有興趣,可以再拜讀維基百科的Nested_RAID_levels

還有的是RAID是有分硬體式的RAID和軟體式的RAID

軟體式一般都係由作業系統支援的,不過也有 three party的軟體達成的
windows 2003就內建有Soft RAID了,請下載我之前寫過的Windows 2003-SOFTRAID.PDF

硬體,一般PC當然是以插卡為首的啦


其中有IDE介面,也有SATA介面的

當然也有RAID SERVER 主機
以RAID來保護硬碟的物理破壞,不受到因物理硬碟壞掉而使資料流失,不過,為什麼還要每天,或每幾小時BackUp呢?

BackUp(備份)
在一般的家庭當然也有在做備份啦,或許你自己不知道,就是燒錄光碟,那也是備份的一種
只有在非來源的地方,copy一份一模一樣的,這就是備份動作

備份是防此不必要的惡意修改,保留資料未被改變的資料型態,記錄定點的資訊
而目的就是防止資訊流失,不當修改或病毒等問題,把破壞降到最低

一般來說會似照備資料的重要性,更動的頻繁率,來決定要BackUp的時間間距
除了要決定備份的時間點外,也有分備份的方式,及備份的媒體

備份的方式一般是有5種:
1.Normal(標準)
2.Copy(複製)
3.Incremental(增量)
4.Differential(差異)
5.Daily(每日)

大多數的Backup 軟體都會有這幾個選項,比如
BrightStor ARCserve Backup產品
如果在Windows XP & 2003 執行方式 Start\All Programs\Accessories\System Tools\Backup 也可以練習這幾種方式

1.Normal(標準):也就是完整備份,在所有被選取的目錄下的檔案及資料夾都會備份下來,並清除A標記

2.Copy(複製):也就是完整備份,在所有被選取的目錄下的檔案及資料夾都會備份下來,備份所選文件,既不清除標記也不檢查A標記。

3.Incremental(增量):
備份所選且帶標記的文件,清除標記。

4.Differential(差異):備份所選且帶標記的文件,不清除標記。

5.Daily(每日):每日備份那些有改變的文件,既不檢查也不清除標記。

標記也就是有沒有備份的標誌,在WINDWOS NT系統下,如果使用NTFS的硬碟磁碟格式,在檢示 下選 詳細資料


應該就會有看到標記項,A或R的
如果該檔案被標A,就是未備份項目,或有變更又未備份


這是檔案的屬性,Buckup程式就是依照這個記錄來備份的

備份的
媒體,也就有我們都知道的硬碟,光碟機&光碟,磁帶機&磁帶

前兩項應該不用怎麼介紹了,而磁帶機比較貴,不是每個個人使用者都可以買得上手的

而業介最常使用磁帶備份了,為什麼呢?
因為以磁帶的成本容量比是最好的,容量大,價格便宜

但磁帶是因為是順序讀取和寫入的,不能隨機讀取寫入

又因為是順序讀寫,機械動作多,讀取寫入的速度也慢
,所以只適合拿來當備份用媒體,替代不了硬碟的

磁帶機也有分很種,DAT 72, DDS-4, DDS-3,容量和格式磁帶也不太相同,購買時要註意才好

有一些磁帶機也有支援硬體壓縮技術,可以在寫入時同時作壓縮動作,但解壓縮時也會慢,這一點也要考慮進去喔


備份時間
一般如果資訊量不多,都建議每天一次完整備份
星期一:完整備份
星期二:完整備份
星期三:完整備份
星期四:完整備份
星期五:完整備份
星期六:完整備份
星期日:完整備份

一天一卷磁帶,看要保留多久,如果要保留一個月的話,以31天為單位最少使用31卷在輪流備份
如果使用7天作單位,可使用28或35卷作輪流單位

需要救回那一天的資料時,只要那一天的磁帶就可以回覆資料了


資料量太多變動不大的話,可以作以下排程,星期二~日都為差異備份,可以省下一些磁帶
星期一:完整備份
星期二:差異
星期三:差異
星期四:差異
星期五:差異
星期六:差異
星期日:差異

但當你要救回星期三的資料時,必須要上一次完整備份到要救回那一天的所有磁帶
也就是星期一完整備份 ,星期二差異備份 ,星期三差異備份的三卷磁帶都需要,才可以還原


資料量太多變動大的話,可以作以下排程
星期一:完整備份
星期二:差異
星期三:完整備份
星期四:差異
星期五:完整備份
星期六:差異
星期日:完整備份

以上就是RAID和Backup的相關介紹了,大家可以試試實作一下

沒有留言:

Google Analytics