Linux md-raid 是否在磁盘上的任何位置存储备份元数据?

Linux md-raid 是否在磁盘上的任何位置存储备份元数据?

我知道,在 ext2/3/4 和其他文件系统中,超级块的副本会存储在整个磁盘中,以防主超级块损坏(https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout)。

使用 md-raid(软件 raid)时,超级块存储在磁盘的开头或结尾,具体取决于使用的元数据版本(https://raid.wiki.kernel.org/index.php/RAID_superblock_formats#Sub-versions_of_the_version-1_superblock

颠覆 设备上的超级块位置
0.9 在设备末端
1.0 在设备末端
1.1 在设备的开始处
1.2 从设备一开始就支持 4K

假设磁盘发生故障,并且 md 超级块已损坏。md-raid 是否在磁盘上的任意位置存储了备份超级块?

(我的猜测是“不”,因为这需要 md-raid 和文件系统之间的合作。自从 Linux 添加了 raid 支持以来,文件系统已经取得了长足的进步,因此似乎有人可能已经想出了一种方法来实现这一点)。

答案1

你的猜测只是部分正确:MDRAID 不会在相同的磁盘,但超级块在其他磁盘描述相同的阵列几何形状,在磁盘发生故障时有效地充当备份。

您可以通过检查每个磁盘超级块mdadm -E /dev/your_disk,而可以通过以下方式转储阵列范围的描述mdadm -D /dev/md_array

相关内容