歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 在Linux下用軟件實現RAID功能

在Linux下用軟件實現RAID功能

日期:2017/2/27 14:10:34   编辑:更多Linux
 數據安全性是人們在使用計算機中最重要的問題之一。通常情況下,人們會在服務器環境中采用硬盤鏡像技術,以達到數據的雙重備份。同樣,在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-disk    0

     device     /dev/hdd1

     raid-disk    1

  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-superblock  0

    chunk-size      8

    device        /dev/hdb1

    raid-disk       0

    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系統的性能還不錯。




    chunk-size      8

    device        /dev/hdb1

    raid-disk       0

    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系統的性能還不錯。



Copyright © Linux教程網 All Rights Reserved