Raid
mdadm raid5 在創建後立即開始恢復
只是為了獲得一些使用 mdadm 的經驗,我已經將一些 HDD 放在一起並嘗試了一下。我有 2 250 GB 和一個 500 GB 硬碟。我知道那不是 RAID5 的最佳選擇,我總共只能獲得 500 GB 的容量。浪費了 250 GB 的 500 GB HDD。但正如我所說,我只是玩了一下。
首先讓我們看看磁碟大小:
lsblk /dev/sdb /dev/sdc /dev/sdd NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 232.9G 0 disk sdc 8:32 0 465.8G 0 disk sdd 8:48 0 232.9G 0 disk
創建 RAID5:
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd -c 4 --auto md
顯示創建的 Raid5 的資訊:
cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdd[3] sdc[1] sdb[0] 488132976 blocks super 1.2 level 5, 4k chunk, algorithm 2 [3/2] [UU_] [>....................] recovery = 0.5% (1354384/244066488) finish=59.7min speed=67719K/sec bitmap: 0/2 pages [0KB], 65536KB chunk unused devices: <none>
顯示更多細節:
sudo mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Feb 26 14:52:54 2020 Raid Level : raid5 Array Size : 488132976 (465.52 GiB 499.85 GB) Used Dev Size : 244066488 (232.76 GiB 249.92 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Wed Feb 26 14:57:43 2020 State : clean, degraded, recovering Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 4K Consistency Policy : bitmap Rebuild Status : 7% complete Name : raspberrypi:0 (local to host raspberrypi) UUID : 3291b54e:fad8f43b:cc398574:a1845ff9 Events : 57 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 3 8 48 2 spare rebuilding /dev/sdd
Dmesg 顯示
[ 2462.122882] md/raid:md0: device sdc operational as raid disk 1 [ 2462.122892] md/raid:md0: device sdb operational as raid disk 0 [ 2462.126278] md/raid:md0: raid level 5 active with 2 out of 3 devices, algorithm 2 [ 2462.142439] md0: detected capacity change from 0 to 499848167424 [ 2462.222689] md: recovery of RAID array md0
那麼我在創建 RAID5 時做錯了什麼?我也對
mdadm --detail /dev/md0
磁碟編號 0、1 和 3 而不是 0、1、2的輸出感到困惑
對於新創建的 RAID5 陣列,這是正確的行為:在創建之後,它需要為每個條帶計算正確的奇偶校驗。
您可以附加
--assume-clean
到您的mdadm
命令以跳過初始同步,但我強烈建議不要這樣做:如果您的奇偶校驗不匹配,任何check
將報告數千個錯誤,您將無法從“假”錯誤中辨識出真正的錯誤。要解決這種非常模棱兩可的情況,您需要執行一個repair
命令 - 它將像初始數組創建一樣重新計算奇偶校驗。