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

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

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

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

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

一.應(yīng)用場(chǎng)景

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

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

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

二.實(shí)現(xiàn)步驟

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

實(shí)驗(yàn)環(huán)境:

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

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

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

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

mdadm-3.3.2-7.el7.x86_64

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

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

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

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

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

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

命令說(shuō)明:

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

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

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

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

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

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

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

也可以使用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運(yùn)行時(shí)會(huì)自動(dòng)檢查/etc/mdadm.conf 文件并嘗試自動(dòng)裝配,因此第一次配置raid后可以將信息導(dǎo)入到/etc/mdadm.conf 中。

5.使用/dev/md0

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

mkfs.ext4 /dev/md0

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

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

6.其他命令

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

選項(xiàng):-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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208460
  • RAID
    +關(guān)注

    關(guān)注

    0

    文章

    266

    瀏覽量

    35008

原文標(biāo)題:Linux 下軟 RAID 實(shí)現(xiàn)方案

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RAID技術(shù)全程指南

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

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

      一、Linux鏈接簡(jiǎn)介  Linux鏈接(symbolic link)又叫符號(hào)連接,相當(dāng)于Windows的快捷方式。  
    發(fā)表于 09-20 15:50

    詳解Linux RAID

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

    Linux 51 匯編器的設(shè)計(jì)及實(shí)現(xiàn)

    介紹在Linux 使用lex 和yacc 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)51 匯編器的過(guò)程。包括具體設(shè)計(jì)實(shí)現(xiàn)的源碼和編譯、調(diào)試的方法。
    發(fā)表于 05-15 15:23 ?17次下載

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

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

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

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

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

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

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

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

    利用RAID提高硬盤性能

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

    Linux語(yǔ)音實(shí)時(shí)通信實(shí)現(xiàn)

    在設(shè)計(jì)嵌入式語(yǔ)音通信系統(tǒng)的過(guò)程中,提出了一種Linux 語(yǔ)音實(shí)時(shí)通信方法。利用Linux OSS 內(nèi)核驅(qū)動(dòng)實(shí)現(xiàn)了語(yǔ)音的采集和回放,基于L
    發(fā)表于 05-12 16:34 ?51次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>語(yǔ)音實(shí)時(shí)通信<b class='flag-5'>實(shí)現(xiàn)</b>

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

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

    基于Linux的LCD驅(qū)動(dòng)程序實(shí)現(xiàn)

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

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

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

    RAIDRAID的區(qū)別是什么

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

    linux51單片機(jī)開發(fā)解決方案

    linux51單片機(jī)開發(fā)解決方案
    發(fā)表于 11-23 16:36 ?14次下載
    <b class='flag-5'>linux</b><b class='flag-5'>下</b>51單片機(jī)開發(fā)解決<b class='flag-5'>方案</b>