1:磁盤陣列:
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構成的具有冗余能力的陣列”之意。
磁盤陣列是由很多價格較便宜的磁盤,組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提升整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。
磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數組中任意一個硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算后重新置入新硬盤中。
2:分類:
磁盤陣列其樣式有三種,一是外接式磁盤陣列柜、二是內接式磁盤陣列卡,三是利用軟件來仿真。
外接式磁盤陣列柜最常被使用大型服務器上,具可熱交換(Hot Swap)的特性,不過這類產品的價格都很貴。
內接式磁盤陣列卡,因為價格便宜,但需要較高的安裝技術,適合技術人員使用操作。硬件陣列能夠提供在線擴容、動態修改陣列級別、自動數據恢復、驅動器漫游、超高速緩沖等功能。它能提供性能、數據保護、可靠性、可用性和可管理性的解決方案。陣列卡專用的處理單元來進行操作。
利用軟件仿真的方式,是指通過網絡操作系統自身提供的磁盤管理功能將連接的普通SCSI卡上的多塊硬盤配置成邏輯盤,組成陣列。軟件陣列可以提供數據冗余功能,但是磁盤子系統的性能會有所降低,有的降低幅度還比較大,達30%左右。因此會拖累機器的速度,不適合大數據流量的服務器。
3:RAID級別:
區塊,一般chunk可設定為4k~1M之間,不同的raid會根據chunk數量來切割符合大小后并保存到不同的磁盤去.
/dev/md0 一般只有軟raid才這么表示`硬raid很可能不顯示,設定在raid卡處理
硬raid做的raid0很可能會導致容量過大的500G和100G會產生有400G無法使用.磁盤效能要最大化,磁盤大小盡量相等
raid0 帶區,并聯,分散存儲,性能好/穩定差.
raid1 鏡像,并聯,數據備份,穩定好/寫入性能弱/讀取性能好.
raid01 先帶區再鏡像
raid10 先鏡像再帶區,容錯比01好,強烈建議,并因為不需要像如raid5做數據校驗找回,讀寫性能會更好.
raid4 3個帶區,1個校驗,性能+一定安全.>=3塊硬盤 讀寫頻繁
raid5 至少3個磁盤以上,校驗分布在各個磁盤, 丟哪個根據冗余計算可恢復,奇偶校驗有性能+ 安全
spare disk 壞的磁盤馬上恢復備用硬盤
4:創建RAID5磁盤陣列
操作環境CentOS 7.3(虛擬機)
首先準備多個磁盤,最少3個,這里我們準備4個,第四個作為備份,當有磁盤壞掉后,第四塊備份的硬盤會自動頂替壞掉的硬盤修復數據。因為是做實驗磁盤大小都分區為2個G。
創建RAID5陣列:
[ root@localhost ~ ]#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,e,f}1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
//-C /dev/md0:因為是軟raid所有硬盤名為md0,虛擬機必須這樣設置,不然添加不了
// -l 5: 創建陣列為raid5
// -n 3 -x1 :3塊主硬盤,-x1:備用硬盤1塊
// /dev/sd{b,c,e,f}1: sdb1、sdc1、sde1、sdf 1:4塊磁盤
####查看硬盤信息:lsblk
[ root@localhost ~ ]#lsblk
sdb 8:16 0 50G 0 disk
└─sdb1 8:17 0 2G 0 part
sdc 8:32 0 60G 0 disk
└─sdc1 8:33 0 2G 0 part
sdd 8:48 0 80G 0 disk
sde 8:64 0 50G 0 disk
└─sde1 8:65 0 2G 0 part
sdf 8:80 0 50G 0 disk
└─sdf1 8:81 0 2G 0 part
sr0 11:0 1 1024M 0 rom
//帶有md0的都是剛剛創建的raid5陣列的磁盤
查看raid5陣列磁盤詳細信息:mdadm -D /dev/md0
[ root@localhost ~ ]#mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 20 11:25:02 2017
Raid Level : raid5
Array Size : 4190208 (4.00 GiB 4.29 GB)
Used Dev Size : 2095104 (2046.00 MiB 2145.39 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 20 11:25:10 2017
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 4
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 49% complete
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : f2998446:399a4adf:1e1b584d:a7ac7c37
Events : 8
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 65 2 spare rebuilding /dev/sde1
3 8 81 - spare /dev/sdf1
格式化raid5,創建文件系統格式并掛載使用
[ root@localhost ~ ]#mke2fs -t ext4 /dev/md0 //格式化成ext4格式
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
262144 inodes, 1047552 blocks
52377 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
掛載使用:
[ root@localhost ~ ]#mount /dev/md0 /mnt
[ root@localhost ~ ]#df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 52403200 1155216 51247984 3% /
devtmpfs 488984 0 488984 0% /dev
tmpfs 499968 0 499968 0% /dev/shm
tmpfs 499968 6844 493124 2% /run
tmpfs 499968 0 499968 0% /sys/fs/cgroup
/dev/sda1 1038336 141664 896672 14% /boot
/dev/mapper/cl-software 10475520 32944 10442576 1% /software
tmpfs 99996 0 99996 0% /run/user/0
/dev/md0 4058816 16376 3816548 1% /mnt
測試raid5的效果
[ root@localhost /mnt ]#dd if=/dev/zero of=/mnt/f1 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.91397 s, 155 MB/s
[ root@localhost /mnt ]#dd if=/dev/zero of=/root/1.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 27.5494 s, 39.0 MB/s
//因為是在機械硬盤上,第一條是在raid5陣列測試,第二條是機械硬盤測試,效果一般般
模擬一塊硬盤壞掉
[ root@localhost /mnt ]#mdadm /dev/md0 -f /dev/sdb1
// 模擬把sdb1硬盤弄壞
mdadm: set /dev/sdb1 faulty in /dev/md0
[ root@localhost /mnt ]#mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Aug 20 11:25:02 2017
Raid Level : raid5
Array Size : 4190208 (4.00 GiB 4.29 GB)
Used Dev Size : 2095104 (2046.00 MiB 2145.39 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Aug 20 11:38:33 2017
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 6% complete
Name : localhost.localdomain:0 (local to host localhost.localdomain)
UUID : f2998446:399a4adf:1e1b584d:a7ac7c37
Events : 21
Number Major Minor RaidDevice State
3 8 81 0 spare rebuilding /dev/sdf1
1 8 33 1 active sync /dev/sdc1
4 8 65 2 active sync /dev/sde1
0 8 17 - faulty /dev/sdb1
// 確實壞了,我們的sdf1自動頂配上去恢復數據去了
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。