Tuve un error de E/S en una partición de disco duro externo sdb4 (su punto de montaje habitual es /run/media/yan/data).
La partición no respondía, no se podía acceder a ella y se negó a desmontarla. No sabía qué hacer, pero desconecte el disco y vuelva a conectarlo. Después de eso, tuve un error en su fs, así que ejecuté fsck:
sudo e2fsck /dev/sdb4 -y -v
Estaba pidiendo muchas correcciones (miles) pero como los datos no son críticos en ese disco, lo ejecuté con -y.
data contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
# Fixed invalid inode numbers, incorrect filetypes, cleared links, deleted/unused inodes
Pass 3: Checking directory connectivity
# Connected unconnected directory inodes to /lost+found
Pass 4: Checking reference counts
#Fix inodes ref count, connected unattached inode to /lost+found
Pass 5: Checking group summary information
# Fix block bitmap differences, blocks count wrong for group
# Fix inode bitmap differences, directories count wrong for group, free inodes count wrong for group
data: ***** FILE SYSTEM WAS MODIFIED *****
72955 inodes used (0.14%, out of 51200000)
2390 non-contiguous files (3.3%)
17 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 72264/636/1
186984621 blocks used (91.30%, out of 204800000)
0 bad blocks
34 large files
70447 regular files
2453 directories
0 character device files
0 block device files
0 fifos
4294966642 links
46 symbolic links (46 fast symbolic links)
0 sockets
------------
71063 files
Entonces, si entiendo correctamente, fsck logró recuperar 70k archivos, por lo que la mayoría de los archivos desde que tenía como 75-80k archivos en ese disco. El problema es que solo aparecen 20 000 archivos en ‘/run/media/yan/data/lost+found’, y solo 24 000 en toda la partición.
[[email protected] ~]$ find /run/media/yan/data/lost+found | wc -l
19786
[[email protected] ~]$ find /run/media/yan/data | wc -l
23691
Volví a ejecutar fsck pero me dice que la partición está limpia (¿y tiene archivos de 74k?)
[[email protected] ~]$ sudo fsck /dev/sdb4
fsck from util-linux 2.28
e2fsck 1.42.13 (17-May-2015)
data: clean, 74200/51200000 files, 186685980/204800000 blocks[/cpp]
También tengo un uso de disco muy diferente según df y du (sé que debería haber una diferencia, pero aquí parece demasiado grande para ser normal):
[[email protected] ~]$ df -h /run/media/yan/data
Filesystem Size Used Avail Use% Mounted on
/dev/sdb4 769G 700G 31G 96% /run/media/yan/data
[[email protected] ~]$ du -sh /run/media/yan/data
586G /run/media/yan/data
Supongo que todavía hay datos recuperados a los que no puedo acceder.
Mis preguntas son:
1) ¿Es posible que los archivos recuperados por fsck no se coloquen en los archivos perdidos y encontrados? En ese caso, ¿dónde están?
2) ¿Hay alguna forma de recuperar esos archivos perdidos?
3) Si no, ¿cómo libero este espacio?
EDITAR:
Probé una versión más reciente de e2fsck con la recomendación de sourcejedi:
[[email protected] build]$ sudo ./e2fsck/e2fsck -f /dev/sdb4
e2fsck 1.43.3 (04-Sep-2016)
Pass 1: Checking inodes, blocks, and sizes
Inode 40501578 extent tree (at level 2) could be narrower. Fix<y>? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
data: ***** FILE SYSTEM WAS MODIFIED *****
data: 74200/51200000 files (3.2% non-contiguous), 186685964/204800000 blocks
No sirvió de mucho, Lost+found todavía tiene el mismo número y tamaño de archivos.
Relacionado:¿Cómo obtener descripciones de las opciones `shopt` disponibles?Respuesta aceptada:
También noté que el número de enlaces es muy sospechoso (casi 2^32).
puede probar e2fsck más reciente y/o informar un error. esto es ciertamente un error.
escaneando el dispositivo/partición con photorec
podría restaurar más archivos, donde el formato sea compatible y sean contiguos. dado que su FS está bastante lleno, muchos archivos no son contiguos. photorec
no recupera nombres de archivos o directorios. (por ejemplo, si son mp3, puede usar algo como picard
para aplicar nombres de archivo de los metadatos mp3, también conocidos como etiquetas ID3). nota photorec
requiere espacio libre en otro sistema de archivos para recuperar todos los archivos.