導航:首頁 > 操作系統 > linuxraid軟體

linuxraid軟體

發布時間:2024-11-24 01:14:50

linux系統設置RAID 10,確保高性能和容錯的磁碟輸入/輸出的圖文教程

RAID 10(又叫RAID 1+0或鏡像條帶)陣列結合了RAID 0和RAID 1兩者的功能特性,從而提供了高性能、容錯的磁碟輸入/輸出操作。在RAID 0中,讀取/寫入操作跨多個驅動器並路執行;在RAID 1中,一模一樣的數據寫入到兩個或多個驅動器上。

在本教程中,我將介紹如何使用5隻相同的8 GiB磁碟,構建一個軟體RAID 10陣列。雖然用來構建RAID 10陣列的最大磁碟數量是4隻(比如一組條帶化的兩個鏡像),但我們將增添一隻額外的備用驅動器,以防其中一個主驅動器出現故障。我們還將介紹一些工具,你以後可以用來分析RAID陣列的性能。

請注意:全面深入地介紹RAID 10及其他分區方案(以及不同尺寸的驅動器和文件系統)的所有優缺點不在本文的探討范圍之內。

RAID 10陣列是如何工作的?

如果你需要實施一種支持輸入/輸出密集型操作(比如資料庫、電子郵件和網站伺服器)的存儲解決方案,RAID 10是正確的選擇。下面會介紹其中原委。不妨先看一看下圖。

鏡像1和鏡像2的條帶

設想一下某個文件由上圖中的數據塊A、B、C、D和E組成。每個RAID 1鏡像集(比如鏡像1或鏡像2)將數據塊復制到兩個設備中的每一個。由於這種配置,寫入性能有所下降,因為每個數據塊都要寫入兩次,每隻磁碟各寫入一次,而相比從單只讀盤讀取數據,讀取性能依然沒有變化。優點在於,這種方案提供了冗餘性,因為除非每個鏡像中的多隻磁碟出現故障,否則可以維持正常的磁碟輸入/輸出操作。

RAID 0條帶的工作原理是,把數據劃分成多個數據塊,並將數據塊A寫入到鏡像1,同時將數據塊B寫入到鏡像2,依次類推,因而提高了總體的讀取和寫入性能。另一方面,沒有一個鏡像含有向主集提交的任何一部分數據的完整信息。這意味著,如果其中一個鏡像出現故障,整個RAID 0組件(以及因而RAID 10集)就無法操作,數據出現無法恢復的丟失。

構建RAID 10陣列

RAID 10陣列有兩種可能的構建方案:復雜方案(只要一步就能構建),或嵌套方案(構建方法是,先構建兩個或多個RAID 1陣列,然後把它們用作RAID 0中的組件設備)。在本教程中,我們將介紹構建復雜的RAID 10陣列,原因在於這種陣列讓我們可以使用數量為奇數或偶數的磁碟,並且可以作為單一RAID設備來加以管理,而不是介紹嵌套方案(只允許數量為偶數的驅動器,必須作為嵌套設備來加以管理, RAID 1和RAID 0分開來處理)。

假設你已安裝了mdadm,該後台程序在你的系統上運行。想了解詳細內容,請參閱這篇教程:http://xmolo.com/create-software-raid1-array-mdadm-linux.html。另外假設已在每隻磁碟上創建了主分區sd[bcdef]1。因而,ls -l /dev | grep sd[bcdef]的輸出應該是這樣:

接下來使用下面這個命令,構建一個RAID 10陣列:

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[bcde]1 --spare-devices=1 /dev/sdf1

該陣列構建完畢後(構建過程應該用不了幾分鍾),# mdadm --detail /dev/md0的輸出應該是這樣:

在我們繼續下一步之前有幾點需要予以說明。

1. Used Dev Space表明了陣列所使用的每個成員設備的容量。

2. Array Size是指陣列的總大小。就RAID 10陣列而言,這相當於(N*C)/M,其中N是指活動設備的數量,C是指活動設備的容量,M則指每個鏡像中的設備數量。所以在這里,(N*C)/M相當於(4*8GiB)/2 = 16GiB。

3. Layout指數據布局的具體細節。可能的布局值如下所示。

•n(默認選項):意味著 near拷貝。一個數據塊的多個拷貝在不同的設備中處於相似的偏移(offset)。這種布局提供的讀取和寫入性能與RAID 0陣列的性能相似。

•o表明offset拷貝。不是數據段在條帶裡面復制,而是整個條帶被復制,但由一個設備輪轉,那樣重復數據塊分布在不同的設備上。因而,隨後的數據塊拷貝在下一個驅動器中,下移一個數據段。想讓你的RAID 10陣列使用這種布局,將--layout=o2添加到用來構建陣列的命令。

•f 表明far拷貝(偏移全然不同的多個拷貝)。這種布局提供了較好的讀取性能,卻提供了較差的寫入性能。因而,這種方案最適合需要支持的讀取操作比寫入操作多得多的系統。想讓你的RAID 10陣列使用這種布局,將--layout=f2添加到用來構建陣列的命令。

--layout選項中n、f和o後面所跟的數字表明了所需的每個數據塊的副本數量。默認值是2,但它可以是磁碟中設備數量的2倍數。通過提供數量足夠的副本,你就能盡量減少單個驅動器的輸入/輸出影響。

4. Chunk Size,按照Linux RAID維基,數據段大小(chunk size)指寫入到設備的最小單位的數據。最優化的數據段大小取決於輸入/輸出操作的速度以及相關文件的大小。如果寫入大文件,只要確保數據段相當大,有望看到較低的開銷,而主要存儲小文件的陣列有望更加得益於較小的數據段。想為你的RAID 10陣列指定某個數據段大小,將--chunk=desired_chunk_size添加到用來構建陣列的命令。

遺憾的是,沒有一應俱全的方法可以提升性能。下面是值得考慮的幾個指導准則。

•文件系統:總的來說,XFS據說是最好的文件系統,而EXT4仍然是個不錯的選擇。

•最佳化布局:far布局提升了讀取性能,但降低了寫入性能。

•副本數量:更多的副本盡量減小了輸入/輸出影響,但需要更多的磁碟時也增加了成本。

•硬體:固態硬碟比傳統的旋轉磁碟更有可能顯示性能提升的優點(在同一環境下)。

使用DD測試RAID性能

下列基準測試可以用來核查我們的RAID 10陣列(/dev/md0)的性能。

1. 寫入操作

256MB大小的單個文件被寫入到設備上:

# dd if=/dev/zero of=/dev/md0 bs=256M count=1 oflag=dsync

512位元組被寫入1000次:

# dd if=/dev/zero of=/dev/md0 bs=512 count=1000 oflag=dsync

由於dsync標記,dd繞過系統文件緩存,執行同步寫入到RAID陣列的操作。這個選項用來消除RAID性能測試期間的緩存效應。

2. 讀取操作

256KiB*15000(3.9 GB)從陣列拷貝到/dev/null:

# dd if=/dev/md0 of=/dev/null bs=256K count=15000

使用Iozone測試RAID性能

Iozone(http://www.iozone.org)是一種文件系統基準測試工具,讓我們可以測量的眾多磁碟輸入/輸出操作,包括隨機讀取/寫入、順序讀取/寫入和重新讀取/重新寫入。它可以將結果導出到微軟Excel或LibreOffice Calc文件。

將Iozone安裝到CentOS/RHEL 7上

啟用Repoforge軟體庫,然後執行下列命令:

# yum install iozone

將Iozone安裝到Debian 7上

# aptitude install iozone3

下面這個iozone命令將在RAID-10陣列中執行所有測試:

# iozone -Ra /dev/md0 -b /tmp/md0.xls

•-R:生成與Excel兼容的報告,並發送到標准輸出設備。

•-a:在全自動模式下運行iozone,涵蓋所有測試和可能的記錄/文件大小。記錄大小:4k至16M,文件大小:64k至512M。

•-b /tmp/md0.xls:將測試結果存儲在某個指定的文件。

但願本文有所幫助。如果您對於提升RAID 10的性能方面有何想法或高招,歡迎交流。謝謝閱讀,希望能幫到大家,請繼續關注,我們會努力分享更多優秀的文章。

英文:http://xmolo.com/setup-raid10-linux.html

② 【Linux】raid管理工具-mdadm-raid0管理

mdadm介紹

mdadm是Linux下用於創建和管理軟體RAID的命令。它是一個模式化命令,提供了多種參數來實現不同功能。

mdadm命令參數

-C 建立一個新陣列

-A 激活磁碟陣列

-a 添加設備到陣列

-D 列印陣列設備詳細信息

-s 掃描配置文件或者/proc/mdstat,得到陣列缺失信息

-v 顯示詳細信息

-r 移除設備

-f 將設備狀態定為故障

-l 設定磁碟陣列的級別

-n 指定磁碟陣列的成員(分區/磁碟的數量)

-x 指定陣列中備用磁碟的數量

實戰raid 0

新增兩塊硬碟

通過使用fdisk命令對新增硬碟進行分區操作,然後使用mdadm命令創建RAID 0陣列。

創建raid0

將配置信息保存起來

對RAID 0陣列創建分區

格式化分區並掛載

設置開機自動掛載

通過編輯/etc/fstab文件,實現開機自動掛載。

③ 在Linux系統上如何查看映射的硬raid磁碟空間信息呢

參考這個軟體raid:只能通過Linux系統本身來查看《Linux就該這么學》有Linux命令大全
cat /proc/mdstat
可以看到raid級別,狀態等信息。
硬體raid: 最佳的辦法是通過已安裝的raid廠商的管理工具來查看,有cmdline,也有圖形界面。如Adaptec公司的硬體卡就可以通過下面的命令進行查看:
# /usr/dpt/raitil -L all
可以看到非常詳細的信息。
當然更多情況是沒有安裝相應的管理工具,只能依靠Linux本身的話一般我知道的是兩種方式:
# dmesg |grep -i raid
# cat /proc/scsi/scsi
顯示的信息差不多,raid的廠商,型號,級別,但無法查看各塊硬碟的信息。
另外經過實際測試,Dell的伺服器可以通過命令來顯示,而HP、IBM等的伺服器通過上面的命令是顯示不出的。只能夠通過裝硬體廠商的管理工具來查看DELL的BMC可以查看。
cat /proc/scsi/scsi
可以看到是SCSI上的設備。一般情況可以看到RAID級別。lspci可以看到RAID卡的型號。

④ linux怎麼檢查有無raid

1、軟體raid:只能通過Linux系統本身來查看

cat /proc/mdstat

可以看到raid級別,狀態等信息。

2、硬體raid: 最佳的辦法是通過已安裝的raid廠商的管理工具來查看,有cmdline,也有圖形界面。如Adaptec公司的硬體卡就可以通過下面的命令進行查看:

# /usr/dpt/raitil -L all

可以看到非常詳細的信息。

閱讀全文

與linuxraid軟體相關的資料

熱點內容
單片機帶的比較器 瀏覽:391
程序員都是精英 瀏覽:17
10種編程語言 瀏覽:747
綿陽學駕駛手機上下什麼app 瀏覽:126
python如何模擬網頁操作 瀏覽:40
單片機多文件編譯方法 瀏覽:838
不動產壓縮時間 瀏覽:569
租房管理平台源碼 瀏覽:65
復樂園pdf 瀏覽:455
程序員找到公交車 瀏覽:695
嬰兒寶寶操有什麼APP推薦 瀏覽:71
如何將資料庫附加到伺服器上 瀏覽:391
php退出循環 瀏覽:479
夢幻西遊怎麼修改伺服器人數上限 瀏覽:330
自動開啟命令 瀏覽:845
查詢雲伺服器訪問的ip 瀏覽:836
智能app的弱點是什麼 瀏覽:410
php實現的n 瀏覽:544
Python寫出特效 瀏覽:976
加密的zip壓縮包修復 瀏覽:415