просто для того, чтобы получить некоторый опыт работы с mdadm, я собрал несколько жестких дисков и немного попробовал. У меня 2250 ГБ и один жесткий диск на 500 ГБ. Я знаю, что это не оптимально для RAID5, и я получу всего 500 ГБ. 250 ГБ из 500 ГБ жесткого диска потрачены впустую. Но, как я уже сказал, я просто немного поиграюсь.
Сначала посмотрим размеры дисков:
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
команда, которая пересчитает четность, как и при первоначальном создании массива.