我创建了一个新的 md RAID10(在 Synology DS416slim 上,除此之外),它处于初始同步过程中:
root@ds416slim:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid10 sdd3[3] sdc3[2] sdb3[1] sda3[0]
1943881088 blocks super 1.2 64K chunks 2 near-copies [4/4] [UUUU]
[===>.................] resync = 19.8% (386172736/1943881088) finish=2613.6min speed=9932K/sec
md1 : active raid1 sdc2[1] sdb2[2] sda2[0] sdd2[3]
2097088 blocks [4/4] [UUUU]
md0 : active raid1 sdc1[1] sdb1[2] sda1[0] sdd1[3]
2490176 blocks [4/4] [UUUU]
unused devices: <none>
注意到它的同步速度真的很糟糕(它应该比 10M 更接近 100M),我决定pause
使用同步echo idle > /sys/block/md2/md/sync_action
在测试之后(其中hdparm
显示/dev/sdd
性能很糟糕),我尝试使用echo resync > /sys/block/md2/md/sync_action
. 但是同步没有恢复并保持空闲状态:
root@ds416slim:~# echo resync > /sys/block/md2/md/sync_action
root@ds416slim:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]
md2 : active raid10 sdd3[3] sdc3[2] sdb3[1] sda3[0]
1943881088 blocks super 1.2 64K chunks 2 near-copies [4/4] [UUUU]
md1 : active raid1 sdc2[1] sdb2[2] sda2[0] sdd2[3]
2097088 blocks [4/4] [UUUU]
md0 : active raid1 sdc1[1] sdb1[2] sda1[0] sdd1[3]
2490176 blocks [4/4] [UUUU]
unused devices: <none>
root@ds416slim:~# cat /sys/block/md2/md/sync_action
idle
我检查了有关如何恢复同步的可能选项,因为sysfs
kernel.org 上的 MD 文档部分中给出的选项提供了一个没有resume
选项的列表。阅读列出的选项似乎都意味着resync
正确的操作,但它并没有恢复如上所示的初始同步。
我的问题是:
- 这会影响突袭吗?如何影响?
- 如何恢复初始同步?
- 忽略整个事情并开始使用突袭是否安全?
您需要使用该
repair
操作 - 即:echo repair > /sys/block/md2/md/sync_action
理论上,您可以在修复期间使用阵列,但我会先完成首次修复/重新同步,然后再将有价值的数据放在磁盘上。
从md 手册页:
换句话说,被忽略,
resync
因为它不是一个被接受的动作 - whilecheck
和are。repair
idle