安装属于 RAID 1 一部分的单个硬盘

安装属于 RAID 1 一部分的单个硬盘

所以我有一个带有两个硬盘的 RAID 1。一个硬盘出现故障,然后我更换了它,并在这个新硬盘上重新安装了新的 Linux。

现在如果我输入 fdisk -l 我得到:

root@ns354729:/mnt/sdb2# fdisk -l

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbb5259be

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        4096  1495042047   747518976   83  Linux
/dev/sda2      1495042048  1496088575      523264   82  Linux swap / Solaris

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00025c91

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            4096    20975616    10485760+  fd  Linux raid autodetect
/dev/sdb2        20975617  1464092672   721558528   fd  Linux raid autodetect
/dev/sdb3      1464092673  1465144064      525696   82  Linux swap / Solaris

我想访问第二个硬盘(sdb),所以我尝试像这样挂载 sdb2:

mount /dev/sdb2 /mnt

这说:

root@ns354729:/mnt/sdb2# mount /dev/sdb2 /mnt
mount: block device /dev/sdb2 is write-protected, mounting read-only
mount: you must specify the filesystem type

所以我尝试给出:

mount -t ext4 /dev/sdb2 /mnt

我得到了:

mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

这说:

root@ns354729:/mnt/sdb2# dmesg | tail
ufs_read_super: bad magic number
VFS: Can't find a romfs filesystem on dev sdb2.
UDF-fs: warning (device sdb2): udf_load_vrs: No VRS found
UDF-fs: warning (device sdb2): udf_fill_super: No partition found (2)
XFS (sdb2): Invalid superblock magic number
(mount,18813,1):ocfs2_fill_super:1038 ERROR: superblock probe failed!
(mount,18813,1):ocfs2_fill_super:1229 ERROR: status = -22
GFS2: not a GFS2 filesystem
GFS2: gfs2 mount does not exist
EXT4-fs (sdb2): VFS: Can't find ext4 filesystem

有什么帮助吗?

答案1

您需要使用以下内容来组装(降级的)RAID 阵列:

mdadm --assemble --readonly /dev/md0 /dev/sdb2

当然,如果 md0 已在使用,请选择一个除 md0 之外的数字。然后你可以挂载/dev/md0(或者,如果它实际上是 LVM 等,则继续沿着链向下)。

在 RAID1 的情况下,您也可以使用环回设备和偏移量来执行此操作,但这会更加痛苦,并且只有在 mdadm 元数据已被破坏的情况下才值得尝试。

答案2

看起来您有一个新的 2gig、非 RAID 磁盘,并且您正在尝试读取旧的 750gig RAID 磁盘的内容。如果是这种情况,您可以执行以下操作:

ls -l /dev/md/

在我们的例子中,返回以下内容:

total 0
lrwxrwxrwx 1 root root 8 Jul 26 08:30 sp:0 -> ../md126
lrwxrwxrwx 1 root root 8 Jul 26 08:30 sp:1 -> ../md127

然后我就可以安装阅读所需的分区:

mount /dev/md/sp:0 /mnt

在上面的例子中,sp:0sp:1相信这就是我在创建时命名的 RAID 分区。

答案3

我发现德罗伯特的答案非常有帮助,但需要更多:

从以前从未有过阵列且通过 USB 驱动器坞站从外部连接两个驱动器的新系统:

  sudo apt update && sudo apt install mdadm -y
  sudo mdadm --examine /dev/sd*
  [output of above command showed two drives that were members of the original raid array, one a PARTITION, the other the entire device]
  sudo mdadm --assemble /dev/md1 /dev/sdb1 dev/sdc --run
  mdadm: /dev/sdb1 is busy - skipping
  mdadm: /dev/md1 assembled from 1 drive - need all 2 to start it (use --run to insist).
  sudo mdadm --assemble /dev/md1 /dev/sdb1 /dev/sdc --run
  mdadm: /dev/sdb1 is busy - skipping
  mdadm: /dev/md1 has been started with 1 drive (out of 2).
  sudo mount /dev/md1 /mnt/md1
  cd /mnt/md1
  ls 
  backup lost+found pictures rsnapshot

然后,我能够使用 rsync 将数据从单个安装的 raid 成员 /dev/sdc 复制到不同系统上经过验证的良好驱动器。

相关内容