我已在服务器上设置了两个 500GB 磁盘,组成 RAID0,但最近硬盘出现故障(启动时硬盘上出现 SMART 错误)。我的主机已将 2 个新磁盘重新组成 RAID-0(重新安装了操作系统),并在同一台机器上重新连接了旧驱动器,这样我就可以恢复数据了。
我的旧驱动器是:
/dev/sdb
/dev/sdc
我该如何将这两个磁盘重新安装到 RAID0 中,以便我们可以从旧驱动器中恢复数据?或者这不再可能了?我丢失了所有数据吗?
这是我的/etc/fstab
和df -h
这是我的fdisk -l:
[root@localhost ~]# fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040cf1
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 102400 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 13 1288 10240000 83 Linux
/dev/sda3 1288 2333 8388608 82 Linux swap / Solaris
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005159c
Device Boot Start End Blocks Id System
/dev/sdc1 1 60802 488385536 fd Linux raid autodetect
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006dd55
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 26 4106 32768000 82 Linux swap / Solaris
/dev/sdb3 4106 5380 10240000 83 Linux
/dev/sdb4 5380 60802 445172736 5 Extended
/dev/sdb5 5380 60802 445171712 fd Linux raid autodetect
Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9f639f63
Device Boot Start End Blocks Id System
/dev/sdd1 1 60802 488385536 83 Linux
Disk /dev/md127: 956.0 GB, 955960524800 bytes
2 heads, 4 sectors/track, 233388800 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
Disk identifier: 0x00000000
我在某处读到你可以用这个命令来做到这一点:mdadm -A --scan
但是,它对我来说没有任何结果->在配置文件中或自动找到未找到数组
答案1
首先,确定数据的价值。如果这是业务关键数据,而您有评估将磁盘发送到专业数据恢复服务方面的选择。从坏掉的磁盘和崩溃的 RAID 阵列中自行恢复总是有点不切实际。如果您已经假设旧驱动器上的数据丢失了,并且您只是希望恢复一些数据,并且不想花额外的钱,那么请继续。
您可能必须强制将阵列组合在一起。这可能会导致无声损坏,因为 RAID 知道它不干净,而您告诉它要微笑并假装它无论如何都是干净的。请记住,您需要手动验证从 RAID 中提取的任何文件的完整性。
你可以强制将数组合并到一起:
mdadm --assemble --force /dev/md126 /dev/sdb5 /dev/sdc1
如果/dev/md126
您的系统中已经存在,则选择下一个(/dev/md125
),直到找到可用的(不存在的)设备。
这应该会强制阵列进入工作状态。让我们挂载文件系统只读这样我们就可以从中提取数据而不会进一步损坏任何东西
mkdir /mnt/oldData
mount /dev/md126 /mnt/oldData -o ro
此时您应该能够将数据从安全位置复制出来/mnt/oldData
并复制到安全位置。