Eu tenho uma situação horrível em que tenho que restaurar dados de um sistema de ataque danificado em um Debian Linux de resgate. Eu só quero montá-los todos em / mnt / rescue no modo somente leitura para poder copiar imagens do VMWare GSX para outra máquina e migrá-las para o ESXi posteriormente. A saída para comandos relevantes é a seguinte.
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
Eu estava tentando montar os discos da seguinte maneira.
mount -o ro /dev/sda1 /mnt/rescue
Então eu recebo o seguinte erro.
mount: unknown filesystem type 'linux_raid_member'
Adivinhar o sistema de arquivos também não está indo bem.
mount -o ro -t ext3 /dev/sda1 /mnt/rescue/
mount: /dev/sda1 already mounted or /mnt/rescue/ busy
Então, eu tentei criar um dispositivo virtual da seguinte maneira.
mdadm -A -R /dev/md9 /dev/sda1
Isso resulta na seguinte mensagem.
mdadm: cannot open device /dev/sda1: Device or resource busy
mdadm: /dev/sda1 has no superblock - assembly aborted
Agora estou perdido, não tenho idéia de como recuperar os discos e recuperar os dados. A seguir está a saída do mda --examine para todos os 3 discos (acho que devem ser 3x discos 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]
O md2 parece estar danificado e provavelmente é o ataque às minhas imagens do VMWare.
Gostaria de acessar os dados do md2 (os dados no disco ativo e não danificado, ou seja / dev / sda3), montando-o fora do ataque.
É uma boa ideia apenas executar
mdadm --manage /dev/md2 --remove /dev/sda3
(funcionaria mesmo como md2 não é visto pelo fdisk)?
Devo remontar os outros ataques MD0 e MD1 executando
mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
?
ATUALIZAÇÃO 0: Não consigo montar md0 e 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
A montagem com mount -t auto não é possível.
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
A montagem / dev / md1 funciona, mas não há dados do 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
...
ATUALIZAÇÃO 1:
Eu tentei parar md2 e md0 e montar novamente.
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
Alguma ideia?
ATUALIZAÇÃO 2:
A montagem de um disco não está funcionando devido à seguinte mensagem de erro.
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.
Até novos ataques falham.
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.
Criar novo disco md também falha.
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: <none>
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: <none>
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.
ATUALIZAÇÃO 3:
A remoção de discos do md2 não está funcionando.
mdadm --remove /dev/md2 /dev/sda3
mdadm: cannot get array info for /dev/md2
ATUALIZAÇÃO 4:
Finalmente, executando assemble com --force
esperançosamente o fez. Agora estou copiando arquivos para outro servidor.
mdadm --assemble
é o caminho a percorrer. Tente sem--remove
.mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
mdadm: /dev/md0 has been started with 2 drives (out of 3).
Mas a montagem falha (não sei o tipo de sistema de arquivos).mount -o ro /dev/md0 /mnt/rescue
/dev/md0 looks like swapspace - not mounted
mount: you must specify the filesystem type
sd?1
seja swapspace. Tente montarmd1
emd2
e montar commount -t auto ...
.Respostas:
No meu caso, criei o CentOS 7 e tentei seguir as instruções de todos nesta página. Continuei correndo para uma mensagem de dispositivo ocupado. Na minha opinião, o motivo pelo qual você está recebendo o
mensagem de erro é porque o dispositivo já está montado como outra coisa.
Eu também não queria fazer nenhuma alteração no disco, pois meu caso de uso era extrair um arquivo muito grande da minha matriz RAID1 que falhou ao ser extraído de todas as formas possíveis, e a maneira mais rápida foi retirar uma das unidades , Quero colocar a unidade novamente e ainda tenho minha configuração no lugar.
Aqui está o que eu fiz depois de fazer uma pesquisa on-line em outros sites: NOTA : NAS: 0 é o nome do meu dispositivo NAS; portanto, substitua-o adequadamente.
Ele foi montado automaticamente, apesar de dizer que não está montado se você executar o comando mount, pode verificar se ele foi montado executando:
Observe que ele foi montado automaticamente
/dev/md127
para mim.OK então:
Isso fez por mim.
Em caso de dúvida, DD a unidade para fazer uma cópia completa e use o CentOS ou outro Linux Live CD.
fonte
/dev/md127
então eu dei a parada assimmdadm --manage --stop /dev/md127
.Se você puder, faça uma
dd
imagem de todo o seu disco antes de fazer qualquer coisa, por precaução.Você deve poder montar o / dev / sda3 diretamente quando o
mdadm
liberar:Se isso não funcionar,
testdisk
geralmente é possível encontrar sistemas de arquivos em dispositivos de bloco bruto.fonte
Eu fiz isso da "maneira difícil": (primeiro, se for possível clonar este disco antes de fazer qualquer coisa!)
dmesg
para o disco raid ou tente (exemplosdc1
:)Altere o RAID-DISK-Flag para o seu sistema de arquivos Linux (ext3 ou algo assim), salve-o e reinicie.
Depois disso
e voila você pode montar
fonte