什么是raid 磁盤冗余陣列
這是由多塊獨立磁盤(多為硬盤)組合的一個超大容量磁盤組。
大白話的解釋 磁盤冗余陣列,就是將很多塊硬盤組合成一個整體,不同的RAID級別,可以實現不同的功能 如加速數據讀寫、如實現數據備份。
raid技術的作用
- 提高IO能力,磁盤并行讀寫 - 提高耐用性,磁盤冗余算法來實現 - 具備冗余功能,節約成本
raid級別的作用、以及區別
- raid0 最小磁盤數:2 優點:性能提升(寫入和讀取速度)。數據分別存入兩個不同的磁盤 缺點:沒有數據冗余。數據不安全 業務用途:直播,IPTV,VOD邊緣服務器 - raid1 最小磁盤數:2 優點:容錯和簡單的數據恢復。提高了讀取性能。實現了數據的備份 缺點:可用容量較低。寫入速度變慢。 業務用途:標準應用服務器,其中數據冗余和可用性很重要。 - Raid5 最小磁盤數:3 優點:容錯和IO性能提升(低于RAID 0) 缺點:由于奇偶校驗開銷導致服務器執行大量寫操作,性能降低。 理想用途:文件存儲服務器和應用服務器。 - Raid6 最小磁盤數:4 優點:比RAID 5更高的冗余。提高了讀取性能。 缺點:由于奇偶校驗開銷,服務器執行大量寫操作會降低性能。 理想用途:大型文件存儲服務器和應用服務器。 - raid10 最小磁盤數:4 優點:性能非常高。容錯。 缺點:可用容量較低/成本較高。有限的可擴展性 理想用途:高度利用的數據庫服務器/服務器執行大量寫入操作 - RAID級別的區別主要是讀寫速度的不同,以及容錯性能和搭建成本不同
raid0
至少需要兩塊磁盤 數據==條帶化==分布到磁盤,==高的讀寫性能==,100%==高存儲空間利用率== 數據==沒有冗余策略==,一塊磁盤故障,數據將無法恢復 應用場景: 對性能要求高但對數據安全性和可靠性要求不高的場景,比如音頻、視頻等的存儲
raid1
至少需要2塊磁盤 數據==鏡像備份==寫到磁盤上(工作盤和鏡像盤),==可靠性高==,磁盤利用率為50% 讀性能可以,但寫性能不佳,寫入數據要同步,因此速度很慢。 一塊磁盤故障,不會影響數據的讀寫,因為是鏡像盤,冗余性好,只要有一塊是好的,數據還是玩轉的。 RAID 1應用場景: 對數據安全可靠要求較高的場景,比如郵件系統、交易系統等。
raid10
RAID10特點: RAID10是raid1+raid0的組合 至少需要4塊磁盤 兩塊硬盤為一組先做raid1,再將做好raid1的兩組做raid0 兼顧==數據的冗余==(raid1鏡像)和==讀寫性能==(raid0數據條帶化) 磁盤利用率為50%,成本較高 只要壞的不是同一個組中,所有的硬盤,就算壞掉一半硬盤都不會丟數據。 因此raid10是最實用的方案。
總結raid級別
硬raid、軟raid區別
硬RAID使用磁盤陣列卡實現RAID功能,更穩定,不依賴于操作系統。 軟RAID使用軟件模擬RAID功能,因為功能實現依賴軟件以及操作系統,所以性能不如硬件RAID穩定
軟Raid 10實戰
(1)環境準備
添加4塊硬盤,搭建raid 10磁盤冗余陣列。
[root@mini ~]#lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 18G 0 lvm / └─centos-swap 253:1 0 1G 0 lvm [SWAP] sdd 8:48 0 10G 0 disk sde 8:64 0 10G 0 disk sdf 8:80 0 10G 0 disk sdg 8:96 0 10G 0 disk sr0 11:0 1 4.4G 0 rom # sdd sde sdf sdg為新添加磁盤
(2)安裝mdadm(實現軟RAID功能)
mdadm命令用于建設,管理和監控軟件RAID陣列
[root@lamp-241 ~]# yum install mdadm -y
(3)創建RAID10磁盤陣列
# 1. 命令說明 mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde -C表示創建RAID陣列卡 -v顯示創建過程 /dev/md0 指定raid陣列的名字 -a yes自動創建陣列設備文件 -n 4參數表示用4塊盤部署陣列 -l 10 代表指定創建raid 10級別 最后跟著四塊磁盤設備名 # 2. 創建RAID10 [root@mini ~]#mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdd /dev/sde /dev/sdf /dev/sdg mdadm: layout defaults to n2 mdadm: layout defaults to n2 mdadm: chunk size defaults to 512K mdadm: size set to 10476544K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
(4)查看RAID10信息
[root@mini ~]#fdisk -l /dev/md0 Disk /dev/md0: 21.5 GB, 21455962112 bytes, 41906176 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 524288 bytes / 1048576 bytes # 4塊盤分別為10G,總結40G,因RAID10只能利用磁盤50%的空間,所以此處顯示為21.5GB空間
(5)創建分區及文件系統
這里就不分區了 [root@lamp-241 ~]# mkfs.xfs /dev/md0 meta-data=/dev/md0 isize=512 agcount=16, agsize=654720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=10475520, imaxpct=25 = sunit=128 swidth=256 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=5120, version=2 = sectsz=512 sunit=8 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
(6)掛載分區并寫入數據
mount /dev/md0 /md0_disk/
查看掛載后的磁盤使用情況 df -h
寫入數據
[root@lamp-241 ~]# ls /yuchao-linux/ [root@lamp-241 ~]# [root@lamp-241 ~]# touch /yuchao-linux/超哥帶你學linux.txt [root@lamp-241 ~]# [root@lamp-241 ~]# ls /yuchao-linux/ 超哥帶你學linux.txt
查看raid 10信息
[root@lamp-241 ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu Mar 3 0420 2022 Raid Level : raid10 Array Size : 41908224 (39.97 GiB 42.91 GB) Used Dev Size : 20954112 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Thu Mar 3 0412 2022 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512K Consistency Policy : resync Name : lamp-241:0 (local to host lamp-241) UUID : 8b05fda8d639157c:bf00d883 Events : 21 Number Major Minor RaidDevice State 0 8 16 0 active sync set-A /dev/sdb 1 8 32 1 active sync set-B /dev/sdc 2 8 48 2 active sync set-A /dev/sdd 3 8 64 3 active sync set-B /dev/sde [root@lamp-241 ~]#
加入開機自動掛載
[root@lamp-241 ~]# tail -1 /etc/fstab /dev/md0 /yuchao-linux xfs defaults 0 0
剔除一塊硬盤
[root@lamp-241 ~]# mdadm /dev/md0 -f /dev/sdd mdadm: set /dev/sdd faulty in /dev/md0
檢查raid 10信息
[root@lamp-241 ~]# mdadm /dev/md0 -f /dev/sdd mdadm: set /dev/sdd faulty in /dev/md0 [root@lamp-241 ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu Mar 3 0420 2022 Raid Level : raid10 Array Size : 41908224 (39.97 GiB 42.91 GB) Used Dev Size : 20954112 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Thu Mar 3 0433 2022 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0 Layout : near=2 Chunk Size : 512K Consistency Policy : resync Name : lamp-241:0 (local to host lamp-241) UUID : 8b05fda8d639157c:bf00d883 Events : 23 可以看到/dev/sdd硬盤被移除了,faulty翻譯是有故障的 Number Major Minor RaidDevice State 0 8 16 0 active sync set-A /dev/sdb 1 8 32 1 active sync set-B /dev/sdc - 0 0 2 removed 3 8 64 3 active sync set-B /dev/sde 2 8 48 - faulty /dev/sdd
不影響raid 10的使用
[root@lamp-241 ~]# touch /yuchao-linux/天氣確實不錯.txt [root@lamp-241 ~]# [root@lamp-241 ~]# ls /yuchao-linux/ 天氣確實不錯.txt 超哥帶你學linux.txt
重新加入/dev/sdd硬盤
RAID10磁盤陣列,掛掉一塊硬盤并不影響使用,只需要購買新的設備,替換損壞的磁盤即可
1.先取消RAID10陣列的掛載,注意必須沒有人在使用掛載的設備 [root@lamp-241 ~]# umount /dev/md0 2.重啟機器 reboot 3.重新添加新的磁盤加入raid 10 [root@lamp-241 ~]# mdadm /dev/md0 -a /dev/sdd mdadm: added /dev/sdd [root@lamp-241 ~]# [root@lamp-241 ~]# [root@lamp-241 ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu Mar 3 0420 2022 Raid Level : raid10 Array Size : 41908224 (39.97 GiB 42.91 GB) Used Dev Size : 20954112 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Thu Mar 3 0407 2022 State : clean, degraded, recovering Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : near=2 Chunk Size : 512K Consistency Policy : resync Rebuild Status : 6% complete # 默認會有一個修復的過程,這里是進度條 Name : lamp-241:0 (local to host lamp-241) UUID : 8b05fda8d639157c:bf00d883 Events : 38 Number Major Minor RaidDevice State 0 8 16 0 active sync set-A /dev/sdb 1 8 32 1 active sync set-B /dev/sdc 4 8 48 2 spare rebuilding /dev/sdd 3 8 64 3 active sync set-B /dev/sde [root@lamp-241 ~]#
最終修復完畢
[root@lamp-241 ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu Mar 3 0420 2022 Raid Level : raid10 Array Size : 41908224 (39.97 GiB 42.91 GB) Used Dev Size : 20954112 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 4 Persistence : Superblock is persistent Update Time : Thu Mar 3 0445 2022 State : clean Active Devices : 4 Working Devices : 4 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 512K Consistency Policy : resync Name : lamp-241:0 (local to host lamp-241) UUID : 8b05fda8d639157c:bf00d883 Events : 54 Number Major Minor RaidDevice State 0 8 16 0 active sync set-A /dev/sdb 1 8 32 1 active sync set-B /dev/sdc 4 8 48 2 active sync set-A /dev/sdd 3 8 64 3 active sync set-B /dev/sde [root@lamp-241 ~]#
刪除軟件raid
1.卸載磁盤 [root@lamp-241 ~]# umount /dev/md0 2.停止raid服務 [root@lamp-241 ~]# mdadm -S /dev/md0 mdadm: stopped /dev/md0 3.卸載raid中所有硬盤 [root@lamp-241 ~]# [root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sdb [root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sdc [root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sdd [root@lamp-241 ~]# mdadm --misc --zero-superblock /dev/sde 4.刪除raid配置文件 rm -f /etc/mdadm.conf 5.刪除開機自動掛載配置 修改/etc/fstab /dev/md0 /yuchao-linux xfs defaults 0 0 #刪除 沒弄開機自啟就不用弄
或者在可以創建分區,創建文件系統
鏈接:https://www.cnblogs.com/btcm409181423/p/18008555
-
冗余
+關注
關注
1文章
112瀏覽量
20296 -
RAID
+關注
關注
0文章
279瀏覽量
35169 -
磁盤
+關注
關注
1文章
380瀏覽量
25274
原文標題:raid 磁盤冗余陣列
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論