新聞中心
raid1是指一份數(shù)據(jù)存在多塊硬盤(pán)上,這樣當(dāng)需要這份數(shù)據(jù)時(shí),就可以同時(shí)在多塊硬盤(pán)上讀取,比只在一塊硬盤(pán)上讀取的速度快,吞吐高,下面為大家詳細(xì)講解一下Linux下搭建raid1磁盤(pán)陣列具體方法。

系統(tǒng)信息
Centos8
RAID磁盤(pán):
| Device | Size |
|---|---|
| /dev/sda | 20GB |
| /dev/sdb | 20GB |
| /dev/sdc | 20GB |
| /dev/sdd | 20GB |
安裝mdadm
[root@localhost ~]# yum -y install mdadm
創(chuàng)建RAID 1陣列
首先給/dev/sd[a-d]這四個(gè)磁盤(pán)分區(qū),每個(gè)磁盤(pán)的第一個(gè)分區(qū)給2G的空間來(lái)做RAID 1陣列,這里就不演示分區(qū)過(guò)程了。 下面創(chuàng)建RAID 1:
[root@localhost ~]# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
上面的參數(shù)解釋?zhuān)?/p>
-
--create / -C創(chuàng)建一個(gè)新的陣列
-
--level= / -l指定RAID的級(jí)別,目前支持raid0,1,4,5,6,10
-
--raid-devices= / -n指定磁盤(pán)的數(shù)量
需要要檢查RAID配置的話,請(qǐng)執(zhí)行以下命令:
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda1[0]
2094080 blocks super 1.2 [2/2] [UU]
unused devices:
RAID配置不是永久性的,并且在計(jì)算機(jī)重新啟動(dòng)后會(huì)丟失。我們必須創(chuàng)建一個(gè)配置文件并在其中添加RAID相關(guān)信息:
[root@localhost ~]# mdadm --detail --scan > /etc/mdadm.conf
將創(chuàng)建好的/dev/md0設(shè)備格式化為XFS文件系統(tǒng),并掛載:
[root@localhost ~]# mkdir /data
[root@localhost ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=4, agsize=130880 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=523520, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/md0 /data/
將掛載條目寫(xiě)入/etc/fstab使其開(kāi)機(jī)自動(dòng)掛載:
[root@localhost ~]# blkid|grep md0
/dev/md0: UUID="ccdef7f5-2b39-4fa1-96cd-e3c0dbbc32d9" TYPE="xfs"
[root@localhost ~]# echo 'UUID="ccdef7f5-2b39-4fa1-96cd-e3c0dbbc32d9" /data xfs defaults 0 0' >> /etc/fstab
下面測(cè)試一下RAID 1陣列,在/data文件夾中寫(xiě)入文件測(cè)試:
[root@localhost data]# dd if=/dev/zero of=/data/test.img bs=1M count=600
600+0 records in
600+0 records out
629145600 bytes (629 MB, 600 MiB) copied, 1.92519 s, 327 MB/s
重啟一下系統(tǒng),檢查一下RAID陣列是否自動(dòng)掛載:
# reboot
啟用、停用RAID陣列
使用mdadm -S/--stop來(lái)停止陣列。使用mdadm -A/--assemble來(lái)啟動(dòng)陣列:
[root@localhost ~]# umount /data
[root@localhost ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm --assemble /dev/md0
mdadm: /dev/md0 has been started with 2 drives.
為陣列添加磁盤(pán)
現(xiàn)在,讓我們?cè)诂F(xiàn)有陣列中再添加一個(gè)磁盤(pán)/dev/sdc,使用下面命令添加到陣列里:
[root@localhost ~]# mdadm --manage /dev/md0 --add /dev/sdc1
mdadm: added /dev/sdc1
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Mar 11 21:51:38 2021
Raid Level : raid1
Array Size : 2094080 (2045.00 MiB 2144.34 MB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Fri Mar 12 11:28:37 2021
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : 428966f1:c78ce423:e3559739:a8c6048e
Events : 20
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 - spare /dev/sdc1
可以看到新添加的硬盤(pán)狀態(tài)為備用盤(pán)。如果活動(dòng)磁盤(pán)發(fā)生故障,該磁盤(pán)將自動(dòng)變?yōu)榛顒?dòng)磁盤(pán)。
下面將RAID 1陣列里面的硬盤(pán)擴(kuò)充到三個(gè),并且三個(gè)硬盤(pán)都是活動(dòng)狀態(tài),意思就是將/dev/sdc1從熱備狀態(tài)轉(zhuǎn)換為激活狀態(tài):
[root@localhost ~]# mdadm --grow /dev/md0 --raid-devices=3
raid_disks for /dev/md0 set to 3
[root@localhost ~]# mdadm -D /dev/md0
可以看到上面兩張圖片中活動(dòng)設(shè)備由2個(gè)變成3個(gè)。熱備狀態(tài)轉(zhuǎn)變?yōu)榛顒?dòng)同步狀態(tài)?,F(xiàn)在這個(gè)raid1陣列就是三個(gè)磁盤(pán)了。
從陣列中移除磁盤(pán)
現(xiàn)在,磁盤(pán)陣列中有三個(gè)活動(dòng)的磁盤(pán)運(yùn)行在RAID 1。讓我們刪除磁盤(pán)/dev/sdc1并用新的/dev/sdd1磁盤(pán)替換它。下面先模擬/dev/sdc1故障狀態(tài):
[root@localhost ~]# mdadm --manage /dev/md0 --fail /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
可看到/dev/sdc1已變成故障狀態(tài)了。下面從md0中將/dev/sdc1移除:
[root@localhost ~]# mdadm --manage /dev/md0 --remove /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md0
[root@localhost ~]# cat /proc/mdstat
[root@localhost ~]# mdadm -D /dev/md0
下面將/dev/sdd1磁盤(pán)添加到該陣列中,添加完成之后一定要更新一下/etc/mdadm.conf配置文件。
[root@localhost ~]# mdadm --manage /dev/md0 --add /dev/sdd1
mdadm: added /dev/sdd1
[root@localhost ~]# cat /proc/mdstat
[root@localhost ~]# mdadm -D /dev/md0
[root@localhost ~]# mdadm --detail --scan > /etc/mdadm.conf
mdadm 參數(shù)解釋?zhuān)?/p>
-
--manage管理陣列
-
--detail / -D打印md設(shè)備的詳細(xì)信息
-
--scan / -s這個(gè)參數(shù)結(jié)合-D參數(shù)使用,獲取md設(shè)備列表。
-
--stop / -S停止一個(gè)陣列
-
--assemble / -A激活已存在的陣列
-
--add / -a向陣列里添加磁盤(pán)
-
--remove / -r在陣列里刪除磁盤(pán)
-
--fail / -f模擬某個(gè)磁盤(pán)故障
-
--grow / -G更改陣列的大小,活動(dòng)磁盤(pán)數(shù)量
刪除RAID配置
下面命令將刪除RAID 1的配置:
[root@localhost ~]# umount /data
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# rm -rf /etc/mdadm.conf
然后將/etc/fstab中的掛載條目刪除掉。
下面將這四塊硬盤(pán)刪除raid signature簽名信息,使用--zero-superblock選項(xiàng)將設(shè)備中包含有效的md超級(jí)塊時(shí),則使用覆蓋塊。
[root@localhost ~]# mdadm --zero-superblock /dev/sd[a-d]1
名稱(chēng)欄目:Linux下搭建RAID1磁盤(pán)陣列
網(wǎng)頁(yè)路徑:http://fisionsoft.com.cn/article/cochoij.html


咨詢(xún)
建站咨詢(xún)
