Estou tentando recuperar dados de um antigo Buffalo Terastation que falhou. Uma tentativa anterior de recuperar os dados por outra pessoa foi sem sucesso e fiquei com a seguinte situação.
NB: Eu não sei exatamente quais comandos foram executados anteriormente, espero que nada tenha feito dano permenant!
O Terastation original tinha quatro discos, cada um com partições de sistema, swap e dados. As partições de dados foram gerenciadas usando o raid5 e acredito que o sistema de arquivos era XFS.
Três das partições de dados foram copiadas para outro dispositivo conectando-as individualmente em um dispositivo USB HDD externo com um comando como:
dd if=/dev/sdd3 of=/share/disk1_data
Usar o mdadm --examine nos backups recém-criados produz o seguinte:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : deb4c6d2:c2fc193c:a9599de3:a25d0d2c
Name : it:0 (local to host it)
Creation Time : Tue Sep 8 08:59:06 2015
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 779677543 (371.78 GiB 399.19 GB)
Array Size : 1169515008 (1115.34 GiB 1197.58 GB)
Used Dev Size : 779676672 (371.78 GiB 399.19 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=871 sectors
State : clean
Device UUID : 2eed9b35:6857b6fa:00a76842:9f5ab0ae
Internal Bitmap : 8 sectors from superblock
Update Time : Tue Sep 8 09:40:17 2015
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 21f8a2ff - correct
Events : 8
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : AAA. ('A' == active, '.' == missing, 'R' == replacing)
Cada dispositivo tem um UUID de dispositivo, uma soma de verificação (cada um correto) e funções de dispositivo 0-2. Todas as outras informações são as mesmas.
Examinar o início de cada uma das unidades mostra que há dados lá.
head -c=128 disk1_data
XFSB nÙp
†/@@––Ny»Rû“û ° 0 € =„
head -c=128 disk2_data
INAÿ ¯A—zö:»´ FùÓ@àQqas0„P ^ ÿÿÿÿ 0share @spool
head -c=128 disk3_data
ÿØÿà JFIF e e ÿþ Created by AccuSoft Corp. ÿÃ ÿÄ #
ÿÚ ÿ à _æŒå9±Ü‡”î³¹v
Pelo que li em outro lugar, é isso que espero se o sistema de arquivos for XFS e os dados estiverem em raid5. disk1 tem o início do sistema de arquivos, disk2 inicia em um inode e disk3 tem dados. disk4 não está presente, mas contém a soma de verificação destes.
A partir deste estágio, montei cada dispositivo em um loop.
losetup /dev/loop2 disk1_data
losetup /dev/loop3 disk2_data
losetup /dev/loop4 disk3_data
Neste estágio, o mdadm é capaz de montar os dispositivos.
mdadm --assemble --scan
/dev/md0 has been started with 3 drives (out of 4)
E o running --detail fornece as seguintes boas notícias:
Version : 1.2
Creation Time : Tue Sep 8 08:59:06 2015
Raid Level : raid5
Array Size : 1169515008 (1115.34 GiB 1197.58 GB)
Used Dev Size : 389838336 (371.78 GiB 399.19 GB)
Raid Devices : 4
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Tue Sep 8 09:40:17 2015
State : active, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : it:0 (local to host it)
UUID : deb4c6d2:c2fc193c:a9599de3:a25d0d2c
Events : 8
Number Major Minor RaidDevice State
0 7 2 0 active sync /dev/loop2
1 7 3 1 active sync /dev/loop3
2 7 4 2 active sync /dev/loop4
6 0 0 6 removed
cat / proc / mdstat produz o seguinte
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 loop2[0] loop4[2] loop3[1]
1169515008 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
bitmap: 2/3 pages [8KB], 65536KB chunk
unused devices: <none>
No entanto, quando eu tento montar o / dev / md0 recém-criado, sempre recebo erros relacionados a superblocos, números mágicos, etc.
fdisk -l /dev/md0
Disk /dev/md0: 1197.6 GB, 1197583368192 bytes
2 heads, 4 sectors/track, 292378752 cylinders, total 2339030016 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1572864 bytes
Disk identifier: 0x00000000
xfs_check não parece gostar do sistema de arquivos
xfs_check: /dev/md0 is not a valid XFS filesystem (unexpected SB magic number 0x00000000)
xfs_check: WARNING - filesystem uses v1 dirs,limited functionality provided.
xfs_check: read failed: Invalid argument
cache_node_purge: refcount was 1, not zero (node=0x9dd5930)
xfs_check: cannot read root inode (22)
Eu executei o xfs_repair e ele correu a noite inteira apenas exibindo ............. para a tela, incapaz de encontrar qualquer superbloco secundário.
E é aí que estou um pouco preso.
Qualquer conselho é muito bem-vindo.
Felicidades
Ben