Linux 下軟 RAID 實現方案

一.應用場景html

Raid你們都知道是冗餘磁盤的意思(Redundant Arrays of Independent Disks,RAID),能夠按業務系統的須要提供高可用性和冗餘性,目前市面上比較常見的是經過服務器的raid陣列卡來實現此功能。windows

經過硬件陣列卡實現raid具備可靠性高,性能好等特色,可是對於通常的企業而言硬件陣列卡當然好,若是大規模應用的話動輒幾千上萬的費用也不是他們所能承受的,難道就沒有既能保證數據安全,又能減小費用支持的IT方案嗎?centos

固然有,軟raid就能夠實現這一需求。安全

二.實現步驟服務器

軟raid比較依賴操做系統,因此他的劣勢也顯而易見,須要佔用系統資源(主要是CPU資源)。目前在Linux和windows下軟raid都比較常見了,Linux是經過mdadm實現的,windows下則在win2003以後經過磁盤管理來實現。ide

實驗環境:工具

一臺centos 7.2 VM,主機名分別爲host1,host1上掛載兩塊50G的數據盤,咱們的實驗就在這兩塊數據盤上完成。性能

P.S:須要強調的是生產環境下兩塊組raid的硬盤必須是同品牌同型號同容量的,不然極容易出現軟raid失效的狀況。ui

1.確認操做系統是否安裝了mdadm軟件spa

[root@host1 ~]# rpm -qa |grep mdadm
mdadm-3.3.2-7.el7.x86_64

2.對兩塊數據盤進行分區,並設置分區類型爲raid

fdisk命令只能對容量在2T如下的硬盤進行分區,若是超過2T則須要使用parted工具了。Parted命令之後會介紹使用方法,本節不贅述了。

在fdisk下raid的分區類型代碼是fd,在parted工具下首先須要使用mklabel將磁盤格式由MBR改爲GPT,而後才能使用mkpart命令進行分區,分完區以後使用set設置分區flag爲raid便可。

3.使用mdadm命令建立raid1

能夠看到建立時有個Note的提示,是說軟raid不能當啓動設備,這就是軟raid比較雞肋的地方了。

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

命令說明:

  • -C  --create  建立陣列;
  • -a  --auto   贊成建立設備,如不加此參數時必須先使用mknod 命令來建立一個RAID設備,不過推薦使用-a yes參數一次性建立;
  • -l  --level   陣列模式,支持的陣列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
  • -n     --raid-devices 陣列中活動磁盤的數目,該數目加上備用磁盤的數目應該等於陣列中總的磁盤數目;
  • /dev/md0    陣列的設備名稱,若是還有其餘陣列組能夠以此類推;

建立完成後可使用cat /proc/mdstat查看陣列狀態:

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

也可使用mdadm -D /dev/md0查看陣列組的狀態

4.建立md0的配置文件

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

mdadm運行時會自動檢查/etc/mdadm.conf  文件並嘗試自動裝配,所以第一次配置raid後能夠將信息導入到/etc/mdadm.conf  中。

5.使用/dev/md0

在/dev/md0上建立文件,而後掛載進行使用。

mkfs.ext4 /dev/md0

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

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
來源:helloclei
blog.chinaunix.net/uid-26252206-id-5785379.html

image

相關文章
相關標籤/搜索