實作raid有2種方式:
軟體 RAID 的性能較低,因為其使用主機的資源, 需要加載 RAID 軟體以從軟體 RAID 卷中讀取資料,在加載 RAID 軟體前,作業系統需要引導起來才能加載 RAID 軟體,在軟體 RAID 中無需物理硬體,零成本投資,
硬體 RAID 的性能較高,他們采用 PCI Express 卡物理地提供有專用的 RAID 控制器,它不會使用主機資源,他們有 NVRAM 用于快取的讀取和寫入,快取用于 RAID 重建時,即使出現電源故障,它會使用后備的電池電源保持快取,對于大規模使用是非常昂貴的投資,
RAID有不同的級別,在這里,我們僅列出在真實環境下的使用最多的 RAID 級別,
- RAID0 = 條帶化
- RAID1 = 鏡像
- RAID5 = 單磁盤分布式奇偶校驗
- RAID6 = 雙磁盤分布式奇偶校驗
- RAID10 = 鏡像 + 條帶,(嵌套RAID)

RAID 1稱為磁盤鏡像,原理是把一個磁盤的資料鏡像到另一個磁盤上,也就是說資料在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像檔案,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬碟出現問題時系統都可以正常運行,當一塊硬碟失效時,系統會忽略該硬碟,轉而使用剩余的鏡像盤讀寫資料,具備很好的磁盤冗余能力,雖然這樣對資料來講絕對安全,但是成本也會明顯增加,磁盤利用率為50%,以四塊80GB容量的硬碟來講,可利用的磁盤空間僅為160GB,另外,出現硬碟故障的RAID系統不再可靠,應當及時的更換損壞的硬碟,否則剩余的鏡像盤也出現問題,那么整個系統就會崩潰,更換新盤后原有資料會需要很長時間同步鏡像,外界對資料的訪問不會受到影響,只是這時整個系統的性能有所下降,因此,RAID 1多用在保存關鍵性的重要資料的場合,
RAID 1主要是通過二次讀寫實作磁盤鏡像,所以磁盤控制器的負載也相當大,尤其是在需要頻繁寫入資料的環境中,為了避免出現性能瓶頸,使用多個磁盤控制器就顯得很有必要,
RAID 1 :磁盤利用率為50%,二次讀寫實作磁盤鏡像,
1、準備作業
安裝系統后,主板上連接2塊硬碟,這里我用虛擬機做實驗,
試驗系統:Centos 8.1.1911
2、創建邏輯卷RAID 1
查看邏輯卷及磁區
[root@study ~]# 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 ├─cl-root 253:0 0 17G 0 lvm / └─cl-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk sdc 8:32 0 1G 0 disk sr0 11:0 1 1024M 0 rom [root@study ~]#
我們使用sdb 和 sdc 簡歷邏輯卷RAID1
[root@study ~]# mdadm -C /dev/md0 -l raid1 -n 2 /dev/sdb /dev/sdc mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=https://www.cnblogs.com/Renqy/p/0.90 Continue creating array? Continue creating array? (y/n) y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@study ~]#
查看狀態
[root@study ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Jun 9 07:24:46 2020
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Jun 9 07:24:52 2020
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : study.server.com:0 (local to host study.server.com)
UUID : 77aeebdc:4a82397f:0a1ab9ad:dadf083c
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
[root@study ~]#格式化磁區并掛載使用
[root@study ~]# mkfs.ext4 /dev/md0
mke2fs 1.44.6 (5-Mar-2019)
創建含有 261632 個塊(每塊 4k)和 65408 個inode的檔案系統
檔案系統UUID:07d1f71a-95dd-4985-b018-e205de9b9772
超級塊的備份存盤于下列塊:
32768, 98304, 163840, 229376
正在分配組表: 完成
正在寫入inode表: 完成
創建日志(4096 個塊)完成
寫入超級塊和檔案系統賬戶統計資訊: 已完成
[root@study ~]# mkdir /mnt/raid1
[root@study ~]# mount /dev/md0 /mnt/raid1/
[root@study ~]# echo "this is linux raid1" > /mnt/raid1/readme.txt
[root@study ~]# ll /mnt/raid1/readme.txt
-rw-r--r--. 1 root root 20 6月 9 07:27 /mnt/raid1/readme.txt
[root@study ~]# cat /mnt/raid1/readme.txt
this is linux raid1
[root@study ~]#配置自動掛載
[root@study ~]# umount /mnt/raid1 [root@study ~]# blkid /dev/md0 /dev/md0: UUID="07d1f71a-95dd-4985-b018-e205de9b9772" TYPE="ext4" [root@study ~]# vim /etc/fstab [root@study ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Thu May 28 03:40:23 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=9df293e1-6753-4be2-9733-dad673e61f4a /boot ext4 defaults 1 2 /dev/mapper/cl-swap swap swap defaults 0 0 UUID="07d1f71a-95dd-4985-b018-e205de9b9772" /mnt/raid1 ext4 defaults 0 0 [root@study ~]# mount -a [root@study ~]# df -h 檔案系統 容量 已用 可用 已用% 掛載點 devtmpfs 885M 0 885M 0% /dev tmpfs 903M 0 903M 0% /dev/shm tmpfs 903M 9.4M 894M 2% /run tmpfs 903M 0 903M 0% /sys/fs/cgroup /dev/mapper/cl-root 17G 4.3G 13G 26% / /dev/sda1 976M 143M 766M 16% /boot tmpfs 181M 1.2M 180M 1% /run/user/42 tmpfs 181M 4.0K 181M 1% /run/user/0 /dev/md0 990M 2.6M 921M 1% /mnt/raid1 [root@study ~]#
3、模擬raid磁盤故障
移除磁盤sdc,
移除后,partprobe重繪下磁區,
[root@study ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Jun 9 07:24:46 2020
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Jun 9 07:30:15 2020
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : study.server.com:0 (local to host study.server.com)
UUID : 77aeebdc:4a82397f:0a1ab9ad:dadf083c
Events : 17
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
[root@study ~]# partprobe /dev/md0
[root@study ~]# 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
├─cl-root 253:0 0 17G 0 lvm /
└─cl-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
└─md0 9:0 0 1022M 0 raid1 /mnt/raid1
sr0 11:0 1 1024M 0 rom查看raid1狀態資料
發現資料依然存在,沒有影響到資料,
[root@study ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Jun 9 07:24:46 2020
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Jun 9 07:35:17 2020
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Consistency Policy : resync
Name : study.server.com:0 (local to host study.server.com)
UUID : 77aeebdc:4a82397f:0a1ab9ad:dadf083c
Events : 20
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
- 0 0 1 removed
1 8 32 - faulty /dev/sdc
[root@study ~]# ll /mnt/raid1/
總用量 20
drwx------. 2 root root 16384 6月 9 07:26 lost+found
-rw-r--r--. 1 root root 20 6月 9 07:27 readme.txt
[root@study ~]# cat /mnt/raid1/readme.txt
this is linux raid1
[root@study ~]#修復RAID1
移除故障磁盤,插入新磁盤,然后重啟服務器,
[root@study ~]# 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 ├─cl-root 253:0 0 17G 0 lvm / └─cl-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk └─md0 9:0 0 1022M 0 raid1 /mnt/raid1 sdc 8:32 0 1G 0 disk sr0 11:0 1 1024M 0 rom [root@study ~]# df -h 檔案系統 容量 已用 可用 已用% 掛載點 devtmpfs 886M 0 886M 0% /dev tmpfs 904M 0 904M 0% /dev/shm tmpfs 904M 9.4M 894M 2% /run tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/mapper/cl-root 17G 4.4G 13G 26% / /dev/sda1 976M 143M 766M 16% /boot tmpfs 181M 1.2M 180M 1% /run/user/42 tmpfs 181M 4.0K 181M 1% /run/user/0 /dev/md0 990M 2.6M 921M 1% /mnt/raid1 [root@study ~]# umount /mnt/raid1 [root@study ~]# mdadm --manage /dev/md0 --add /dev/sdc mdadm: added /dev/sdc [root@study ~]# 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 ├─cl-root 253:0 0 17G 0 lvm / └─cl-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 1G 0 disk └─md0 9:0 0 1022M 0 raid1 sdc 8:32 0 1G 0 disk └─md0 9:0 0 1022M 0 raid1 sr0 11:0 1 1024M 0 rom
查看資料
[root@study ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Jun 9 07:24:46 2020
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Jun 9 21:11:45 2020
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : study.server.com:0 (local to host study.server.com)
UUID : 77aeebdc:4a82397f:0a1ab9ad:dadf083c
Events : 53
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
2 8 32 1 active sync /dev/sdc
[root@study ~]# mount -a
[root@study ~]# df -h
檔案系統 容量 已用 可用 已用% 掛載點
devtmpfs 886M 0 886M 0% /dev
tmpfs 904M 0 904M 0% /dev/shm
tmpfs 904M 9.4M 894M 2% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/cl-root 17G 4.4G 13G 26% /
/dev/sda1 976M 143M 766M 16% /boot
tmpfs 181M 1.2M 180M 1% /run/user/42
tmpfs 181M 4.0K 181M 1% /run/user/0
/dev/md0 990M 2.6M 921M 1% /mnt/raid1
[root@study ~]# ll /mnt/raid1/
總用量 20
drwx------. 2 root root 16384 6月 9 07:26 lost+found
-rw-r--r--. 1 root root 20 6月 9 07:27 readme.txt
[root@study ~]# cat /mnt/raid1/readme.txt
this is linux raid1
[root@study ~]#讀書和健身總有一個在路上
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/59690.html
標籤:Linux
下一篇:小白求救!
