[Lugge] Re: Quale file system journaled?

  • From: Stefano Sartini <root@xxxxxxxxxxxxx>
  • To: lugge@xxxxxxxxxxxxx
  • Date: Thu, 04 Sep 2003 03:19:58 +0200

Matteo Lunardi wrote:

[SNIP]

Ext3 è un ibrido, è ext2 con il Journal. Se da un lato è comodo quando

...


c) è lento;


Domanda da ignorante: un jfs e' piu' lento rispetto ad un fs non journaled sia a leggere che a scrivere o solo a scrivere?

Qui si va sul difficile :)


Intanto dipende dal tipo d journaling; il journaling dei metadata (di default su tutti i fs che ho usato) serve ad assicurare la coerenza del filesystem, non dei dati scritti o letti, quindi in realtà l'overhead è minimo, è come tenere un DB di ogni operazione, considerata come transazione atomica (puro stile database) in modo da poter sempre risalire ad una ultima configurazione "buona" del fs. In queste condizioni l'overhead è soprattutto in scrittura, in lettura dovrebbe essere nullo se non durante il replay del log (ma dovrebbe avvenire SOLO dopo uno shutdown anomalo)

Lessi tempo fa sul sito della RedHat che, in una speciale modalità d funzionamento di ext3 ovvero del journaling completo (ext3 è l'unico a farlo) di data e metadata, addirittura alcune operazioni di lettura vengono velocizzate, in quanto se scritti "di recente" i dati vengono presi dalla "cache" del journal invece che dal fs stesso.

Purtroppo nn ho mai provato questa modalità (anche perchè con alcuni kernel pre 2.4.18 c'era una possibile race condition in tale modalità) per cui nn so se sia vero, pero' ha senso. Di certo le situazioni in cui se ne beneficia non sono molte...

d) ha ancora tutti i limiti di ext2 (2gb sul max file se nn lo si modifica; fsck ogni x giorni o ogni y volte che si monta il fs, se nn lo si modifica esplicitamente)

Ah, quello di fsck non mi era chiaro, pensavo che col journal non ci fosse piu' da aspettare anni all'avvio, invece non fa il fsck solo quando il fs non viene smontato correttamente, mentre continua a farlo ogni tot per "manutenzione"? Nessuno degli altri jfs si comporta cosi'?

No, tra l'altro è vero che con il tune2fs si puo' cambiare tale comportamento, ma io una volta lo feci (incautamente) mentre stavo compilando un kernel ed il risultato fu un fs totalmente devastato, per questo consiglio di farlo appena formattata la partizione =)


...

XFS è un prodotto SGI, reso opensource un po d anni fa. A mio giudizio è il miglior fs in corcolazione tra quelli che ho provato.
Non è veloce come ReiserFS, ma al tempo stesso scala benissimo con l'aumentare delle dimensioni del fs, per cui le prestazioni del giorno zero tenderanno ad essere simili a quelle del giorno 200 dal primo avvio del server, anche su macchine che macinano grosse qntità d dati; inoltre ha un grosso vantaggio, ovvero se trova grosse inconsistenze nel fs lo "smonta" in automatico, e chi ha passato un pomeriggio a dire "yes" davanti ad un fsck su ext2 andato a puttane sa cosa vuol dire smontare un fs prima che siano fatti troppi danni. Oltrettutto incorpora ACL ed altre amenità che nn ha nessun altro fs.


Sulle acl avevo letto, pero' ancora non avevo trovato dettagli, rispetto ai permessi di ext2 che cos'ha in piu?

Se t devo dire la verità io nn le ho mai usate, come tutto il supporto per i volumi virtuali, pero' suppongo che insieme ad un kernel che è in grado di gestire le ACL, aumentino sensibilmente il grado di sicurezza, essendo le permissions cablate direttamente nel fs. Il sito SGI è molto completo, http://opensource.sgi.com/projects/xfs/ , di sicuro qcosa d utile trovi


In quanto al codice è molto sviluppato, sia da SGI che dalla community in generale, pero' non è incorporato nel kernel 2.4.x. Potrebbe sembrare poca cosa (le patch -XFS al kernel escono quasi assieme al kernel stesso) ma non dimentichiamoci che le patch portano sempre qualche noia (ad esempio senza metter mano al codice non si riesce a mettere XFS e GRSEC sullo stesso kernel...)


Totalmente ignorante: mi diresti in due parole che cos'e' GRSEC? ;-) di sfuggita ho solo trovato qualche messaggio su una mailing list ospitata su www.nsa.gov! che se non mi ricordo male tempo fa aveva fatto una versione 'sicura' si linux...

In parte è colpa mia, continuo a chiamarle GRSEC ma in realtà le patch di grsecurity.net si fermano al kernel 2.2.x, mentre per il kernel 2.4.x sono sotto il progetto Openwall, http://openwall.com/linux/


In pratica è una serie di patch al kernel per impedire gli exploit + classici (esecuzione di codice nello stack e via discorrendo).
Non risolvono ogni cosa, ma insomma, tutto fa =)


Spero di essere stato chiaro, ripeto che tutto cio' è frutto di un po di analisi (tempo fa) delle differenze tra i vari fs e soprattutto delle mie impressioni d'uso sui server che gestisco da oltre un anno su in I.Net.
Sperando di essere stato utile,


Chiarissimo e molto utile, come anche gli altri che mi hanno risposto.

Grazie.


ciao,


Stefano

========---------- Prima di scrivere in m-list per favore leggi il regolamento http://www.lugge.net/soci/index.php?link=manifesto

Archivio delle e-mail postate in lista http://www.freelists.org/archives/lugge/

Modifica dell'account sulla lista LUGGe http://www.lugge.net/soci/index.php?link=manifesto.htm#list

Other related posts: