在Linux下用軟體實現RAID功能

來源:互聯網
上載者:User


資料安全性是人們在使用電腦中最重要的問題之一。通常情況下,人們會在伺服器環境中採用硬碟鏡像技術,以達到資料的雙重備份。同樣,在Linux環境下,我們也可以採用這種技術。

在Linux環境下,採用Raidtools工具,不僅可以將兩個硬碟進行鏡像,還可以製作軟RAID0、RAID1、RAID5。說是軟RAID,是因為通常情況下,RAID盤是通過專用的RAID卡進行的,而在Linux環境下,可以利用Raidtools軟體實現RAID功能,所以稱為軟RAID。本文介紹根據不同的Linux版本,建立並使用RAID盤的幾種方法。

一、較早的Linux版本

自行下載並編譯Raidtools軟體包,較早版本的Raidtools軟體包名為md,現在已正式更名為Raidtools。:中國自由軟體庫。

如果你已經從網上下載了Raidtools-0.41.tar.gz軟體包,解壓後,自行編譯,步驟如下:

$gunzip -d raidtools-0.41.tar.gz

$tar -xvf raidtools-0.4.1.tar

在使用Raidtools之前,首先要知道目前正在使用的核心是否支援md。如果你正在使用的核心是2.0.X,並且不是自己編譯過的話,大多數情況下是支援軟RAID的。如果不能確定,則應自己編譯核心。在配置時,應選擇對md的支援。確定了正在使用的核心支援RAID後,編譯Raidtools軟體包如下:

$cd raidtools-0.41

$./configure

$make

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

單擊OK按鈕,完成安裝。

在使用Raidtools前,還需確定要使用的RAID的種類。目前使用Raidtools可以作RAID0、RAID1、RAID5。由於只有兩塊硬碟而無法使用RAID5,除了RAID5外,還可以選擇作Linear模式或RAID0。筆者選擇了作RAID0。以下為製作過程。

1.建立RAID盤

(1)關機,將兩塊小硬碟分別加到第一個IDE控制器的Slave介面上及第二個IDE控制器的Slave介面上(筆者這台機器上的CD-ROM接在第二個IDE控制器的Master上)。

(2)加電啟動系統,以Root登入,運行以下命令對硬碟進行分區:

#fdisk /dev/hdb

將全部硬碟劃分成一個主要磁碟分割,建立一個/dev/hdb1分區。

#fdisk /dev/hdd

同樣,將全部硬碟劃分成一個主要磁碟分割,建立一個/dev/hdd1分區。

(3)之後:

#/sbin/mdcreate raid0 -c4k /dev/md0 /dev/hdb1 /dev/hdd1

當然,為了提高訪問速度,你可以將硬碟進行比較細緻的劃分,儘可能將分區合理分布在不同的硬碟上。然後,再用Mdcreate將它們組合成一個mdx(x:1,2,3)。

2.使用RAID0盤

(1)啟動建立立的RAID盤:

#/sbin/mdadd -ar

(2)查看/proc/mdstats檔案的內容,以檢查RAID0的狀態。

#cat /proc/mdstats

系統顯示:

personalities : [1 linear] [2 raid0]

read—ahead not 8092 sectors

md0 : active raid0 hdb1 hdd1 xxxx

blocks 8k chunks

md1 : inactive

md2 : inactive

md3 : inactive

這表示,建立的RAID0已經可以正常運行了。

為了使用新RAID盤,還應在新盤上建立新的檔案系統,建立過程如下:

#mke2fs /dev/md0##註:在新的存放裝置上建立Ext2檔案系統

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

#mount /dev/md0 /opt ##註:/opt為筆者在根分區建的一個Mount點

若有必要,也可以用Raidtools建立RAID5,以提高資料的可靠性。

3.自動執行RAID0的設定

將RAID0的載入及檔案系統的加掛全加入到Init.sysinit檔案中,這樣,只要系統一啟動,首先就執行RAID,使用者就不必再手工安裝了。

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

/sbin/mdrun -ar

mount /dev/md0 /opt

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

二、較近的Linux版本

如果你安裝的Linux版本較新,其中已經帶有Raidtools工具,那麼,就不必再下載軟體並自己編譯了。使用時可以這樣處理:

1.建立一個檔案/etc/raidtab(以製作RAID0為例),檔案內容如下:

raiddev /dev/md0

raid-level 0

nr-raid-disks 2

persistent-superblock 1

chunk-size 4

device /dev/hdb1

raid-disk0

device /dev/hdd1

raid-disk1

2.運行以下命令:

#mkraid /dev/md0

這樣就可以產生一個新的裝置:

/dev/md0。

啟用軟RAID方法:

#raidstart /dev/md0

其餘操作同上。

如果你正在使用的Linux系統版本很新,可能以上兩種情況都不適合你,那麼,你可以採用第三種方法使用軟RAID。

三、最新的Linux版本

筆者的一台PC上安裝了Red Hat Linux 6.1,自行編譯Raidtools0.42、0.50beta2時,先是找不到所要的標頭檔,將所需標頭檔複製後,編譯仍然通不過。原來,由於新的版本採用了一系列新的函數,情況稍有一點不同。不過,新的版本中,提供了Raidtools,在/sbin目錄中,有Raidtools的一系列工具,其中有Mkraid、Raid0run、Raidstop、Raidstart等一組工具。如果你想自己編譯,可以從中國自由軟體庫中尋找到最新版為0.9的Raidtools,自行編譯0.9版的Raidtools,編譯正常通過。

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

1.建立檔案/etc/raidtab,檔案內容如下:

raiddev /dev/md0

raid-level 0

nr-raid-disks 2

persistent-superblock0

chunk-size8

device /dev/hdb1

raid-disk0

device /dev/hdd1

raid-disk 1

2.產生軟RAID裝置,運行以下命令:

# mkraid -c /etc/raidtab /dev/md0

之後,運行以下命令,以查看目前RAID的運行狀態:

[root@rh61 /proc]# cat mdstat

如果系統顯示如下:

Personalities : [raid0]

read—ahead 1024 sectors

md0 : active raid0 hdd1[1] hdb1[0] 2202416 blocks 8k chunks

unused devices:

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

3.建立新的檔案系統

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

[root@rh61 /sbin]# mkfs.ext2 /dev/md0

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

[root@rh61 /sbin]# mount -t ext2 /dev/md0 /opt

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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.