linux命令建raid linux系統(tǒng)raid配置

[Linux實(shí)用命令]-9-磁盤陣列(RAID)實(shí)例詳解

這篇文章介紹幾種常用的磁盤陣列技術(shù)(Raid0、Raid1、Raid4、Raid5、Raid10、Raid01),演示如何在CentOS7環(huán)境下使用mdadm命令去創(chuàng)建和維護(hù)磁盤陣列;RAID又稱“廉價(jià)磁盤冗余陣列”,可以使用硬件和軟件兩種方式來實(shí)現(xiàn),硬件RAID可以參考購買硬件時(shí)附帶的參考手冊,設(shè)置方法與軟件RAID有差異;現(xiàn)如今軟件RAID大多用作研究和熟悉RAID的工作方式。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了浙江免費(fèi)建站歡迎大家使用!

Raid有"廉價(jià)磁盤冗余陣列"的意思,就是利用多塊廉價(jià)的硬盤組成磁盤組,讓數(shù)據(jù)分部儲(chǔ)存在這些硬盤里面,從而達(dá)到讀取和寫入加速的目的;也可以用作數(shù)據(jù)的冗余,當(dāng)某塊硬盤損毀后,其他硬盤可以通過冗余數(shù)據(jù)計(jì)算出損壞磁盤的數(shù)據(jù),這樣就提高了數(shù)據(jù)儲(chǔ)存的安全性。

Raid0數(shù)據(jù)儲(chǔ)存方法如下(假設(shè)有兩塊硬盤D1、D2):

特點(diǎn):數(shù)據(jù)被并行寫入每個(gè)磁盤,每個(gè)磁盤都保存了完整數(shù)據(jù)的一部分,讀取也采用并行方式,磁盤數(shù)量越多,讀取和寫入速度越快。因?yàn)闆]有冗余,一個(gè)硬盤壞掉全部數(shù)據(jù)丟失。至少兩塊硬盤才能組成Raid0陣列。

容量:所有硬盤之和。

Raid1數(shù)據(jù)儲(chǔ)存方法如下(假設(shè)有兩塊硬盤D1、D2):

特點(diǎn):有數(shù)據(jù)冗余,可靠性強(qiáng),D1、D2被寫入相同的數(shù)據(jù),其中D2可以作為D1的完整備份。讀取時(shí),從兩塊硬盤上并行讀取,寫入慢,讀取快。任何一塊硬盤壞掉不會(huì)丟失數(shù)據(jù),至少兩塊硬盤并且兩塊硬盤大小相等才能組成Raid1陣列。

容量:所有硬盤容量之和的一半(一半寫數(shù)據(jù),一半用來做備份)。

Raid4數(shù)據(jù)儲(chǔ)存方法如下(假設(shè)有三塊硬盤D1、D2、D3):

特點(diǎn):有數(shù)據(jù)冗余校驗(yàn),可靠性強(qiáng)。其中任何一塊硬盤壞掉都不會(huì)引起數(shù)據(jù)丟失,D1丟失時(shí),D3根據(jù)校驗(yàn)和以及D2的數(shù)據(jù)進(jìn)行逆運(yùn)算,計(jì)算出D1的數(shù)據(jù)。但當(dāng)寫入大量數(shù)據(jù)時(shí)校驗(yàn)盤D3會(huì)是一個(gè)數(shù)據(jù)瓶頸,導(dǎo)致寫入慢。只有當(dāng)兩塊磁盤同時(shí)丟失時(shí),數(shù)據(jù)才無法恢復(fù)。至少三塊硬盤并且磁盤大小應(yīng)該相等才能組成Raid4陣列(不常用)。

容量:所有硬盤容量之和減去其中一塊硬盤的容量。

Raid5數(shù)據(jù)儲(chǔ)存方法如下(假設(shè)有三塊硬盤D1、D2、D3):

特點(diǎn):采用奇偶校驗(yàn),可靠性強(qiáng),磁盤校驗(yàn)和被散列到不同的磁盤里面,增加了讀寫速率。只有當(dāng)兩塊磁盤同時(shí)丟失時(shí),數(shù)據(jù)才無法恢復(fù),至少三塊硬盤并且硬盤大小應(yīng)該相等才能組成Raid5陣列。

容量:所有硬盤容量之和減去其中一塊硬盤的容量,被減去的容量被分配到三塊硬盤的不同區(qū)域用來存放數(shù)據(jù)校驗(yàn)信息。

Raid10(Raid1+Raid0)是現(xiàn)在比較常用的一種磁盤陣列級別,它的容錯(cuò)好,讀寫數(shù)據(jù)效率較高,但經(jīng)費(fèi)相對也較高。

Raid10數(shù)據(jù)儲(chǔ)存方法如下(假設(shè)有四塊硬盤D1、D2、D3、D4):

特點(diǎn):備份和并發(fā)式存取數(shù)據(jù),可靠性強(qiáng)。D1、D2組成一個(gè)陣列Raid1,其中D1是數(shù)據(jù)盤,D2是備份盤;D3、D4也組成一個(gè)Raid1,其中D3是數(shù)據(jù)盤,D4是備份盤;在這個(gè)基礎(chǔ)上將D1、D2作為一個(gè)整體,將D3、D4也作為一個(gè)整體,這兩個(gè)整體之間再組成一個(gè)Raid0陣列。這樣不僅僅讀取數(shù)據(jù)會(huì)非常快,并發(fā)寫入的速度也會(huì)隨著磁盤的增多而變快。至少四塊硬盤并且每塊硬盤大小應(yīng)該相等才能組成Raid10陣列。

容量:所有硬盤容量之和的一半(一半寫數(shù)據(jù),一半用來備份數(shù)據(jù))。

Raid01數(shù)據(jù)儲(chǔ)存方法如下(假設(shè)有四塊硬盤D1、D2、D3、D4):

特點(diǎn):D1、D2組成一個(gè)陣列Raid0,D3、D4也組成一個(gè)陣列Raid0,D1、D2和D3、D4再組成一個(gè)Raid1。D1和D2作為數(shù)據(jù)盤陣列,D3和D4作為數(shù)據(jù)備份陣列,這種方式并不常用,至少四塊硬盤并且每塊硬盤大小應(yīng)該相等才能組成Raid01陣列。

容量:所有硬盤容量之和的一半。

這一部分通過Linux上的mdadm命令來實(shí)現(xiàn)Raid10磁盤陣列。

實(shí)驗(yàn)環(huán)境為一臺安裝了5塊硬盤的計(jì)算機(jī),操作系統(tǒng)是CentOS7,除系統(tǒng)所在硬盤(/dev/sda)外,其余四塊20G的硬盤盤符分別為(/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde);

主要用到的命令:mdadm;

CentOS7中mdadm默認(rèn)已安裝,如果沒有安裝,可以使用yum在線安裝,如下:

到這里,實(shí)驗(yàn)的準(zhǔn)備工作完成。

新創(chuàng)建的磁盤陣列默認(rèn)是不能開機(jī)自啟動(dòng)的,需要手動(dòng)創(chuàng)建一個(gè)配置文件,讓系統(tǒng)在啟動(dòng)的時(shí)候自動(dòng)啟動(dòng)Raid(經(jīng)過測試,CentOS7并不需要?jiǎng)?chuàng)建這個(gè)配置文件,如果重啟后磁盤陣列沒有隨機(jī)啟動(dòng),請使用下面的方法配置一次):

可以在創(chuàng)建RAID的時(shí)候指定有幾塊冗余磁盤,當(dāng)工作磁盤出現(xiàn)故障的時(shí)候,冗余磁盤自動(dòng)啟動(dòng),頂替出現(xiàn)故障的磁盤繼續(xù)工作,請看下面的實(shí)例:

下面手動(dòng)將一塊磁盤標(biāo)記為故障,看看冗余盤是否起作用:

假如/dev/sdc經(jīng)過測試后發(fā)現(xiàn)沒有問題,想要重新加入md0使用,可以在系統(tǒng)重啟后,使用"mdadm /dev/md0 -a /dev/sdc"命令將它重新(添加)啟用。

如果以后,想要加入一塊新硬盤到這個(gè)raid10里作為備份盤,這塊新硬盤需要和其他硬盤(或分區(qū))保持相同的大小,然后使用下面的命令添加:

要想徹底清除RAID以及數(shù)據(jù),請使用下面的方法:

什么是raid,如何在linux系統(tǒng)中實(shí)現(xiàn)

應(yīng)用場景

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

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

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

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

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

一臺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的硬盤必須是同品牌同型號同容量的,否則極容易出現(xiàn)軟raid失效的情況。

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

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

mdadm-3.3.2-7.el7.x86_64

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

fdisk命令只能對容量在2T以下的硬盤進(jìn)行分區(qū),如果超過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的提示,是說軟raid不能當(dāng)啟動(dòng)設(shè)備,這就是軟raid比較雞肋的地方了。

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

命令說明:

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

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

-l陣列模式;

-n陣列中活動(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.conf

mdadm?-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

如何在linux下做軟raid

在虛擬機(jī)系統(tǒng)中添加一塊10g的硬盤為sdb,將硬盤分5個(gè)邏輯盤分別是sdb{5,6,7,8,9},每個(gè)盤的大小是1G。

首先利用其中三塊硬盤sdb{5,6,7}建立raid5,sdb8為熱備盤。

然后將sdb6作為故障盤下線,之后拔出sdb6,插入新的盤sdb9。

命令如下:mdadm

-C

/dev/md0

-l5

-n3

-x1

/dev/sdb{5,6,7,8}

通過上面命令建立了使用空間為2G的raid5。盤符為/dev/md0

查看建立結(jié)果的方法有兩種:

1.

mdadm

--detail

/dev/md0

2.

cat

/proc/mdstart

常用的raid的等級有0,1,5,6,10定義等級只需修改-l()的值即可

做故障測試的命令:mdadm

--manage

/dev/md0

-f

/dev/sdb6

-r

/dev/sdb6

-a

/dev/sdb9

其中-f==--fail

-r==--remove

-a=--add。

通過掛載和編輯開機(jī)啟動(dòng)fstab文件即可實(shí)現(xiàn)長掛載,但是如果刪除建立的raid則需要卸載后用到

命令:mdadm

-S

/dev/md0

將raid停掉之后,再刪除各個(gè)磁盤。其中-S=--stop

linux 怎么查看raid做的 是幾?

1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。

2、其次,在linux命令行中輸入:cat /proc/scsi/scsi。

3、鍵盤按“回車鍵”運(yùn)行shell指令,此時(shí)會(huì)看到rain做的是1.0。

本文標(biāo)題:linux命令建raid linux系統(tǒng)raid配置
文章網(wǎng)址:http://bm7419.com/article38/ddegppp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)網(wǎng)站設(shè)計(jì)公司、微信小程序、響應(yīng)式網(wǎng)站App設(shè)計(jì)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司