我正在 CentOS 7 安装 (10x1TB) 上设置一组新驱动器,但是在构建过程中我看到了一些烦人的情况。
当我尝试构建阵列时,它会立即被识别,但指示错误状态(降级,丢失一个磁盘。)
完整的构建命令是:
mdadm --create /dev/md1 --level=5 --raid-devices=9 /dev/sde1 /dev/sdg1 /dev/sdc1 /dev/sdd1 /dev/sdf1 /dev/sdl1 /dev/sdj1 /dev/sdi1 /dev/sdm1 --spare-devices=1 /dev/sdk1
不过,我随后在没有备用驱动器的情况下尝试了相同的操作:
mdadm --create /dev/md1 --level=5 --raid-devices=9 /dev/sde1 /dev/sdg1 /dev/sdc1 /dev/sdd1 /dev/sdf1 /dev/sdl1 /dev/sdj1 /dev/sdi1 /dev/sdm1
然后是三驱动器阵列的变体:
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sdj1 /dev/sdi1 /dev/sdm1
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sde1 /dev/sdg1 /dev/sdc1
在所有情况下,新阵列都会以预期的可用大小(变体中为 8TB 和 2TB)进行初始化。该阵列在重建期间也可用,我可以读取和写入文件。
奇怪的是,当使用备用驱动器进行构建时,备用驱动器显示出大量的读/写活动,这意味着它以某种方式参与了构建。
基本上,这是正常的吗?如果不正常,我做错了什么?
编辑:
这是以下内容的输出:mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Sun Jan 4 00:00:22 2015
Raid Level : raid5
Array Size : 7813042176 (7451.10 GiB 8000.56 GB)
Used Dev Size : 976630272 (931.39 GiB 1000.07 GB)
Raid Devices : 9
Total Devices : 10
Persistence : Superblock is persistent
Update Time : Sun Jan 4 00:05:33 2015
State : clean, degraded, recovering
Active Devices : 8
Working Devices : 10
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 0% complete
Name : localhost.localdomain:1 (local to host localhost.localdomain)
UUID : f2d4f470:9d5022bf:a397b5a0:45b94d28
Events : 72
Number Major Minor RaidDevice State
0 8 65 0 active sync /dev/sde1
1 8 97 1 active sync /dev/sdg1
2 8 33 2 active sync /dev/sdc1
3 8 49 3 active sync /dev/sdd1
4 8 81 4 active sync /dev/sdf1
5 8 177 5 active sync /dev/sdl1
6 8 145 6 active sync /dev/sdj1
7 8 129 7 active sync /dev/sdi1
10 8 193 8 spare rebuilding /dev/sdm1
9 8 161 - spare /dev/sdk1
答案1
是的,这是正常的。当您第一次创建数组时,必须计算并写入奇偶校验块,这就是您所看到的。如果您知道驱动器已填满零,则可以使用开关--assume-clean
直接mdadm
跳过初始重新同步。如果驱动器实际上没有填充零,那么将来对阵列执行奇偶校验检查将报告许多错误,因为您从未计算出正确的奇偶校验。
另外仅供参考,不建议使用 raid5 创建如此大的阵列,因为第二个驱动器在重建之前发生故障的可能性越来越高。您可能想改用 raid6。