[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Corruzione filesystem?



Ciao,

gli array sono tutti assemblati e risultano clean.
Il problema è che se invece di fare tardi la notte per lavoro stessi a lettuccio al caldo, non avrei bisogno di disturbare la lista eseguendo fsck su un array piuttosto che su un file system.

Ovviamente lanciando fsck sulle partizioni piuttosto che sugli interi array, non risulta alcun problema.

L'ora tarda e questo link ufficiale https://raid.wiki.kernel.org/index.php/Growing (sezione Extending the Filesystem) mi hanno tratto in inganno.

Forse potrebbe essere il caso di segnalare l'inesattezza?

In ogni caso chiedo venia per la figura barbina, e grazie a Felipe per la dritta.

Adesso è tutto OK.

Buon we.

Marco


Il giorno 6 febbraio 2016 10:44, Felipe <felipe.salvador@gmail.com> ha scritto:
In data sabato 6 febbraio 2016 01:46:54, Marco Gregorio ha scritto:
> Salve a tutti,
>
> Primo messaggio in lista, spero di non sbagliare a postare qua.
>
> Cerco di spiegare brevemente la situazione e poi vado dritto al punto.
>
> Ho due macchine, Fileserver e Backupserver.
>
> Fileserver ha / su SSD, e /storage su un RAID 10 mdadm (/dev/md127) con 4
> dischi da 1 TB.
> Backupserver ha / su SSD, e un RAID 5 mdadm (/dev/md0) con 5 dischi da 1 TB
> come target iSCSI.
>
> Backupserver mette a disposizione il target /dev/md0 a Fileserver via SCST.
> Fileserver si connette al target con open-iscsi, e vede l'array come
> /dev/sdf, con unica partizione sdf1 e filesystem ext4.
>
> /dev/sdf1 è montato come /backup.
>
> 2 volte al giorno Fileserver esegue backup di /storage usando dirvish
> (quindi sostanzialmente rsync) su /backup.
>
> Nei giorni scorsi ho sostituito i dischi da 1 TB con dischi da 4 TB.
> Partizionati con gdisk, riaggiunti con mdadm uno ad uno, estendo l'array a
> 16 TB per Backupserver e ad 8 TB per Fileserver.
>
> Fin qui, tutto bene.
> Ora inizia la parte strana.
>
> Vado per estendere il filesystem, e per scrupolo eseguo su Backupserver,
> con servizio SCST arrestato e quindi ad array smontato il comando *fsck
> /dev/md0.*

Se hai /dev/md0* l'array dovrebbe essere assemblato, diversamente non credo
sia corretto lanciare fsck su dischi facenti parte di array assemblati con
RAID che implicano lo striping. Almeno per quanto riguarda lo striping (0),
fsck va lanciato su md assemblati, diversamente ci può stare che vada in
pappa.

>
> Il terminale risponde :
>
> fsck from util-linux 2.25.2
> e2fsck 1.42.13 (17-May-2015)
> ext2fs_open2: Valore magic non corretto nel super-blocco
> fsck.ext2: Superblock invalid, trying backup blocks...
> Super-blocco has an non valido journal (inode 8).
> Azzera<s>? - rispondo no
> fsck.ext2: Numero di inode non valido controllando il journal ext3 per
> /dev/md0
>
> Quindi mi insospettisco e provo a montare in locale /dev/md0. *Fallisce
> miseramente* con il classico
>
> mount: wrong fs type, bad option, bad superblock on /dev/md0,
>        missing codepage or helper program, or other error
>
>        In some cases useful info is found in syslog - try
>        dmesg | tail or so.
>
> Ripristino il link iSCSI, e stavolta da Fileserver eseguo* fsck /dev/sdf
> (cioè l'array md0 di Backupserver)*
>
> Di nuovo :
>
> fsck from util-linux 2.25.2
> e2fsck 1.42.13 (17-May-2015)
> ext2fs_open2: Valore magic non corretto nel super-blocco
> fsck.ext2: Superblock invalid, trying backup blocks...
> Super-blocco has an non valido journal (inode 8).
> Azzera<s>? - rispondo no
> fsck.ext2: Numero di inode non valido controllando il journal ext3 per
> /dev/sdf

Ora non mi sovviene il perché restituisca /dev/sdf, quando tu hai il file
system su /dev/sdf1. Fsck lo lanci su /dev/sfd1 giusto?
Noto che, fra l'altro, su un file system ext4 lui (fsck.ext2!) parla di
ext3(!).
Anche qui, come lanci fsck? Forse il modo più corretto è quello di invocare
fsck.ext4? Sto ipotizzando.

> *DUBBIO ATROCE*
>
> Smonto /storage, e lancio fsck /dev/md127
>
> fsck from util-linux 2.25.2
> e2fsck 1.42.13 (17-May-2015)
> ext2fs_open2: Valore magic non corretto nel super-blocco
> fsck.ext2: Superblock invalid, trying backup blocks...
> Super-blocco has an non valido journal (inode 8).
> Azzera<s>? - rispondo no
> fsck.ext2: Numero di inode non valido controllando il journal ext3 per
> /dev/md127
>
> *Provo a montare /dev/sdf1 su /backup e tutto funziona perfettamente.*
>
> *Monto di nuovo /dev/md127 si /storage ed è tutto ok.*Riesco a vedere i
> file, a leggerli, a scrivere senza alcun problema.
>
> Qualcuno ha idea di cosa stia succedendo, e dove o cosa stò sbagliando??
> E anche se possa essere lontanamente intelligente dire a fsck di fare il
> suo lavoro?

Penso di no. Penso che tu ti stia muovendo bene. Fsck lunge dall'essere la
soluzione a questo tipo di problemi. Il modo più corretto di interpretare
l'utilità di fsck è quello di usarlo per il nome che porta, file system check.
Tutto quello che viene dopo (l'eventuale decisione di farlo proseguire per
tentare di correggere) deve essere preceduto da backup, analisi,
approfondimento e speranza.

> E' possibile che fsck si sbagli, o è molto probabile che ci sia un problema?
>
> I filesystem sono tutti EXT4.
>
> Io per precauzione stò facendo il backup di tutto su un NAS, ma la cosa mi
> preoccupa.

Bravo :)

> Grazie a tutti

Reply to: