GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Dopo l'arresto anomalo di Fs e l'esecuzione di Fsck, alcuni file sono stati recuperati ma non sono stati inseriti in Lost+found?

Ho avuto un errore di I/O su una partizione del disco rigido esterno sdb4 (il suo solito punto di montaggio è /run/media/yan/data).

La partizione non rispondeva, non era possibile accedervi e si rifiutava di smontare. Non sapevo cosa fare ma staccare il disco e ricollegarlo. Dopodiché ho avuto un errore su fs, quindi ho eseguito fsck:

sudo e2fsck /dev/sdb4 -y -v

Richiedeva molte correzioni (migliaia), ma poiché i dati non sono critici su quel disco, l'ho eseguito 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

Quindi, se ho capito bene, fsck è riuscito a salvare 70k file, quindi la maggior parte dei file da quando avevo 75-80k file su quel disco. Il problema è che solo 20.000 file vengono visualizzati in "/run/media/yan/data/lost+found" e solo 24.000 sull'intera partizione.

[[email protected] ~]$ find /run/media/yan/data/lost+found | wc -l
19786
[[email protected] ~]$ find /run/media/yan/data | wc -l
23691

Ho eseguito nuovamente fsck ma mi dice che la partizione è libera (e ha 74k file?)

[[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]

Ho anche un utilizzo del disco molto diverso in base a df e du (so che dovrebbe esserci una differenza, ma qui sembra troppo grande per essere normale):

[[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

Immagino che ci siano ancora dati recuperati a cui non posso accedere.
Le mie domande sono:

1) È possibile che i file recuperati da fsck non vengano inseriti in lost+found? In tal caso, dove sono?

2) C'è un modo per recuperare quei file mancanti?

3) In caso negativo, come faccio a liberare questo spazio?

MODIFICA:

Ho provato una versione più recente di e2fsck su consiglio di 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

Non ha fatto molto, Lost+found ha ancora lo stesso numero e dimensione di file.

Correlati:come ottenere le descrizioni delle opzioni `shopt` disponibili?

Risposta accettata:

noto anche che il conteggio dei link è molto sospetto (quasi 2^32).

puoi provare e2fsck più recente e/o segnalare un bug. questo è sicuramente un bug.

scansione del dispositivo/partizione con photorec potrebbe ripristinare più file, in cui il formato è supportato e sono contigui. poiché il tuo FS è abbastanza pieno, molti file non sono contigui. photorec non recupera nomi di file o directory. (ad es. se sono mp3, puoi usare qualcosa come picard per applicare nomi di file dai metadati mp3 noti anche come tag ID3). nota photorec richiede spazio libero su un altro filesystem, per recuperare tutti i file.


Linux
  1. Come archiviare e comprimere file su Linux

  2. Linux:directory standard e/o comuni su OS Unix/linux?

  3. Gli script dei dati utente non sono in esecuzione sulla mia AMI personalizzata, ma funzionano in Amazon Linux standard

  4. bash - rimuove tutte le directory (e i contenuti) ma non i file in pwd

  5. Per fsck o non fsck dopo 180 giorni

Trova comando in Linux (Trova file e directory)

Come rinominare file e directory in Linux

Come comprimere file e directory in Linux

Come bloccare la tastiera e il mouse, ma non lo schermo in Linux

Trova facilmente file e directory su Linux

Alcune cartelle e/o file sull'HDD esterno sono accessibili su Linux ma non su macOS e Windows