做raid会损坏linux文件吗,如何从损坏的RAID系统挂载磁盘?

我有一个可怕的情况,我必须在救援的Debian Linux中从损坏的RAID系统中恢复数据。我只想以只读方式将它们全部挂载到/ mnt / rescue,以便能够将VMWare GSX映像复制到另一台计算机上,并稍后将它们迁移到ESXi。相关命令的输出如下。

fdisk -l

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes

255 heads, 63 sectors/track, 182401 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: 0x0005e687

Device Boot Start End Blocks Id System

/dev/sda1 1 523 4200997 fd Linux raid autodetect

/dev/sda2 524 785 2104515 fd Linux raid autodetect

/dev/sda3 786 182401 1458830520 fd Linux raid autodetect

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes

255 heads, 63 sectors/track, 182401 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: 0x00014fc7

Device Boot Start End Blocks Id System

/dev/sdb1 1 523 4200997 fd Linux raid autodetect

/dev/sdb2 524 785 2104515 fd Linux raid autodetect

/dev/sdb3 786 182401 1458830520 fd Linux raid autodetect

Disk /dev/md0: 4301 MB, 4301717504 bytes

2 heads, 4 sectors/track, 1050224 cylinders

Units = cylinders of 8 * 512 = 4096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

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

Disk /dev/md1: 2154 MB, 2154954752 bytes

2 heads, 4 sectors/track, 526112 cylinders

Units = cylinders of 8 * 512 = 4096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

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

我试图按以下方式安装磁盘。

mount -o ro /dev/sda1 /mnt/rescue

然后我得到以下错误。

mount: unknown filesystem type 'linux_raid_member'

猜测文件系统也不顺利。

mount -o ro -t ext3 /dev/sda1 /mnt/rescue/

mount: /dev/sda1 already mounted or /mnt/rescue/ busy

因此,我尝试如下创建虚拟设备。

mdadm -A -R /dev/md9 /dev/sda1

这将导致以下消息。

mdadm: cannot open device /dev/sda1: Device or resource busy

mdadm: /dev/sda1 has no superblock - assembly aborted

现在我迷路了,我不知道如何恢复磁盘并取回数据。以下是所有3个磁盘的mda --examine输出(我认为应该是3x raid1磁盘)。

/ dev / sda1:

Magic : a92b4efc

Version : 0.90.00

UUID : 6708215c:6bfe075b:776c2c25:004bd7b2 (local to host rescue)

Creation Time : Mon Aug 31 17:18:11 2009

Raid Level : raid1

Used Dev Size : 4200896 (4.01 GiB 4.30 GB)

Array Size : 4200896 (4.01 GiB 4.30 GB)

Raid Devices : 3

Total Devices : 2

Preferred Minor : 0

Update Time : Sun Jun 2 00:58:05 2013

State : clean

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Checksum : 9070963e - correct

Events : 19720

Number Major Minor RaidDevice State

this 1 8 1 1 active sync /dev/sda1

0 0 0 0 0 removed

1 1 8 1 1 active sync /dev/sda1

2 2 8 17 2 active sync /dev/sdb1

/ dev / sda2:

Magic : a92b4efc

Version : 0.90.00

UUID : e8f7960f:6bbea0c7:776c2c25:004bd7b2 (local to host rescue)

Creation Time : Mon Aug 31 17:18:11 2009

Raid Level : raid1

Used Dev Size : 2104448 (2.01 GiB 2.15 GB)

Array Size : 2104448 (2.01 GiB 2.15 GB)

Raid Devices : 3

Total Devices : 2

Preferred Minor : 1

Update Time : Sat Jun 8 07:14:24 2013

State : clean

Active Devices : 2

Working Devices : 2

Failed Devices : 0

Spare Devices : 0

Checksum : 120869e1 - correct

Events : 3534

Number Major Minor RaidDevice State

this 1 8 2 1 active sync /dev/sda2

0 0 0 0 0 removed

1 1 8 2 1 active sync /dev/sda2

2 2 8 18 2 active sync /dev/sdb2

/ dev / sda3:

Magic : a92b4efc

Version : 0.90.00

UUID : 4f2b3b67:c3837044:776c2c25:004bd7b2 (local to host rescue)

Creation Time : Mon Aug 31 17:18:11 2009

Raid Level : raid5

Used Dev Size : 1458830400 (1391.25 GiB 1493.84 GB)

Array Size : 2917660800 (2782.50 GiB 2987.68 GB)

Raid Devices : 3

Total Devices : 2

Preferred Minor : 2

Update Time : Sat Jun 8 14:47:00 2013

State : clean

Active Devices : 1

Working Devices : 1

Failed Devices : 1

Spare Devices : 0

Checksum : 2b2b2dad - correct

Events : 36343894

Layout : left-symmetric

Chunk Size : 64K

Number Major Minor RaidDevice State

this 1 8 3 1 active sync /dev/sda3

0 0 0 0 0 removed

1 1 8 3 1 active sync /dev/sda3

2 2 0 0 2 faulty removed

cat /proc/mdstat

Personalities : [raid1]

md2 : inactive sda3[1](S) sdb3[2](S)

2917660800 blocks

md1 : active raid1 sda2[1] sdb2[2]

2104448 blocks [3/2] [_UU]

md0 : active raid1 sda1[1] sdb1[2]

4200896 blocks [3/2] [_UU]

md2似乎已损坏,可能是与我的VMWare映像有关的袭击。

我想通过将其安装在RAID之外来访问md2中的数据(活动且未损坏的磁盘上的数据,即/ dev / sda3)。

只是执行一个好主意

mdadm --manage /dev/md2 --remove /dev/sda3

(因为fdisk看不到md2,它是否还能工作)?

我应该通过运行重新对​​其他突袭md0和md1进行复仇吗

mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1

更新0:我不能组装md0和md2。

root@rescue ~ # mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1

mdadm: cannot open device /dev/sda1: Device or resource busy

mdadm: /dev/sda1 has no superblock - assembly aborted

root@rescue ~ # mdadm --assemble /dev/md2 /dev/sda3 /dev/sdb3

mdadm: cannot open device /dev/sda3: Device or resource busy

mdadm: /dev/sda3 has no superblock - assembly aborted

无法使用mount -t auto进行安装。

root@rescue ~ # mount -t auto -o ro /dev/md0 /mnt/rescue/

/dev/md0 looks like swapspace - not mounted

mount: you must specify the filesystem type

root@rescue ~ # mount -t auto -o ro /dev/md2 /mnt/rescue/

mount: you must specify the filesystem type

挂载/ dev / md1可以,但是上面没有VMWare数据。

root@rescue /mnt/rescue # ll

total 139M

-rw-r--r-- 1 root root 513K May 27 2010 abi-2.6.28-19-server

-rw-r--r-- 1 root root 631K Sep 16 2010 abi-2.6.32-24-server

-rw-r--r-- 1 root root 632K Oct 16 2010 abi-2.6.32-25-server

-rw-r--r-- 1 root root 632K Nov 24 2010 abi-2.6.32-26-server

-rw-r--r-- 1 root root 632K Dec 2 2010 abi-2.6.32-27-server

-rw-r--r-- 1 root root 632K Jan 11 2011 abi-2.6.32-28-server

-rw-r--r-- 1 root root 632K Feb 11 2011 abi-2.6.32-29-server

-rw-r--r-- 1 root root 632K Mar 2 2011 abi-2.6.32-30-server

-rw-r--r-- 1 root root 632K Jul 30 2011 abi-2.6.32-33-server

lrwxrwxrwx 1 root root 1 Aug 31 2009 boot -> .

-rw-r--r-- 1 root root 302K Aug 4 2010 coffee.bmp

-rw-r--r-- 1 root root 89K May 27 2010 config-2.6.28-19-server

...

更新1:

我试图停止md2和md0并再次组装。

mdadm -S /dev/md0

root@rescue ~ # mount -t auto -o ro /dev/md0 /mnt/rescue/

/dev/md0 looks like swapspace - not mounted

mount: you must specify the filesystem type

mdadm -S /dev/md2

root@rescue ~ # mount -t auto -o ro /dev/md2 /mnt/rescue/

mount: you must specify the filesystem type

有任何想法吗?

更新2:

由于出现以下错误消息,因此无法从一个磁盘进行组装。

root@rescue ~ # mdadm -S /dev/md2

root@rescue ~ # mdadm --assemble /dev/md2 /dev/sda3

mdadm: /dev/md2 assembled from 1 drive - not enough to start the array.

root@rescue ~ # mdadm -S /dev/md2

mdadm: stopped /dev/md2

root@rescue ~ # mdadm --assemble /dev/md2 /dev/sdb3

mdadm: /dev/md2 assembled from 1 drive - not enough to start the array.

甚至新的袭击也失败了。

root@rescue ~ # mdadm -S /dev/md9

mdadm: stopped /dev/md9

root@rescue ~ # mdadm --assemble /dev/md9 /dev/sda3

mdadm: /dev/md9 assembled from 1 drive - not enough to start the array.

root@rescue ~ # mdadm -S /dev/md9

mdadm: stopped /dev/md9

root@rescue ~ # mdadm --assemble /dev/md9 /dev/sdb3

mdadm: /dev/md9 assembled from 1 drive - not enough to start the array.

创建新的md磁盘也失败。

root@rescue ~ # cat /proc/mdstat

Personalities : [raid1]

md0 : active raid1 sda1[1] sdb1[2]

4200896 blocks [3/2] [_UU]

md1 : active raid1 sda2[1] sdb2[2]

2104448 blocks [3/2] [_UU]

unused devices:

root@rescue ~ # mdadm -A -R /dev/md9 /dev/sda3

mdadm: failed to RUN_ARRAY /dev/md9: Input/output error

mdadm: Not enough devices to start the array.

root@rescue ~ # cat /proc/mdstat

Personalities : [raid1] [raid6] [raid5] [raid4]

md9 : inactive sda3[1]

1458830400 blocks

md0 : active raid1 sda1[1] sdb1[2]

4200896 blocks [3/2] [_UU]

md1 : active raid1 sda2[1] sdb2[2]

2104448 blocks [3/2] [_UU]

unused devices:

root@rescue ~ # mdadm -S /dev/md9

mdadm: stopped /dev/md9

root@rescue ~ # mdadm -A -R /dev/md9 /dev/sdb3

mdadm: failed to RUN_ARRAY /dev/md9: Input/output error

mdadm: Not enough devices to start the array.

更新3:

从md2删除磁盘不起作用。

mdadm --remove /dev/md2 /dev/sda3

mdadm: cannot get array info for /dev/md2

更新4:

最后,--force希望通过运行汇编来完成。我现在正在将文件复制到另一台服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值