亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

開源系統應用RAID保護企業數據安全
2012-04-12   linuxeden

數據安全是中小型企業信息安全工作的重中之重,企業數據的可用性、安全性成為工作的焦點問題。在保護企業數據的過程中,磁盤陣列技術(也稱為RAID(Redundant Array of Inexpensive Disks))目前已經廣泛的用于中小型企業,或做磁盤的容錯和備份,或用作構建SAN存儲等等,是保證數據安全的一項重要技術。并且,RAID的門類非常多,企業在如何選擇合適的磁盤陣列的問題上需要做好決策。本文將選取RAID1、RAID-5這兩種磁盤陣列的創建過程來介紹開源系統Linux下硬件磁盤陣列的使用。

一、了解磁盤陣列

RAID按照實現原理的不同分為不同的級別,不同的級別之間工作模式是有區別的,分別可以提供不同的速度,安全性和性價比。在業界,常見的幾種RAID如下所示:

RAID0:又稱為Stripe或Striping(條帶),它代表了所有RAID級別中最高的存儲性能。RAID0提高存儲性能的原理是把連續的數據分散到多個磁盤上存取,這樣,系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求。這種數據上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。

RAID1:RAID1通過數據鏡像實現數據冗余,在兩對分離的磁盤上產生互為備份的數據。RAID1可以提高讀的性能,當原始數據繁忙時,可直接從鏡像拷貝中讀取數據。RAID1是磁盤陣列中費用最高的,但提供了最高的數據可用率。當一個磁盤失效,系統可以自動地交換到鏡像磁盤上,而不需要重組失效的數據。

RAID2:從概念上講,RAID2同RAID3類似,兩者都是將數據條塊化分布于不同的硬盤上,條塊單位為位或字節。然而RAID2使用稱為“加重平均糾錯碼”的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID2技術實施更復雜。因此,在商業環境中很少使用。

RAID3:不同于RAID2,RAID3使用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據。如果奇偶盤失效,則不影響數據使用。RAID3對于大量的連續數據可提供很好的傳輸率,但對于隨機數據,奇偶盤會成為寫操作的瓶頸。

RAID4:同RAID2、RAID3一樣,RAID4也同樣將數據條塊化并分布于不同的磁盤上,但條塊單位為塊或記錄。RAID4使用一塊磁盤作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,成為寫操作的瓶頸。

RAID5:RAID5沒有單獨指定的奇偶盤,而是交叉地存取數據及奇偶校驗信息于所有磁盤上。在RAID5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID5更適合于小數據塊,隨機讀寫的數據。RAID3與RAID5相比,重要的區別在于RAID3每進行一次數據傳輸,需涉及到所有的陣列盤。而對于RAID5來說,大部分數據傳輸只對一塊磁盤操作,可進行并行操作。在RAID5中有“寫損失”現象發生,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。它可能是目前世界上最常見的RAID產品,最適合于事務性處理應用,如ERP、CRM和E-mail等。

RAID6:RAID6與RAID5相比,增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高。即使兩塊磁盤同時失效,也不會影響數據的使用。但需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID5有更大的“寫損失”。RAID6的寫性能非常差,較差的性能和復雜的實施,以及實現代價非常昂貴,使得RAID6很少使用。

RAID7:它有一個實時嵌入操作系統用作控制器,一個高速總線用于緩存。它提供快速的I/O,但是價格昂貴,應用性稍差。

RAID10:它由數據條陣列組成,其中每個條都是驅動器的一個RAID1陣列。它與RAID1的容錯能力相同,面向需要高性能和冗余,但不需要高容量的數據庫服務器。

RAID53:其實施情況同RAID0數據條陣列,其中,每一段都是一個RAID3陣列。它的冗余與容錯能力同RAID3。這對需要具有高數據傳輸率的RAID3配置的IT系統有益,但是它價格昂貴、效率偏低。

二、根據具體情況使用磁盤陣列

表1對各類RAID產品的優缺點進行了詳細說明,用戶可以在實際的應用中選擇使用:

表1 各類RAID產品比較

開源系統應用RAID保護企業數據安全

值得注意的是:上述介紹的0,1,2等RAID類型并不代表技術的高低(比如RAID2并沒有商業產品,相對于RAID1說較差),而只代表不同的技術型號。所以在實際應用中選擇某種RAID產品需要根據應用環境和資金等情況而定。

實現RAID可以采用兩種方法,硬RAID和軟RAID:

硬RAID:采用專門的控制器來完成,也就是常說的RAID卡;通過磁盤陣列控制卡(RAID Controller Card)提供磁盤陣列的功能。要使用硬件的磁盤陣列,必須采購支持Linux的磁盤陣列控制卡,一般需要正確安裝驅動程序,才能讓Linux系統正常使用設備。

軟RAID:采用軟件的方法來實現。用戶無須安裝額外的硬設備,只要保證Linux內核有支持,就可以直接使用。

由于硬件磁盤陣列的功能是由磁盤陣列控制卡提供計算工作的,因而效率大大高于由Linux內核的軟件磁盤陣列;但硬件磁盤陣列得購買額外的設備,因此其使用成本比軟件磁盤陣列高得多。過去RAID一直是高端服務器才應用的設備,與高檔SCSI硬盤配合使用。SCSI RAID穩定性好、速度快,但SCSI硬盤和SCSI接口RAID卡價格高昂,往往只在高檔服務器上使用。近來隨著技術的發展和產品成本的不斷下降,IDE硬盤和SATA硬盤的性能都有了很大提升,加之RAID芯片的普及,使得RAID技術也廣泛應用到了IDE硬盤和SATA硬盤上。

 

三、開源系統Linux下構建磁盤陣列的具體方法

目前,Linux能夠較好地支持RAID0、RAID1、RAID4、RAID5這四種磁盤陣列模式。在4種模式中,RAID4和RAID5運行方式較為接近。

1.創建RAID1磁盤陣列

RAID1磁盤陣列的基本工作方式是通過數據鏡像實現數據冗余,在兩對分離的磁盤上產生互為備份的數據,也就是說每一塊磁盤所存儲的數據是完全相同的。所以,要創建RAID1磁盤陣列,至少需要2塊硬盤,每一塊硬盤最好大小一致。這是因為每一個硬盤存儲相同的數據,因此有一個硬盤比其他的容量大時,磁盤陣列也無法使用多出來的硬盤空間。本例采用2個硬盤的分區(hda1和hdb1)來創建RAID1類型磁盤陣列。

基本步驟如下:

1)編輯磁盤陣列的配置文件/etc/raidtab如下:

raiddev /dev/md0

raid-level 1

nr-raid-disks 2

nr-spare-disks 0

chunk-size 4

persistent-superblock 1

device /dev/hda1

raid-disk 0

device /dev/sdb1

raid-disk 1

上述文件中每項的含義如下所示:

raiddev:指定磁盤陣列的設備名稱;

raid-level:指定采用的RAID模式,例中為RAID1;

nr-raid-disks:指定磁盤陣列的硬盤個數,例中RAID為2個硬盤組成;

nr-spare-disks:指定磁盤陣列備用磁盤數目,例中為0;

chunk-size:指定數據寫入磁盤陣列時,每個寫入區塊的大小,其單位為KB,且大小必須為2的冪次方。一般說來,此設置值的大小會影響磁盤陣列的讀寫效率,不過理想的設置值,則隨著計算機的使用情況而異,所以并無絕對的結果;

persistent-superblock:配置是否要寫入磁盤的超級塊(superblock),配置成“1”表示寫入,配置“0”不寫入;

device /dev/hda1:根據實際情況,指定第一個硬盤分區的名稱,此處第一個硬盤分區為hda1;

raid-disk 0:配置上述的分區是此磁盤陣列所使用的第一個硬盤,編號從0開始;

device /dev/hdb1:同上,按實際情況,指定第二塊硬盤分區的名稱;

raid-disk 1:配置上述的分區是此磁盤陣列所使用的第一個硬盤,編號為1。

2)格式化并加載磁盤陣列,命令如下所示:

//建立磁盤

#mkraid /dev/md0

//使用ext3文件系統格式化

#mke3fs /dev/md0

//將md0磁盤陣列加載到目錄/mnt/md0下

#mount -t ext3 /dev/md0 mnt/md0

3)啟動磁盤陣列

#raidstart /dev/md0

4)使用過程中查看磁盤陣列的使用狀態

#more /proc/mdstat

5)停止和卸載磁盤陣列

//首先停止磁盤陣列

#raidstop /dev/md0

//然后卸下裝載的磁盤陣列

#umount /dev/md0

6)刪除磁盤陣列:首先使用第5)步停止磁盤陣列,然后刪除/etc/raidtab文檔即可。

2.創建RAID5磁盤陣列

上面介紹了RAID0的創建方式,下面介紹如何創建RAID5磁盤陣列。有了上面的基礎后,對于RAID5的創建也就不那么困難了。簡單地說,RAID5是在RAID0和RAI1中取得折衷,既具備容錯能力,也不會浪費太多硬盤空間,并有助于提高磁盤的I/O性能。由于RAID5需要存儲同位校驗碼,因此要創建此模式的磁盤陣列,至少需要3塊或以上的硬盤。因此,本例以hda、hdb、hdc三塊磁盤的分區(hda1、hdb1和hdc1)來組成RAID5磁盤。當然,也可以指定三塊磁盤的其他分區,這個可以根據實際磁盤分區的使用情況選定,并不是固定的。

基本操作步驟如下:

1)編輯磁盤陣列的配置文件/etc/raidtab如下:

raiddev /dev/md0

raid-level 5

nr-raid-disks 3

nr-spare-disks 0

chunk-size 32

persistent-superblock 1

parity-algorithm left-symmetric

device /dev/hda1

raid-disk 0

device /dev/hdb1

raid-disk 1

device /dev/hdc1

raid-disk 2

同理,上述文件中每項的含義如下所示:

raiddev:指定磁盤陣列名稱;

raid-level:指定使用的RAID5磁盤陣列;

nr-raid-disks:此磁盤陣列由3個硬盤所組成;

nr-spare-disks :指定/此磁盤陣列的備用硬盤數目;

chunk-size:當數據要寫入磁盤陣列時,每個寫入的大小(單位為KB,且必須為2的冪次方)。此設置值的大小,會影響磁盤陣列的讀寫效率,不過理想的設置值,則按每臺計算機的使用情況而異,并無絕對的結果;

persistent-superblock:設置是否要寫入磁盤的superblock:設成1表示寫入,否則設成0。若將此參數設成1,則當磁盤陣列中有硬盤損壞時,系統仍可繼續啟動;若有備用硬盤,也會同時啟用備用硬盤;

parity-algorithm:指定要用哪一種算法計算同位校驗嗎,可使用的算法有left-symmetric、left-asymmetric、right-symmetric及right-asymmetric等4種。一般采用left-symmetric能有最好的存取效率;

device /dev/hda1:指定所有使用的第1個硬盤分區名稱;

raid-disk 0:設置上述的分區是此磁盤陣列所使用的第1個硬盤(編號由0開始);

device /dev/hdb1:指定所要使用的第2個硬盤分區名稱;

raid-disk 1:設置上述的分區是此磁盤陣列所使用的第2個硬盤;

device /dev/hdc1 :指定所要使用的第3個硬盤分區名稱;

raid-disk 2:設置上述的分區是此磁盤陣列所使用的第3個硬盤。

2)格式化并加載磁盤陣列,命令如下所示:

//建立磁盤

#mkraid /dev/md0

//使用ext3文件系統格式化

#mke3fs /dev/md0

//將md0磁盤陣列加載到目錄/mnt/md0下

#mount -t ext3 /dev/md0 mnt/md0

3)啟動磁盤陣列

#raidstart /dev/md0

4)使用過程中查看磁盤陣列的使用狀態

#more /proc/mdstat

5)停止和卸載磁盤陣列

//首先停止磁盤陣列

#raidstop /dev/md0

//然后卸下裝載的磁盤陣列

#umount /dev/md0

6)刪除磁盤陣列:首先使用第5)步停止磁盤陣列,然后刪除/etc/raidtab文檔即可。

熱詞搜索:

上一篇:紅帽的開源情結:將創新和奉獻進行到底
下一篇:如何有效監控單位局域網、管理員工上網行為

分享到: 收藏