RAID 1 开头的磁盘结构(前 128 MiB)

RAID 1 开头的磁盘结构(前 128 MiB)

我有一个由 2 个 2 TB 磁盘组成的 RAID 1,并注意到当我计算两个磁盘的某个范围的加密哈希时,除非该范围位于磁盘的开头,否则我会得到相同的结果。因此,除了开始的任何地方(我猜还有最后用于 RAID 的分区的一小部分),这两个磁盘都存储完全相同的数据。

然而,在磁盘的开头,校验和不匹配,这意味着存储在那里的数据有偏差。我希望这种情况发生在前几千字节,因为我希望用于磁盘识别的数据和一些其他元数据存储在那里。但我发现前 128 MiB 不匹配。如果我只跳过前 127 MiB,则校验和不匹配,但如果我跳过前 128 MiB 并散列某个范围,则校验和会匹配。

mdadm占用这么多存储空间的磁盘开头存储了什么(与仅标识符相比;当然与现代硬盘的大小相比,它完全可以忽略不计)?

请注意,我从 RAID 中使用的分区的开头开始处理数据。这并不是说我从磁盘的开头就解决了这个问题,而前 127 MiB 恰好不属于分区。

答案1

查看mdadm --examineData Offset。如果分区足够大,它往往默认为128M。在日常操作中,数据偏移量不用于任何用途。

直到您决定增加 RAID 或更改 RAID 级别和布局。然后数据偏移量将减少一点,从而创建一个缓冲区,允许就地更改数据而无需直接覆盖自身。因此,在断电、重新启动等情况下,可以安全地恢复该过程。

当没有可用的剩余数据偏移空间时,您需要--backup-file为某些增长和整形操作提供 a 。此备份文件必须存储在 RAID 之外,并且必须能够在重新启动后继续存在。

如果您非常确定永远不会更改 RAID 布局,或者不介意在这种情况下使用备份文件,则可以指定--data-offset=较小的 1 或 2 MiB,这样每个驱动器就不会浪费 128M。

相关内容