PDA

View Full Version : Problemi con ReiserFS e SYSINIT


Herod2k
05-01-2006, 01:05
Salve ragazzi, ho un problema (ma va!),

ho messo da poco ARCHLinux la 0.7.1 veramente un'ottima distro, ma da un paio di giorni mi è comparso un'errore che visualizzo durante l'avvio.

ArchLinux, avvia il kernel e poi sysinit e durante quest'ultimo mi compare questo errore.
Reiserfs super block in block 16 on 0x308 of format 3.6 with standard
journal
Blocks (total/free): 873526/158189 by 4096 bytes
Filesystem is clean
Filesystem seems mounted read-only. Skipping journal replay.
Checking internal tree..finished
Ho scartabbellato un po tra i vari log e mi sono accorto di questo messaggio durante il caricamento del Kernel:
ReiserFS: hda2: found reiserfs format "3.6" with standard journal
ReiserFS: hda2: using ordered data mode
ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18, max trans len 1024, max batch 900,
max commit age 30, max trans age 30
Secondo me, visto che il ReiserFS è stato montato 30 volte ora deve fare il check, ma durante l'init non riesce a farlo perché il sistema è Read-Only :muro: il computer prosegue e il sistema funziona correttamente perché "Filesystem is clean".
Ho provato ad avviare con una distro live (Gentoo RR4) e fare un reiserfsck /dev/hda2 che funziona perfettamente e viene portato a termine con successo, ma la situazione non cambia il problema persiste.
Ovviamente ho provato a fare il check ache da sistema avviato ma non riesco perché mi da il seguente errore:
Partition /dev/hda2 is mounted with write permissions, cannot check it
ma era ovvio, so che questi comandi vanno dati a partizione smontata, ma non miricordo come si entra in modalità senza root montato, avete presente quando vi crasha spesso il sistema e linux vi obbliga a dare l'fsck?? Come ci si arriva?
Per ora l'unica idea che mi è venuta in mente è una editare il file rc.sysinit
e trasformare la riga da:
/bin/mount -n -o remount,ro /
a
/bin/mount -n -o remount,rw /
ma mi pare un po' "sporca" e poi ho un po paura di perdere dati dall'HD e quindi attendo vostre idee a riguardo...

Penso di aver spiegato abbastanza bene la situazione ora vi lascio un po' di dati Utili:
Distro: ArchLinux 0.7.1
Kernel: 2.6.15-ARCH
/etc/fstab:none /dev/pts devpts defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/cdrom /mnt/cd iso9660 ro,users,noauto,unhide 0 0
/dev/hda3 swap swap defaults 0 0
/dev/hda2 / reiserfs defaults 0 2
/dev/hda4 /mnt/dati reiserfs defaults 0 0
192.168.0.3:/export/home/scambio /mnt/scambio nfs rw 0 0
192.168.0.3:/export/home/dati /mnt/server nfs rw 0 0
192.168.0.3:/export/home/lavori /mnt/lavori nfs rw 0 0

Per ora è tutto...

Grazie.

H2K

ilsensine
05-01-2006, 08:23
ArchLinux, avvia il kernel e poi sysinit e durante quest'ultimo mi compare questo errore.
Reiserfs super block in block 16 on 0x308 of format 3.6 with standard
journal
Blocks (total/free): 873526/158189 by 4096 bytes
Filesystem is clean
Filesystem seems mounted read-only. Skipping journal replay.
Checking internal tree..finished
Non è un errore

Ho scartabbellato un po tra i vari log e mi sono accorto di questo messaggio durante il caricamento del Kernel:
ReiserFS: hda2: found reiserfs format "3.6" with standard journal
ReiserFS: hda2: using ordered data mode
ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18, max trans len 1024, max batch 900,
max commit age 30, max trans age 30
Secondo me, visto che il ReiserFS è stato montato 30 volte ora deve fare il check,
No; quei "max commit age 30, max trans age 30" non hanno nulla a che vedere con il numero di mount prima di un fsck. Il reiserfs non è ext2, non devi fare un fsck dopo un tot di mount.

ma durante l'init non riesce a farlo perché il sistema è Read-Only :muro:
Se ArchLinux vuole forzare un fsck (non mi è chiaro da quello che descrivi), il bug è di ArchLinux.

Scoperchiatore
05-01-2006, 10:00
resiserfsck (il tuo checkfs) non permette il check del file system se esso non è montato in sola lettura, quind ecco perchè viene montato preliminarmente in sola lettura. In seguito, vedrai che viene montato in rw.

Non hai alcun errore, quindi non ti preoccupare. Al massimo, elimina i servizi checkroot e checkfs dall'avvio, e ricordati di farli manualmente quando spegni in modo brusco.

Io non faccio mai il controllo di file system, e sono ancora illeso e senza danni.

Herod2k
05-01-2006, 10:23
Non è un errore
Ho pensato fosse un'errore, perché ha iniziato a comparire questo messaggio da poco, prima non lo scriveva, ho pensato: perché il SYSInit mi sta comunicando questo? E' un qualche cosa che devo risolvere?
No; quei "max commit age 30, max trans age 30" non hanno nulla a che vedere con il numero di mount prima di un fsck. Il reiserfs non è ext2, non devi fare un fsck dopo un tot di mount.
Mea culpa, ero convinto che avesse bisogno di un check...ho pensato: "quella scritta vorrà comunicarmi qualche cosa, prima non c'era ora si.
Se ArchLinux vuole forzare un fsck (non mi è chiaro da quello che descrivi), il bug è di ArchLinux.
Sinceramente non ho capito neanche io qual'è il problema, ho letto il messaggio, e ne ho dedotto che reiserfs avesse qualche problema.....

Sapete cosa mi ha colpito di più? Che il SYSInit al momento del check rimane [BUSY] come status e continua a rimanere [BUSY] anche durante l'avvio dei demoni e il caricamento dei moduli che mi danno tutti [OK], prima (fino a due giorni fa) avevo tutti [OK] è stato quello a destare più sospetto....

resiserfsck (il tuo checkfs) non permette il check del file system se esso non è montato in sola lettura, quind ecco perchè viene montato preliminarmente in sola lettura. In seguito, vedrai che viene montato in rw.
Questo lo sapevo pure io, però li per li rileggendo il messaggio (all'1:00 di notte) sembrava dicesse il contrario:"Filesystem seems mounted read-only. Skipping journal replay."[/QUOTE]


Non hai alcun errore, quindi non ti preoccupare. Al massimo, elimina i servizi checkroot e checkfs dall'avvio, e ricordati di farli manualmente quando spegni in modo brusco. Ok Ipotizzando di aprire il file rc.sysinit e commentando la parte del checkfs, come faccio a forzare il check del FS a mano?

ilsensine
05-01-2006, 10:44
Il check di un reiserfs può essere problematico, ma fortunatamente è raro doverlo fare. Puoi farlo in modalità di manutenzione (init 1), con il root fs montato in sola lettura (umount -r /), e lanciare il reiserfsck con solo controllo in sola lettura. Se il reiserfsck ti avverte che è necessario intraprendere qualche azione (--rebuild-sb, --rebuild-tree, --fix-fixable) ho paura che non si possa fare a fs montato (anche in r/o), ma dovresti usare un live cd.

Herod2k
05-01-2006, 11:32
Il check di un reiserfs può essere problematico, ma fortunatamente è raro doverlo fare. Puoi farlo in modalità di manutenzione (init 1), con il root fs montato in sola lettura (umount -r /), e lanciare il reiserfsck con solo controllo in sola lettura.

Sono passato a init 1 e ho provato a smontare / sia con il comando che mi hai passato tu:
umount -r /
sia con
mount -n -o remount,ro /
che è il comando che trovo dentro rc.sysinit (come avevo già scritto)
in entrambi i casi mi dice:
mount : / è occupato
oppure
mount : / device occupato
insomma il concetto è lo stesso
Se il reiserfsck ti avverte che è necessario intraprendere qualche azione (--rebuild-sb, --rebuild-tree, --fix-fixable) ho paura che non si possa fare a fs montato (anche in r/o), ma dovresti usare un live cd.
il reiserfsck è perfetto se lo faccio da una distro live mi dice che va tutto ok e il filesystem è clean...
Le cose che non mi vanno giù e che vorrei risolvere sono 2:

Vorrei riuscire a fare un check dal mio computer senza usare una distro live
Vorrei far sparire quella scritta all'avvio...questo [BUSY] che non diventa [OK] non mi va proprio giù

Idee? Suggerimenti?

ilsensine
05-01-2006, 11:48
Sono passato a init 1 e ho provato a smontare / sia con il comando che mi hai passato tu:
umount -r /
sia con
mount -n -o remount,ro /
che è il comando che trovo dentro rc.sysinit (come avevo già scritto)
in entrambi i casi mi dice:
mount : / è occupato
oppure
mount : / device occupato
insomma il concetto è lo stesso
C'è qualcuno che tiene file aperti in rw...

il reiserfsck è perfetto se lo faccio da una distro live mi dice che va tutto ok e il filesystem è clean...
...ovviamente.

Vorrei riuscire a fare un check dal mio computer senza usare una distro live
-ENOWAY se non riesci a montare il fs in ro (e per il reiser questo basta per tutti i check tranne --rebuild-tree)

Vorrei far sparire quella scritta all'avvio...questo [BUSY] che non diventa [OK] non mi va proprio giù
E' un problema degli script di ArchLinux. Vai a capire...

Herod2k
05-01-2006, 12:02
C'è qualcuno che tiene file aperti in rw...


...ovviamente.

-ENOWAY se non riesci a montare il fs in ro (e per il reiser questo basta per tutti i check tranne --rebuild-tree)

E' un problema degli script di ArchLinux. Vai a capire...
Vabbe ho capito, farò un'altro po' di ricerche su google, ma mi sa tanto che rimarrà così la situazione :D :D :D :D

Grazie lo stesso

H2K