我遇到了一些问题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/md1
to/
和/dev/md2
to的映射/home/
(如果上一段中关于分区的假设是正确的)。
当系统启动时,它会自动检测 RAID 阵列,如果找到所有驱动器,它就会启动它们(这就是为什么它们已经在运行,以及mdadm
当您尝试/dev/md9
手动组装阵列时为什么会因繁忙错误而失败 -md1
阵列已经在使用它)。但是,由于这是一个救援系统,因此没有安装信息来/etc/fstab
告诉系统安装/dev/md1
和/dev/md2
某处 - 这是上面的命令块尝试手动执行的操作。