我正在将我的 Ubuntu 安装移至 raid 1 上的 lvm。我最初只创建了 1 个磁盘的阵列,计划稍后添加第二个磁盘。我移动了文件,系统在新磁盘上成功启动,但阵列和分区似乎已更改名称。最初,我对磁盘进行了如下分区:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 20 153600 fd Linux raid autodetect
/dev/sda2 20 243202 1953359960 fd Linux raid autodetect
然后我创建了 2 个降级 raid 阵列,与这些分区相对应,md0
用于lvm/boot
和md1
其上的所有其他内容。安装 grub 并从新磁盘启动后,一切似乎都正常,只是出现了奇怪的事情。/dev/md1 上有分区,尽管我所做的只是pvcreate /dev/md1
:
Device Boot Start End Blocks Id System
/dev/md1p1 * 257 38656 153600 fd Linux raid autodetect
/dev/md1p2 38657 488378646 1953359960 fd Linux raid autodetect
另外/proc/mdstat
显示(我已经添加了第二张磁盘):
md0 : active raid1 sdc1[1] md1p1[0]
153536 blocks [2/2] [UU]
md1 : active raid1 sdc2[2] sda[0]
1953359872 blocks [2/1] [U_]
从哪里来md1p1
的,为什么不/proc/mdstat
显示sda1
和sdc1
,和sda2
和sdc2
?
答案1
回复晚了,不过嘿:
不幸的是您没有显示相关部分,例如,您的 fdisk 输出显示哪些单元(扇区?柱面?)
尽管如此,看起来您还是被 0.90 元数据块的错误所困扰:
0, 0.90
使用原始 0.90 格式超级块。此格式将阵列限制为 28 个组件设备,并将 1 级及更高级别的组件设备限制为 2 TB。如果该分区从 64K 边界开始,则还可能存在超级块是适用于整个设备还是仅适用于最后一个分区的混淆。
这意味着,如果您在最后一个分区上有一个 0.90 元数据块,并且它从 64k 边界开始,则 mdadm 将假定整个磁盘属于 RAID。您看到的是 RAID 中的 /dev/sda 分区表。当然,如果您尝试访问该 RAID 中的任何内容,这将导致严重损坏。
尽快升级(我可以根据经验说)。