Page 1 of 1

tiedostojärjestelmien erot?

Posted: Sat Dec 03, 2005 6:54 pm
by woodhead
Mitä eroa linuxin eri tiedostojärjestelmillä oikein on? Esimerkiksi reiserfs:llä ja ext3:lla? Itse normaalisti olen käyttänyt vain ext3:sta, koska se kai on muutenkin käytetyin ja useimmiten oletuksena, mutta viime viikolla asensin ubuntun käyttäen reiserfs:ää enkä ainakaan käytössä huomaa mitään eroja. Onko niillä sitten mitään muuta eroa kuin nimet ja kehittäjät? :D

Posted: Sat Dec 03, 2005 9:28 pm
by linuxtuxhellsinki
No kyllä niillä on aika paljonkin eroa, mutta sinäänsä on ihan sama kumpaa käytät.

ReiserFS on kaikissa testeissä ollut nopeampi käsittelemään pieniä tiedostoja, joten sitä suositellaan käytettäväksi osioilla joissa on paljon pieniä tiedostoja esim. /home tai /var ja eteenkin jos pitää yllä jotain keskustelupalstaa tms.
Toinen juttu on että se säästää levytilaa pienillä tiedostoilla koska se osaa tallentaa tiedostojen 'hännät(tail)' yhteen tiedostoon. Eli jos yleensä tiedostot kuluttaa levytilaa 4096 tavun blokeissa ja tiedosto on 4098 tavun kokoinen niin silloin se vie 8192 tavua levytilaa, mutta reiser osaa tallentaa noita ylimeneviä häntiä yhteen tiedostoon jolloin levytilaa voi säästyä huomattavan paljonkin joissain tilanteissa.
Huono pointti siinä on että se vie vähän sitä Reiserin nopeutta mistä sitä kehutaan, jonka takia itsellänikin kun on /home osio reiserinä niin olen /etc/fstab:issa laittanut sen pois päältä optiolla 'notail' :?

Ext3 taas on Linuxin de-facto standardi, koska se on varmempi ja luotettavampi ja siihen on parempi tuki kaikilla ohjelmilla.
Ja toinen syy siihen on että sitä pidetään yllä paremmin, eli kehittäjät ovat tutkineet koodin läpikotaisin ja korjanneet kaikki bugit ym. Kun taas esim. reiser 3.6:ssa on kuulemma korjaamattomia bugeja joita Hans Reiser ja hänen kehittäjätiiminsä ei enää meinaa edes korjata.
Vaan he ovat siirtyneet kokonaan Reiser4 kehitykseen joka on tällä hetkellä kovasti testattavana jopa monilla Gentoon käyttäjillä, mutta taitaa vielä vaatia Kernelin patchin ja onkin parempi vaan odotella jos ne sen saisivat kuntoon ja ehkä seuraavaan Kerneliin mukaan.

SuSe ja Lindows taitaa olla ainoita distroja jotka käyttää Reiseriä oletus tiedostojärjestelmänä :?:

Jos haluat enemmän tutustua niiden (+XFS:n ja JFS:n) eroihin, niin etsi näiltä sivuilta hakusanoilla 'reiserfs' tms. niin tulee monta threadia joissa on linkkejä testeihin ym. 8)

Posted: Sun Dec 04, 2005 7:34 pm
by Obi-Lan
Ja perinteiseen linux tyyliin molemmilla tiedostojärjestelmillä on omat kuppikunnat jotka puolustaa omaa suosikkia vereen ja henkeen. Itsellä ollut reiserfs 3.6 käytössä eikä se ainakaan tähän mennessä ole aiheuttanut ongelmia. Itseasiassa hyvin osasi korjata itsensä kovon sekoilun jälkeen. Tosin luultavasti ext3 löytyy vastaavat työkalut.

Reiser4 lupailee sitten jo kaikkea hienoa, pitänee kokeilla kunhan siitä saa tosiaan vakaan jossain vaiheessa...

Posted: Sun Dec 04, 2005 8:59 pm
by jmz2
linuxtuxhellsinki wrote:ReiserFS on kaikissa testeissä ollut nopeampi käsittelemään pieniä tiedostoja, joten sitä suositellaan käytettäväksi osioilla joissa on paljon pieniä tiedostoja esim. /home tai /var ja eteenkin jos pitää yllä jotain keskustelupalstaa tms.
Tuossa ei ole osion kanssa mitään tekemistä. Reiserin nopeus tulee esille silloin, kun hakemistossa on paljon tiedostoja (useita tuhansia). Muissa tapauksissa Reiser on nopeampi ainoastaan tiedostojen tuhoamisessa.

Suosittelen tärkeiden tiedostojen tallentamista ext3-tiedostojärjestelmään, ja peilaamaan ne toiselle levylle. Esimerkiksi minulla on /home ext3-tiedostojärjestelmällä peilattuna kahdelle muulle levylle :) Muut järjestelmän osat ovat korvattavissa; jos levy hajoaa, niin Linuxin saa takaisin pystyyn, mutta omia töitä ei.

Posted: Sun Dec 04, 2005 9:38 pm
by Paapaa
Myös kiintolevyn fragmentoitumisessa ja CPU usagessa lienee eroja tiedostojärjestelmien välillä. Olen antanut itselleni ymmärtää, että ReiserFS vie enemmän CPU-aikaa ja saattaa täyttyessään fragmentoitua ja hidastua Ext3:a helpommin. En ole tätä testannut käytännössä. Tässä jotain fraagmentoitumisesta:

http://www.informatik.uni-frankfurt.de/ ... index.html

Reiser 4:ää tuskin kannattaa kokeilla, ennen kuin se hyväksytään vanillaan. Se on ainakin jonkinlainen tae siitä, että pahimmat mokat/bugit/suunnitteluvirheet on korjattu.

EDIT: Täällä lisää tuoretta keskustelua aiheesta:

http://forums.gentoo.org/viewtopic-t-408968.html

Posted: Sun Dec 04, 2005 10:10 pm
by jmz2
Paapaa wrote:Myös kiintolevyn fragmentoitumisessa ja CPU usagessa lienee eroja tiedostojärjestelmien välillä. Olen antanut itselleni ymmärtää, että ReiserFS vie enemmän CPU-aikaa
Kaikki tiedostojärjestelmät muuttuvat CPU-riippuvaisiksi suurilla kuormilla. XFS on ainoa journaloiva tiedostojärjestelmä, joka skaalautuu suurille kuormille parhaiten 2.4 -sarjan ytimissä (minulla ei ikävä kyllä ole tuoreempia tietoja). Ext2 ja XFS tarjoavat parhaimmat suorituskyvyt suurilla kuormilla. Pienillä kuormilla tiedostojärjestelmien erot eivät ole suuria, ja kotikäyttöön niitä ei edes kannata alkaa säätämään. Ja kuten tuossa viittaamassasi keskustelussakin todetaan, ext3 sopii parhaiten useimpiin käyttötarkoituksiin.

Posted: Mon Dec 05, 2005 8:33 am
by linuxtuxhellsinki
jmz2 wrote:
Paapaa wrote:Myös kiintolevyn fragmentoitumisessa ja CPU usagessa lienee eroja tiedostojärjestelmien välillä. Olen antanut itselleni ymmärtää, että ReiserFS vie enemmän CPU-aikaa
Kaikki tiedostojärjestelmät muuttuvat CPU-riippuvaisiksi suurilla kuormilla. XFS on ainoa journaloiva tiedostojärjestelmä, joka skaalautuu suurille kuormille parhaiten 2.4 -sarjan ytimissä (minulla ei ikävä kyllä ole tuoreempia tietoja). Ext2 ja XFS tarjoavat parhaimmat suorituskyvyt suurilla kuormilla. Pienillä kuormilla tiedostojärjestelmien erot eivät ole suuria, ja kotikäyttöön niitä ei edes kannata alkaa säätämään. Ja kuten tuossa viittaamassasi keskustelussakin todetaan, ext3 sopii parhaiten useimpiin käyttötarkoituksiin.
Kyllä kaikissa testeissä joita olen lukenut niin ReiserFS on ollut ylivoimaisesti eniten CPU-aikaa kuluttava järjestelmä. En tiedä sitten että näkyykö se mitenkään perus kotikäytössä, mutta luulisin sen vaikuttavan jos käyttää jotain softa-RAIDia ja eteenkin jos käyttää 5:sta tai 6:sta (tai 10) :?:


Muistelisin myös että tuo vähiten CPU-aikaa käyttävä journaloiva järjestelmä olisi ollut JFS, ainakin jossain LinuxFormat:in tekemässä testissä. (voi olla että se oli myös XFS, pitää tarkistaa himassa)
-------------
Edit : Juu kyllä se oli JFS joka käytti vähiten CPU-aikaa ja pesi XFS:n melkein jokaisessa testissä muutenkin. Ainoat kohdat joissa se käytti hivenen enemmän CPU-aikaa kuin XFS, mutta niissäkin tulos oli muuten 2x parempi olivat 'Random create/delete 0byte files' (ja Reiserit olivat about 2x nopeampia kuin JFS)
Joka sinäänsä tuntuu vähän turhalta testiltä normikäyttöä ajatellen (0-tavun tiedostot :roll: )
64Kt:n kokoisten tiedostojen kohdalla alkaa muut TJ:t mennä Reiser4:n ohi, tai tulevat ainakin tasoihin (ainoastaan Random Delete:ssä se vielä pesee muut)
-------------
Ja testithän oli tietenkin suoritettu Bonnie++:lla, kuten asiaan yleensä kuuluu :wink:
_______________________________________________________________________________________

Minäkin kyllä suosittelisin käyttämään Ext3:sta, vaikka oma kotihakemistoni onkin Reiserillä. :roll: Koska onhan se datan säilyvyys tärkeämpää kuin pieni nopeuden lisäys, tai sitten voi siirtyä suoraan RAID-0:aan :P

Posted: Mon Dec 05, 2005 2:38 pm
by Zarhan
Itse käytän XFS:ää.

Syyt ovat lähinnä se että reiser hajoaa kun levyn täyttöaste alkaa mennä > 90%, XFS:ssä tätä ongelmaa ei ole. Lisäksi se on monessa testissä osoittautunut yleisesti ottaen nopeimmaksi järjestelmäksi mitä löytyy.

Posted: Mon Dec 05, 2005 3:51 pm
by Kaapeli
Itse käytin ennen yksinomaan XFS tiedostojärjestelmää, mutta myöhemmin siirryin käyttämään Reiser4;sta juuriosiolla ja XFS:ää niillä osioilla millä säilön mediatiedostoja. Itse koen että Reiser4 on kaikkein nopein sillon kun käsitellään runsaasti pikkutiedostoja.

XFS:stä voin sanoa sen verran että Gentoo käytössä portage puun läpikäyminen ja yleensäkin paketeitten purkaminen/kääntäminen oli todella hidasta, huomattavan suuren osan ajasta prosessori odotti sitä että levy saisi kirjotettua/luettua datan loppuun. Siirryttyäni käyttämään Reiser4:sta nopeutui pakettien kääntäminen ja portagen käyttö huomattavasti. Yksi syy siihen on se että Reiser4 puskuroi datan kirjoittamista hyvin pitkään ja sitten lopulta flushaa kaikki kirjoitusoperaatiot yhtenä isona blokkina. Samoiten Reiser4 pystyy kirjoittamaan useita pieniä tiedostoja samaan 4k blokkiin, jos tarve vaatii. Tämän seurauksena esim puretun tar paketin data löytyy yleensä hyvin pieneltä alueelta levyltä mistä se on nopea lukea uudelleen. Huono puoli Reiser4:sessa vastaavasti on se että ajan mittaan levy tahtoo pirstoutua eikä sille vielä ole olemassa repackeria jolla levyä saisi defragmentoitua. Toinen ongelma on ajoittaiset interactivity ongelmat, eli kun Reiser4 päättää flushata kirjoituspuskurit levylle, saattaa joskus koko kone hidastua hetkeksi kunnes kirjoitusoperaatio on ohi. Minkäänlaisia stabiilisuusongelmia itselläni ei ole ollut Reiser4:n kanssa. Olen käyttänyt sitä nyt yli puoli vuotta 24/7 käytössä usealla eri partitiolla eikä mitään ole ikinä hukkunut enkä muutenkaan voi suuremmin moittia sitä. Mitä tulee suurempaan CPU käyttöasteeseen niin itse olen sitä mieltä että on aivan sama jos käytetään vähän enemmän CPU aikaa levyoperaatioiden optimoimiseen mitä jos odotettaisiin sama aika IOWait tilassa idlaten.

XFS sopii mielestäni hyvin osioille sillon kun sinne tallennetaan pääsääntöisesti isoja tiedostoja. Tällöin ei tarvi kärsiä XFS:n huonosta nopeudesta pienten tiedostojen kanssa. Yleensäkin on järkevää hajauttaa isot mediatiedostot ja portagen yms. pikkutiedostot eri levyille, pysyy pirstoutuminen paljon paremmin kurissa. XFS:lle on olemassa myös defragmentointityökalu, xfs_fsr (tulee xfsdump paketin mukana), jolla saa pirstoutuneet tiedostot defragmentoitua hyvin, mutta kyseinen työkalu ei lainkaan eheytä vapaata tilaa. Eli jos käytössä on iso levyosio ja samalle osiolle laitetaan paljon sekä pieniä että isoja tiedostoja, pirstoutuu vapaa levytila lopulta melko pahasti eikä levyn käyttöä ole enää helppo saada nopeaksi.

Itse olen sitä mieltä että Reiser4 sopii hyvin yleiseen sekakäyttöön Gentoo ympäristössä ja XFS paremmin isojen tiedostojen varastointiin sekä myös tietokantakäyttöön, melkeinpä mihin tahansa paitsi pikkutiedostojen käyttöön. Se mitä itse haluaa käyttää on jokaisen omassa harkinnassa. Reiser4:sta en juuri menisi sanomaan epästabiiliksi (ainakaan x86 tai amd64 ympäristössä), sen verran hyvin se on toiminut niillä koneilla missä tiedän sen olevan käytössä.

Posted: Mon Dec 05, 2005 4:03 pm
by Zarhan
Kaapeli wrote:Reiser4:sta en juuri menisi sanomaan epästabiiliksi (ainakaan x86 tai amd64 ympäristössä), sen verran hyvin se on toiminut niillä koneilla missä tiedän sen olevan käytössä.
Katsotaan sitten kun Reiser 4 on ollut käytössä yleisesti pari vuotta :) ja ensinnäkin yhdistetty Linuksen kerneliin.

Posted: Mon Dec 05, 2005 6:16 pm
by Obi-Lan
Tyhmä kysymys, osaako nää tiedostojärjestelmät defragmentoida itseään samaan tyyliin mitä windowsissa joudutaan tekemään manuaalisesti scandiskillä?

Posted: Mon Dec 05, 2005 7:31 pm
by Kaapeli
Ainakin Reiser4 (varmaan myös reiserfs ja ext2/3) osaa korjata fragmentoitumista ylikirjoituksen yhteydessä. XFS:lle on olemassa erillinen defraggeri, xfs_fsr, joka toimii vähän samaan tyyliin kun windowssin defragmentteri. Toisaalta, yleisesti linuxin alla tapahtuu huomattavasti vähemmän fragmentoitumista eli sitä kautta on myös vähemmän tarvetta defragmentoida levyä. Toistaalta, kaikki tiedostojärjestelmän rupeaa pirstoitumaan ajan kuluessa eikä sille mitään voi. Toisissa tilanteissa sitä tapahtuu vähemmän ja joissain muissa tilanteissa vähän enemmän. Joillakin toimenpiteillä pirstoutumista saa vähennettyä ihan itsestäänkin.. Yleensä jos levyllä vaan on tarpeeksi vapaata tilaa ja pristoutuneita tiedostoja kirjoitellaan uudelleen, fragmentoiminen tuntuu korjaantuvan jonkin verran.

Posted: Mon Dec 05, 2005 9:38 pm
by Paapaa
Kaapeli wrote:Reiser4:sta en juuri menisi sanomaan epästabiiliksi (ainakaan x86 tai amd64 ympäristössä), sen verran hyvin se on toiminut niillä koneilla missä tiedän sen olevan käytössä.
Tiedostojärjestelmän kohdalla vaatimukset vakauden suhteen on aika paljon korkeammat, kuin vaikka Windows 98:n laiteajureilla :) Eli se, että sinulla ja sadalla muulla reiser4 toimii moitteetta, ei vielä tee siitä stabiilia. Kun systeemi on ollut laajassa käytössä pitkään ilman merkittäviä ongelmia, voidaan sitä kutsua stabiiliksi. Kuinka pitkään ja kuinka laajassa? Jaa-a... Mutta kun lukee ReiserFS:n postituslistaa, niin stabiilius ei ole ihan vielä käsillä.

Itse annan muiden beta-testata Reiser4:ää ja odotellessa nautin Ext3:n luomasta turvallisuudentunteesta ;-)

Posted: Mon Dec 05, 2005 10:11 pm
by Kaapeli
Onhan se totta ettei stabiliudesta ole takeita ennen kun tiedostojärjestelmää on testattu laajasti vuosia, niinkuin ext2/3:n tapauksessa. Mutta eri asia on myös sekin että onko tiedostojärjestelmässä jotain tunnettuja/epäiltyjä bugeja jotka vaikuttaa sen stabiiliuteen vai onko kyseessä vain kokemuksen puutteesta johtuvaa luottamuksen puutetta.

Reiser4 ei itsessään ole epästabiili siinä mielessä että siinä tiettävästi olisi esim. datan korruptiota aiheuttavia bugeja tms. Mitä itse ole seurannut rintamaa niin kaikki reiser4 käyttäjillä ilmenneet ongelmat on johtunu pääsääntöisesti jostain muusta kuin reiser4 itsestään. Tai ainakaan en ole kuullut yhdestäkään bugista mikä olisi särkenyt mitään Reiser4:n kanssa. En pysty sanomaan että reiser4:n käyttäjillä olisi yhtään enempää tai vähempää ongelmia mitä minkään muun tiedostojärjestelmän käyttäjillä. Dataa voi korruptoitua levyllä monesta eri syystä riippumatta siitä mikä tiedostojärjestelmä on käytössä.

Ja se syy miksi reiser4 ei ole vielä vanilla kernelissä on ymmärtääkseni enemmänkin poliittinen syy kuin stabiilisuussyy; Reiser4 implementaatio tekee niin radikaaleja muutoksia Linuxin kerneliin ettei Linus ja kumppanit ole vielä valmiita hyväksymään sitä. Tietääkseni Hans Reiser on muuttamassa reiser4 implementaatiota siten että se voitaisiin hyväksyä vanilla kerneliin.