从 RAID 1 阵列安装磁盘以进行数据恢复

从 RAID 1 阵列安装磁盘以进行数据恢复

我遇到了一些问题Debian 7.5 稳定版(Wheezy)服务器。它当前正以救援模式运行。

它有一个2 x 2000 GB HDD 在 RAID 1 阵列中运行

我的当务之急是能够访问和备份特定目录(/home/servers/)。

问题是我很难安装磁盘。我更愿意使用 RAID 阵列以干净的方式执行此操作,但任何方法都可以,只要我可以访问数据,因为我稍后会重新安装所有内容并更改为 Ubuntu。

root@rescue:~# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/md2: 1978.4 GB, 1978380779520 bytes
2 heads, 4 sectors/track, 483003120 cylinders, total 3864024960 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 21.5 GB, 21474770944 bytes
2 heads, 4 sectors/track, 5242864 cylinders, total 41942912 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

首先我尝试了简单的方法:

root@rescue:~# mount /dev/sda1 sda1
mount: unknown filesystem type 'linux_raid_member'

然后我尝试按照这个指南@http://blog.sleeplessbeastie.eu/2012/05/08/how-to-mount-software-raid1-member-using-mdadm/

root@rescue:~# mdadm -A -R /dev/md9 /dev/sda1
mdadm: /dev/sda1 is busy - skipping

我重启了服务器,但 /dev/sda1 仍然很忙。现在我陷入困境,而这可是一台生产服务器!请帮帮我,我不知道该怎么做。


更新:

root@rescue:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sda1[0] sdb1[1]
      20971456 blocks [2/2] [UU]

md2 : active raid1 sda2[0] sdb2[1]
      1932012480 blocks [2/2] [UU]

unused devices: <none>

root@rescue:~# cat /etc/fstab
# /etc/fstab: Information sur les systèmes de fichiers.
#
# <sys.fichiers><pt de montage><type> <options>  <dump> <pass>
proc    /proc   proc    defaults        0       0

答案1

如果你尝试以下操作,会发生什么情况:

mkdir /mnt/md1
mount /dev/md1 /mnt/md1

mkdir /mnt/md2
mount /dev/md2 /mnt/md2

这将创建空文件夹作为挂载点,并尝试挂载 raid 文件系统(如果它可以干净地挂载它们)(如果尝试挂载它们时遇到任何问题,那么它将报告错误并且保持驱动器不变)。

如果这些命令有效,那么您的文件将位于或/mnt/md1/servers//mnt/md2/servers/最有可能是第二个)


备查:

/proc/mdstat转储所有活动和非活动 RAID 阵列的列表。它显示您有一个 21.5GiB 阵列 ( md1) 构建在/dev/sda1和 上/dev/sdb1,以及第二个 1.9TiB 阵列 ( md2) 构建在/dev/sda2和 上/dev/sdb2。这是一个相当常见的分区方案,其中操作系统/应用程序驻留在一个小分区 ( md1) 上,而所有用户数据 ( /home/*) 存储在一个单独的较大分区 ( md2) 上。这使得只需擦除操作系统分区并重新安装变得容易,而无需移动大量用户数据。

/etc/fstab列出系统中所有默认挂载点。这在这里没什么用,因为您正在救援系统上运行,但在非救援系统上,我们会看到类似于/dev/md1to//dev/md2to的映射/home/(如果上一段中关于分区的假设是正确的)。

当系统启动时,它会自动检测 RAID 阵列,如果找到所有驱动器,它就会启动它们(这就是为什么它们已经在运行,以及mdadm当您尝试/dev/md9手动组装阵列时为什么会因繁忙错误而失败 -md1阵列已经在使用它)。但是,由于这是一个救援系统,因此没有安装信息来/etc/fstab告诉系统安装/dev/md1/dev/md2某处 - 这是上面的命令块尝试手动执行的操作。

相关内容