有關Linux用軟體實現RAID的方法

資料的安全性是人們在使用計算機中最重要的問題之一。通常情況下,人們會在伺服器環境中採用硬碟映象技術,以達到資料的雙重備份。同樣在Linux環境下,我們可以採用這種技術。在Linux環境下,我們可以採用Raidtool工具,不僅可以將兩個硬碟進行映象。還可以製作軟RAID0、RAID4、 &nbspRAID5。說是軟RAID,是因為通常情況下,RAID盤是通過專用的RAID卡進行的。而在Linux環境下,我們可以利用軟體 raidtool達到RAID功能。

有關Linux用軟體實現RAID的方法

所以稱為軟RAID。建立並使用RAID盤有以下幾種方法:

第一種方法:

自行下載並編譯raidtools軟體包,較早版本的raidtool軟體包名為md,現在已正式更名為raidtool。下載地址:

中國自由軟體庫,通過搜尋引擎查詢下載。

如果你已經從網上下載了軟體包。解開後,自行編譯,步驟如下:

$gunzip&nbsp-d&

$tar&nbsp-xvf&

在使用raidtools之前,首先要知道目前正在使用的核心是否支援md。如果你正在使用的核心是2.0.x,並且不是

自己編譯過的話,大多數情況下是支援軟RAID的。如果不能確定,則應自己編譯核心。在配置時,應選擇對md的支援。

確定了正在使用的核心支援RAID。則編譯raidtools軟體包如下:

$cd&nbspraidtools-0.41

$./configure

$&nbspmake

$make&nbspinstall##make&nbspinstall在/dev下產生md0-md3共4個裝置

OK,安裝完成。

在使用raidtool前,首先決定自己要使用的RAID的種類。目前使用raidtool可以作RAID0,RAID1,RAID5。

由於只有兩塊硬碟而無法使用RAID5,除了RAID5外,還可以選擇作linear模式或RAID0。筆者選擇了作RAID0。

以下為製作過程:

首先,關機,將兩塊小硬碟分別加到第一個IDE控制器的slave介面上。將第二塊硬碟接到第二個IDE控制器上的slave

介面上(筆者這臺機器上的CDROM接在第二個IDE控制器的master上)。

加電啟動系統,以root登入,執行以下命令對硬碟進行分割槽:

#fdisk/dev/hdb

將全部硬碟劃分給一個主分割槽,建立一個/dev/hdb1分割槽。

#fdisk/dev/hdd

同樣將全部硬碟劃分給一個主分割槽,建立一個/dev/hdd1分割槽。

之後:

#/sbin/mdcreate&nbspraid0&nbsp-c4k/dev/md0/dev/hdb1/dev/hdd1

當然,為了提高訪問速度,你可以將硬碟進行比較細緻的劃分,儘可能將分割槽合理分佈在不同的硬碟上。然後再用

mdcreate將它們組合成一個mdx(x:1,2,3)

為了使用新建立的RAID裝置,首先應啟動它:

#/sbin/mdadd&nbsp-ar

之後,檢視/proc/mdstats檔案的內容,以檢查RAID0的狀態。

#cat/proc/mdstats

系統顯示:

personalities:

read_ahead&nbspnot&nbsp8092&nbspsectors

md0:&nbspactive&nbspraid0&nbsphdb1&nbsphdd1&nbspxxxx&nbspblocks&nbsp8k&nbspchunks

md1:inactive

md2:inactive

md3:inactive

這表示,新建的RAID0已經可以正常運行了。為了使用新RAID盤,還應在新盤上建立新的檔案系統,建立過程如下:

#mke2fs/dev/md0##注:在新的儲存裝置上建立ext2檔案系統

建立了新的檔案系統,再將它mount到根下的某個目錄上,就可以正式使用了。安裝方法如下:

最後,將RAID0的載入及檔案系統的加掛全加入到nit檔案中,這樣,只要系統一啟動,首先就執行RAID,

使用者就不必再手工安裝了。

使用者應將以下兩個命令加入到it檔案中。

/sbin/mdrun&nbsp-ar

mount/dev/md0/opt

當然,如果你不覺得麻煩,也可以手工執行以上命令,以手動方式啟動軟RAID盤。

第二種方式:如果你安裝的Linux發行版較新,其中已經帶有raidtool工具,那麼就不必再下載軟體並自己編譯了。

使用時可以這樣處理:

首先建立一個檔案/etc/raidtab(以製作raid0為例),檔案內容如下:

raiddev/dev/md0

raid-level&nbsp0

nr-raid-disks&nbsp2

persistent-superblock&nbsp1

chunk-size&nbsp4

device/dev/hdb1

raid-disk&nbsp0

device/dev/hdd1

raid-disk&nbsp1

然後,執行以下命令:

#mkraid/dev/md0

這樣就可以生成一個新的裝置:/dev/md0。

啟用軟raid方法:

#raidstart/dev/md0

其餘操作同上。

如果你正在使用的發行版很新,可能以下兩種情況都不不適用於你,那麼,你可以採用以下方式使用軟RAID。

筆者的一臺PC上安裝了Red&nbsphat&nbspLinux6.1,自行編譯raidtool0.42,0.50beta2時,先是找不到所要的頭

檔案,經筆者將所需標頭檔案複製後,編譯仍然通不過。原來,由於新的發行版採用了一系列新的函式,情況稍有

一點不同。不過,新的發行版中,提供了raidtools,在/sbin目錄中,有raidtools的一系列工具,其中有

mkraid,raid0run,raidstop,raidstart等一組工具。如果你想自己編譯,可以從中國自由軟體庫中查詢到

了最新版為0.9的raidtool。自行編譯了0.9版的raidtool。編譯正常通過。

新版的raidtool稍有一點不同,筆者使用系統自帶的raidtool,製作軟RAID方法如下:

1、首先建立檔案/etc/raidtab,2、檔案內容如下:

raiddev/dev/md0

raid-level&nbsp0

nr-raid-disks&nbsp2

persistent-superblock&nbsp0

chunk-size&nbsp8

device/dev/hdb1

raid-disk&nbsp0

device/dev/hdd1

raid-disk&nbsp1

3、生成軟raid裝置4、,5、執行以下命令:

#&nbspmkraid&nbsp-c/etc/raidtab/dev/md0

之後,執行以下命令,以檢視目前RAID的執行狀態。

#&nbspcat&nbspmdstat

如果系統顯示如下:

Personalities:

read_ahead&nbsp1024&nbspsectors

md0:&nbspactive&nbspraid0&nbsphdd1&nbsphdb1&nbsp2202416&nbspblocks&nbsp8k&nbspchunks

unused&nbspdevices:

表示,你的RAID0已正常運行了。

3、建立新的檔案系統

現在,為了使用新生的`裝置,我們應在新的RAID盤上建ext2檔案系統,建立新的檔案系統的命令如下:

#&2/dev/md0

經過大約兩三分鐘,新的檔案系統正確生成。現在就可以開始使用它了。使用方法如下:

#&nbspmount&nbsp-t&nbspext2/dev/md0/opt

將/dev/md0裝置加掛(mount)到/opt安裝點上。

#mount/dev/md0/opt##注:/opt為筆者在根分割槽建的一個mount點

當然,如果有必要的話,你還可以用raidtools建立raid5。以提高資料的可靠性。

此後,筆者在此軟RAID盤上安裝了Sybase&,經過測試,發現整個RAID0系統的效能還不錯。

最後,在使用Raidtools時應注意:採用raidtool製作軟RAID,最好不要在一塊硬碟上分多個分割槽,再將這

些分割槽同raidtool製作成RAID。因為這樣做不但不會提高硬碟的訪問速度,反而會降低整修系統的效能。要

使用軟RAID盤,最好是將一個硬碟分成多個分割槽,再將不同硬碟的分割槽製作成軟RAID盤。再有,使用者最好不

要將/usr目錄放置到RAID盤上。如果RAID盤出錯,那你可就完了。系統的交換分割槽最好也不要放到RAID盤上,

儘管有人認為這樣可以提高訪問速度,但是,筆者擔心,萬一你在使用系統時,交換分割槽上有交換了很多系統時,

這時忽然RAID盤出錯了,那可就完了