0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux下軟RAID實現(xiàn)方案

Linux愛好者 ? 來源:未知 ? 作者:胡薇 ? 2018-06-28 16:13 ? 次閱讀

一.應(yīng)用場景

Raid大家都知道是冗余磁盤的意思(Redundant Arrays of Independent Disks,RAID),可以按業(yè)務(wù)系統(tǒng)的需要提供高可用性和冗余性,目前市面上比較常見的是通過服務(wù)器的raid陣列卡來實現(xiàn)此功能。

通過硬件陣列卡實現(xiàn)raid具有可靠性高,性能好等特點,但是對于一般的企業(yè)而言硬件陣列卡固然好,如果大規(guī)模應(yīng)用的話動輒幾千上萬的費用也不是他們所能承受的,難道就沒有既能保證數(shù)據(jù)安全,又能減少費用支持的IT方案嗎?

當(dāng)然有,軟raid就可以實現(xiàn)這一需求。

二.實現(xiàn)步驟

軟raid比較依賴操作系統(tǒng),所以他的劣勢也顯而易見,需要占用系統(tǒng)資源(主要是CPU資源)。目前在Linux和windows下軟raid都比較常見了,Linux是通過mdadm實現(xiàn)的,windows下則在win2003之后通過磁盤管理來實現(xiàn)。

實驗環(huán)境:

一臺centos 7.2 VM,主機名分別為host1,host1上掛載兩塊50G的數(shù)據(jù)盤,我們的實驗就在這兩塊數(shù)據(jù)盤上完成。

P.S:需要強調(diào)的是生產(chǎn)環(huán)境下兩塊組raid的硬盤必須是同品牌同型號同容量的,否則極容易出現(xiàn)軟raid失效的情況。

1.確認操作系統(tǒng)是否安裝了mdadm軟件

[root@host1 ~]# rpm -qa |grep mdadm

mdadm-3.3.2-7.el7.x86_64

2.對兩塊數(shù)據(jù)盤進行分區(qū),并設(shè)置分區(qū)類型為raid

fdisk命令只能對容量在2T以下的硬盤進行分區(qū),如果超過2T則需要使用parted工具了。Parted命令以后會介紹使用方法,本節(jié)不贅述了。

在fdisk下raid的分區(qū)類型代碼是fd,在parted工具下首先需要使用mklabel將磁盤格式由MBR改成GPT,然后才能使用mkpart命令進行分區(qū),分完區(qū)之后使用set設(shè)置分區(qū)flag為raid即可。

3.使用mdadm命令創(chuàng)建raid1

可以看到創(chuàng)建時有個Note的提示,是說軟raid不能當(dāng)啟動設(shè)備,這就是軟raid比較雞肋的地方了。

mdadm-C/dev/md0-ayes-l1-n2/dev/xvd[b,c]1

命令說明:

-C--create創(chuàng)建陣列;

-a--auto同意創(chuàng)建設(shè)備,如不加此參數(shù)時必須先使用mknod命令來創(chuàng)建一個RAID設(shè)備,不過推薦使用-a yes參數(shù)一次性創(chuàng)建;

-l--level陣列模式,支持的陣列模式有linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;

-n--raid-devices陣列中活動磁盤的數(shù)目,該數(shù)目加上備用磁盤的數(shù)目應(yīng)該等于陣列中總的磁盤數(shù)目;

/dev/md0陣列的設(shè)備名稱,如果還有其他陣列組可以以此類推;

創(chuàng)建完成后可以使用cat /proc/mdstat查看陣列狀態(tài):

下圖中第一次查看的時候提示resync完成了95.7%,第二次查詢的時候兩塊盤才真正同步完。

也可以使用mdadm -D /dev/md0查看陣列組的狀態(tài)

4.創(chuàng)建md0的配置文件

echo DEVICE /dev/sd{a,b}1 >> /etc/mdadm.confmdadm -Evs >> /etc/mdadm.conf

mdadm運行時會自動檢查/etc/mdadm.conf 文件并嘗試自動裝配,因此第一次配置raid后可以將信息導(dǎo)入到/etc/mdadm.conf 中。

5.使用/dev/md0

在/dev/md0上創(chuàng)建文件,然后掛載進行使用。

mkfs.ext4 /dev/md0

注意:在格式化時,可以指定-E選項下的stride參數(shù)指定條帶是塊大小的多少倍,有在一定程度上提高軟RAID性能,如塊默認大小為4k,而條帶大小默認為64k,則stride為16,這樣就避免了RAID每次存取數(shù)據(jù)時都去計算條帶大小,如:

mkfs.ext4 -E stride=16 -b 4096 /dev/md0

6.其他命令

比如組raid的陣列中有磁盤損壞,可以使用如下命令:

選項:-a(--add),-d(--del),-r(--remove),-f(--fail)

模擬損壞盤:

mdadm /dev/md1 -f /dev/sdb5

移除故障盤:

mdadm /dev/md1 -r /dev/sdb5

添加新硬盤:

mdadm /dev/md1 -a /dev/sdb7

停止陣列

mdadm -S /dev/md1

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209523
  • RAID
    +關(guān)注

    關(guān)注

    0

    文章

    278

    瀏覽量

    35098

原文標題:Linux 下軟 RAID 實現(xiàn)方案

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RAID技術(shù)全程指南

    陣列中任意一個硬盤的傳輸率,RAID 0的優(yōu)勢開始體現(xiàn)出來。對于追求高性能的用戶來說,這應(yīng)該是他們夢寐以求的。這里應(yīng)該說明的是,在Linux環(huán)境,我們同樣可以利用Raidtools工具來實現(xiàn)
    發(fā)表于 03-30 11:48

    Linux基礎(chǔ)】Linux鏈接簡介

      一、Linux鏈接簡介  Linux鏈接(symbolic link)又叫符號連接,相當(dāng)于Windows的快捷方式?! ?/div>
    發(fā)表于 09-20 15:50

    詳解Linux RAID

    RAID(Redundant Array of Inexpensive Disks)稱為廉價磁盤冗余陣列。RAID的基本想法是把多個便宜的小磁盤組合到一起,成為一個磁盤組,使性能達到或超過一個容量巨大、價格昂貴的磁盤。
    發(fā)表于 07-22 06:26

    面向嵌入式Linux系統(tǒng)的中斷設(shè)計與實現(xiàn)

    本文在分析標準Linux 內(nèi)核的中斷機制的演化以及實現(xiàn)原理的基礎(chǔ)上,提出并實現(xiàn)了一個面前嵌入式Linux 系統(tǒng)的
    發(fā)表于 08-03 11:20 ?16次下載

    L inuxiSCSI網(wǎng)絡(luò)RAID的分析與研究

    RAID 是存儲系統(tǒng)的基礎(chǔ),為了將RAID 的思想擴展到分布的網(wǎng)絡(luò)中,論文首先說明了網(wǎng)絡(luò)RAID 的概念和iSCSI 協(xié)議的工作原理,深入Linux 內(nèi)核重點深入分析和研究了
    發(fā)表于 12-25 15:32 ?14次下載

    如何實現(xiàn)硬盤的raid

    如何實現(xiàn)硬盤的raid    問:最近在升級硬盤時聽朋友說可以把兩塊硬盤做成RAID,請問RAID 是什么?要實現(xiàn)這個功能需要
    發(fā)表于 03-01 10:32 ?463次閱讀

    RAID0,RAID1和RAID5是什么意思,其原理是什么

    RAID0,RAID1和RAID5是什么意思,其原理是什么 RAID 0:無差錯控制的帶區(qū)組 要實現(xiàn)R
    發(fā)表于 03-29 10:17 ?1.2w次閱讀

    利用RAID提高硬盤性能

      今天介紹利用RAID提高硬盤性能。   一、簡單認識RAID   RAID不需要
    發(fā)表于 08-20 17:06 ?782次閱讀

    Linux的網(wǎng)絡(luò)HOOK實現(xiàn)

    最近瘋狂的研究Linux的種種功能,也頗有心得,這里講述一Linux的Net的Hook,使用net的Hook可以實現(xiàn)很多很多非常底層的功
    發(fā)表于 05-14 10:27 ?5148次閱讀

    基于Linux的LCD驅(qū)動程序實現(xiàn)

    基于Linux的LCD驅(qū)動程序實現(xiàn)
    發(fā)表于 10-30 16:45 ?12次下載
    基于<b class='flag-5'>Linux</b><b class='flag-5'>下</b>的LCD驅(qū)動程序<b class='flag-5'>實現(xiàn)</b>

    Linux 2.4.x內(nèi)核中斷機制

    本文從Linux內(nèi)核幾種中斷機制相互關(guān)系和發(fā)展沿革入手,分析了這些機制的實現(xiàn)方法,給出了它們的基本用法。 中斷概況 中斷是利用硬件中斷
    發(fā)表于 11-02 11:01 ?0次下載

    RAIDRAID的區(qū)別是什么

    隨著NVMe固態(tài)硬盤的普及,RAID0距離DIY發(fā)燒友漸行漸遠。不過相信各位朋友手中還有大量SATA接口的硬盤仍在服役當(dāng)中,RAID1/5依然有不小的使用需求。我們能否利用組建RAID陣列的方式為它們提速增效?
    發(fā)表于 09-24 15:17 ?2.2w次閱讀
    硬<b class='flag-5'>RAID</b>和<b class='flag-5'>軟</b><b class='flag-5'>RAID</b>的區(qū)別是什么

    軟件RAID 5的實現(xiàn)過程詳解

    RAID 5 是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。RAID 5可以理解為是RAID 0和RAID 1的折中
    的頭像 發(fā)表于 10-29 16:39 ?279次閱讀
    軟件<b class='flag-5'>RAID</b> 5的<b class='flag-5'>實現(xiàn)</b>過程詳解

    raid 存儲方案適合哪些場景

    不同的配置級別,提供了不同的性能和冗余特性。常見的RAID級別包括RAID 0、RAID 1、RAID 5、RAID 6、
    的頭像 發(fā)表于 11-12 09:36 ?312次閱讀

    RAID 5 硬件與軟件 RAID 的區(qū)別

    RAID 5硬件RAID與軟件RAID之間存在顯著的差異,這些差異主要體現(xiàn)在實現(xiàn)方式、性能、數(shù)據(jù)安全性、靈活性以及成本等方面。 一、實現(xiàn)方式
    的頭像 發(fā)表于 12-27 18:05 ?294次閱讀