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

Pau*_*nan 4 linux raid mdadm software-raid md

我知道,对于 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 支持以来,文件系统已经取得了长足的进步,所以似乎有人可能想出了一种方法来使这项工作)。

sho*_*hok 10

您的猜测仅部分正确:MDRAID 不会在同一磁盘上存储备份超级块,但其他磁盘上的超级块描述相同的阵列几何结构,在磁盘发生故障时有效地充当备份。

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