在 Linux 中,如果我有一个带有 N ≥ 1 个活动设备的软件 RAID1 镜像/dev/md1
,那么命令的语义是什么repair
?
echo "repair" >/sys/block/md1/md/sync_action
我的假设是否正确
- 如果有 1 个活动设备,该
repair
命令不执行任何操作, - 如果有 2 个活动设备,该
repair
命令将搜索数据差异,并使用第二个设备的不匹配数据覆盖其中一个设备的不匹配数据,并且 - 如果有 3 个(或更多)活动设备,该
repair
命令会搜索数据差异,找出(如果可能)或决定哪些数据内容最为普遍,并使用这些数据覆盖其他设备上不匹配的数据?
我读了文档/admin-guide/md.rst乃至文档/设备映射器/dm-raid.txt来自 Linux 内核文档,但目前这些内容不是很有用。我也试图理解驱动程序/md/raid1.c但是它的注释不太好并且我缺乏对 Linux 内核内部的了解,所以无法理解它。