Kirjoittaja Aihe: Ext4  (Luettu 48393 kertaa)

Ked

  • Käyttäjä
  • Viestejä: 394
    • Profiili
Vs: Ext4
« Vastaus #20 : 04.12.08 - klo:11.08 »
Ahaa... täytyy lukaista isommalla ajalla tuo artikkeli.

jake

  • Käyttäjä
  • Viestejä: 1262
    • Profiili
Vs: Ext4
« Vastaus #21 : 04.12.08 - klo:23.37 »
Noh, jokos jollakin on testikokemusta mokomasta ??? ..ja tukeeko Gutsyn kerneli uuttaa ext4:sta - version puolestahan se voisi olla mahdollista...

ext4 tulee kait vasta kohta julkaistavaa 2.6.28-kerneliin.
Sen päivittämistä ei sitt taas kaikkien kantsi yrittää jo vaikkapa näytönohjaimen ajurin 'jatkuvien' uus-asennusten vuoksi kernelipäivitysten seurauksena.
Mut jos osaat ja viitsit, niin siitä vaan. Meikäläinen odottaa kiltisti kevään cersuja
Kaikille avoin standardi antaa mahdollisuuden valita itselle sopivin ohjelmisto käyttöön.
Millään taholla ei ole oikeutta pakottaa muita käyttämään jotain tiettyä sovellusta tietojen vaihdossa.
"Valitsin siis avointa standardia noudattavat sovellukset, esim: OpenOffice, Firefox ja tiett

aho

  • Vieras
Vs: Ext4
« Vastaus #22 : 05.12.08 - klo:00.13 »
Minulla ollut ext4 käytössä kahdessa koneessa Fedora 9:stä lähtien ja toiminut moitteetta.

UbunTux

  • Käyttäjä
  • Viestejä: 2046
  • KubunTux
    • Profiili
Vs: Ext4
« Vastaus #23 : 05.12.08 - klo:00.44 »
Niin, jos onnistuu seuraavat operaatiot:
ext3-->ext4
ext3-->btrfs
Toki toinen on valmis ja toinen sitä ei ole  ::)
Niin kumpihan kannataisi jos ei pahemmin tarvetta sellaiselle koe, mutta silti haluasi päivittää joskus kaukaisessa tulevaisuudessa ;D?
Varsinkaan, kun en ole omia levyjäni en ole alustelemassa.
KDE neon
Uudempaa KDE:tä Ubuntulla

Ux64

  • Käyttäjä
  • Viestejä: 586
    • Profiili
Vs: Ext4
« Vastaus #24 : 08.12.08 - klo:17.38 »
Niin kumpihan kannataisi jos ei pahemmin tarvetta sellaiselle koe, mutta silti haluasi päivittää joskus kaukaisessa tulevaisuudessa ;D?
Varsinkaan, kun en ole omia levyjäni en ole alustelemassa.

Ainoa Pro ext4ssa miksi minä sitä kaipaisin on tuo defrag mahdollisuus. Sekään ei ole ratkaisevan tärkeä, mutta pidän sitä merkittävänä puutteena nykyisessä ext3:ssa.

Tai siis toisaalta, eihän mikään estä defragin tekemistä ext3:lle, mutta mitä ilmeisimmin fiksuja sitä hoitavia softia ei ole ollut tyrkyllä. Jota olen kyllä suuresti ihmetellyt.

Ihan sama kuin jengi valittaa fatin toiminnasta, mikään ei estä tekemästä fat yhteensopivaa järjestelmää jossa on fiksumpi allokointi ratkaisu. Mikään ei pakota käyttämään klustereita alusta alkaen ensimmäisestä vapaasta lähtien. Mutta tämä nyt on tietenkin saivartalua, eikä liity sinänsä käytäntöön. Mutta jos ihan faktana asiaa käsitellään, niin olen kuitenkin oikeassa. ;) ext3 ei tarjoa mitään sellaista fragmentoitumisen estämismekanismia jota ei voitaisi aivan yhtähyvin käyttää fatin kanssa. Eikä sen puoleen ext4kään. ;) Esim blokki / extent tuki olisi todella helppoa toteuttaa fatinkin kanssa.

Sitten jotain muuta luettavaa tämän ketjun pohtijoille.

http://en.wikipedia.org/wiki/ExFAT

Riippuu myös paljon käytöstä mitä ominaisuuksia tarvitaan. mm. snapshotit (btrfs) koen täysin turhiksi.

Näitä ominaisuuksia taas voisin pitää rajallisesti kätevinä Object-level mirroring and striping, sekä online defragia. Varsinkin tuo Mirroring / striping objekti tasolla voi osoittautua käteväksi.
« Viimeksi muokattu: 08.12.08 - klo:17.44 kirjoittanut Ux64 »

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Ext4
« Vastaus #25 : 08.12.08 - klo:19.14 »
anteeks nyt pojjaat maalaisuuteni, mutt mitäs iloa luulet winukalle tuottavan tuon ext4:n asentamisella...?
luuleks, ett winkkari ja sen sovellukset osaa kirjoittaa tai lukee siltä? ...ext4 kun linuxin käyttämä tiedostojärjestelmä...
koska winkkariin on ext-tuki tehty?

Windows NT-käyttöjärjestelmässä ei ole Ext* tiedostojärjestelmän tukea. Sen kyllä saa jos asentaa erinäisen ohjelman joka osaa moista lukea. Ja ohjelmien itse ei tarvitse osata tiedostojärjestelmiä lukea/kirjoittaa vaan käyttöjärjestelmän (eli Windows NT, Linux ydin) huolehtii raudasta ja tarjoaa rajapinnat ohjelmille. Tällöin ohjelmien ei tarvitse osata käskyttää esimerkiksi kiintolevyn lukupäätä miten sitä siirretään, miten luetaan tietoa ja miten kirjoitetaan ynnä muita asioita. Ext4-tiedostojärjestelmään ei kannata vielä siirtyä, se on vähän nopeampi kuin Ext3 mutta kannattaa mielummin katsoa vaikka XFS- tai peräti ReiserFS-tiedostojärjestelmiä jos ei Ext3 kelpaa.


Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Ext4
« Vastaus #26 : 08.12.08 - klo:19.20 »
Ainoa Pro ext4ssa miksi minä sitä kaipaisin on tuo defrag mahdollisuus. Sekään ei ole ratkaisevan tärkeä, mutta pidän sitä merkittävänä puutteena nykyisessä ext3:ssa.

Tai siis toisaalta, eihän mikään estä defragin tekemistä ext3:lle, mutta mitä ilmeisimmin fiksuja sitä hoitavia softia ei ole ollut tyrkyllä. Jota olen kyllä suuresti ihmetellyt.

Linux-käyttöjärjestelmän osaavat yleiset tiedostojärjestelmät kuten Ext2 (Ext3 on Ext2 + journalointi) ei tarvitse eheyttämistä. Koska levy ei pirstaloidu hidastavasti kunhan kiintolevyllä on tilaa aina 15-20%. Kun tila  vähenee tuosta niin silloin alkaa pirstaloitumistakin ilmestymään ja se voidaan korjata ihan vain kirjoitamalla data uusiksi (kopionti ym).

Linux-käyttöjärjestelmä on aina (ainakin 1.2.x versiosta lähtien) osannut kirjoittaa tiedostojärjestelmät älykkäästi kun tiedostojärjestelmien toimintaa on kehitetty. Kun Windowsissa tiedostot kirjoitetaan peräkanaan, tiedostot pirstaloituvat hyvinkin nopeasti. Mutta Linux-käyttöjärjestelmän tiedostojärjestelmillä tiedostot kirjoitetaan sinne missä on tilaa, aina pitäen vapaata tuleville tiedostoille ja tällöin pirstoutumista ei tapahdu. Ja koska sitä ei tapahdu, ei eheytystyökalujaan ole tarvittu. Kannattaa tutustua erilaisiin tiedostojärjestelmiin niin löytyykin tietoa miksi Linux-käyttöjärjestelmä on suosittu etenkin palvelin-tietokoneissa erilaisissa järjestelmissä missä vaaditaan luotettavuutta ja tiedostojen käytön suurta tehokkuutta.



anttimr

  • Käyttäjä
  • Viestejä: 1625
    • Profiili
Vs: Ext4
« Vastaus #27 : 11.12.08 - klo:17.54 »
Olikos tässä ketjussa jo esillä, että ext4:n fsck on merkittävästi ext3:n tsekkausta nopeampaa? Mikä on todella hyvä juttu nykyisten aina vain isompien levyjen aikana ja varmasti mukava parannus ajatellen vaikkapa ns. Ubuntun peruskäyttäjää, joka luottaa oletusarvoihin 30 (vai oliko se 25) liitoskerran jälkeisestä tarkistuksesta. Tuolla vähän kernel-kehittäjän mittaustuloksia asiasta:

http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/

Itse olen ajatellut siirtyä Jauntyn myötä ext4:ään, jos se vain tulee julkaisun kerneliin mukaan.   
Ubuntu 12.10 Quantal Quetzal

Ux64

  • Käyttäjä
  • Viestejä: 586
    • Profiili
Vs: Ext4
« Vastaus #28 : 16.12.08 - klo:12.45 »
Mutta Linux-käyttöjärjestelmän tiedostojärjestelmillä tiedostot kirjoitetaan sinne missä on tilaa, aina pitäen vapaata tuleville tiedostoille ja tällöin pirstoutumista ei tapahdu. Ja koska sitä ei tapahdu, ei eheytystyökalujaan ole tarvittu. Kannattaa tutustua erilaisiin tiedostojärjestelmiin niin löytyykin tietoa miksi Linux-käyttöjärjestelmä on suosittu etenkin palvelin-tietokoneissa erilaisissa järjestelmissä missä vaaditaan luotettavuutta ja tiedostojen käytön suurta tehokkuutta.

On tutustututtu ja juuri siksi tuota ext4:ta kaipaankin. Tuo esittämäsi malli oli sitä ihan samaa shaibaa mitä jauhetaan monessa sitessä, silloin kun ei ole faktaa käytettävissä. ext3:ssa ei ole mitään mikä estäisi fragmentoitumisen, eikä mitään mikä poistaisi sen kun sitä syntyy. Ajanmyötä tilanne siis todennäköisesti huononee. Mutta tämä ei ollut tämän keskustelun pääasiallinen aihe, koska tämä asia on jo käsitelty aikaisemmin.

fsck:n nopeutuminen on pelkkää plussaa. Melkoisesti menee aikaa kun tuon teratavun kapasiteetin chekkaa.

petteriIII

  • Käyttäjä
  • Viestejä: 663
    • Profiili
Vs: Ext4
« Vastaus #29 : 18.12.08 - klo:05.44 »

fsck:n nopeutuminen on pelkkää plussaa. Melkoisesti menee aikaa kun tuon teratavun kapasiteetin chekkaa.


Enpä tiedä. Asiat kyllä muuttuu parempaan, mutta kuinkapaljon ja millä hinnalla jää mielestäni auki.
Luin muitakin tarinoita asiasta, ja niiden perusteella sain käsityksen, että täys-määräisesti nämä parannukset koskee mahtavan kokoisia tiedostojärjestelmiä - sen kokoisia joiden kunniallinen fsck veisi vuosia. Nopeutus sadasta vuodesta yhteen ?
Toisaalta vihjattiin että ensisijaisesti tarkastettaisiinkin vain tiedostojen 'likainen bitti' ja jos se sanoo ettei dataa ole käytetty niin ei tiedostoa tarkistetakaan sen paremmin.
Tulee siis mieleen 'joidenkin' puhe että horroksesta herääminenhän on tavallaan boottaamista => "meidän käyttöjärjestelmä boottaa muutamassa sekunnissa - katso niin etköhän usko"

Ux64

  • Käyttäjä
  • Viestejä: 586
    • Profiili
Vs: Ext4
« Vastaus #30 : 18.12.08 - klo:08.34 »
Luin muitakin tarinoita asiasta, ja niiden perusteella sain käsityksen, että täys-määräisesti nämä parannukset koskee mahtavan kokoisia tiedostojärjestelmiä - sen kokoisia joiden kunniallinen fsck veisi vuosia. Nopeutus sadasta vuodesta yhteen ?

Jos nopeutus on oikeasti satakertainen isoilla järjestelmillä on se varmasti ainakin kymmeniä prosentteja pienemmilläkin. Tai sitten tuossa oli joku algoritmi joka johti prosessin hidastumiseen esim potenssiin eikä lineaarisesti tms. En ole tutustunut tosin aiheeseen. Levytilat kasvavat edelleen huimaa vauhtia, joten itse en ainakaan pitstä tuota nopeutusta pahasta. Lähinnä tuo käynnistyksessä tapahtuva chekkaus ärsyttää silloin kun pistäisi koneen vain muutamaksi minuutiksi päälle esim tarkistaakseen mailit aamulla.

Lainaus
Toisaalta vihjattiin että ensisijaisesti tarkastettaisiinkin vain tiedostojen 'likainen bitti' ja jos se sanoo ettei dataa ole käytetty niin ei tiedostoa tarkistetakaan sen paremmin.
Tulee siis mieleen 'joidenkin' puhe että horroksesta herääminenhän on tavallaan boottaamista => "meidän käyttöjärjestelmä boottaa muutamassa sekunnissa - katso niin etköhän usko"

Niin, tiloja pitäisi olla mielestäni useita. Joku joka on täydellinen ja joku joka on tarpeenmukaan. Jos en ihan väärin ole ymmärtänyt, niin olettaen että journalointi toimii oikeasti, eikä laitteessa ole rautatason write cachea joka voi hukata dataa, niin fsck:lle EI pitäisi olla toimivalla raudalla syitä miksi se pitäisi suorittaa. Siitäkin huolimatta että järjestelmää "bootataan randomisti" vaikka reset napilla, pitäisi journalista pystyä päivittämään ainakin kirjanpito kuntoon transaktiotasolla. Jos dataa ei journaloida se voi korruptoitua, mutta se ei ole silloin kuitenkaan tämän järjestelmän vastuun piirissä.

Rehellisesti sanottuna on siis jäänyt ihmetyttämään tuo mihin tuota fsck:ta tarvitaan. Pyritäänkö sillä turvaamaan esim. rikkinäisestä hardiksesta johtuvia ongelmia? Vai myönnetäänkö suosiolla että journalointi on olemassa, mutta toimii puutteellisesti?

Storck

  • Vieras
Vs: Ext4
« Vastaus #31 : 18.12.08 - klo:15.40 »
Lähinnä tuo käynnistyksessä tapahtuva chekkaus ärsyttää silloin kun pistäisi koneen vain muutamaksi minuutiksi päälle esim tarkistaakseen mailit aamulla.

Tuohon on helppo ja loistava ratkaisu: AutoFsck - tarkastaa levyt joko uudelleen käynnistyksessä tau sammutuksen yhteydessä (saa itse valittua)

Voi ladata täältä

Ux64

  • Käyttäjä
  • Viestejä: 586
    • Profiili
Vs: Ext4
« Vastaus #32 : 19.12.08 - klo:09.07 »
Tuohon on helppo ja loistava ratkaisu: AutoFsck - tarkastaa levyt joko uudelleen käynnistyksessä tau sammutuksen yhteydessä (saa itse valittua)

Kyllä ja ei. Sammutuksessa tuleva viive on ihan yhtä ärsyttävä kuin käynnistyksessäkin. Silloin nimenomaan odottaa että saa homman valmiiksi ja pääsee siitä eroon. Normaalin käytön aikana koneesta on käytössä ehkä 3% ja resursseja tuollaisiin tehtäviin olisi vaikka kuinka. Mutta eipä toimi taustalla. ;(

Storck

  • Vieras
Vs: Ext4
« Vastaus #33 : 19.12.08 - klo:10.17 »
Ai jaa, minä hyväksyn tarkistamisen ja sillä selvä. En jää koneen viereen odottelemaan. Ei ole koskaan stopannut vaan aina mennyt kiltisti läpi.

ÜbR

  • Käyttäjä
  • Viestejä: 117
    • Profiili
Vs: Ext4
« Vastaus #34 : 29.12.08 - klo:11.33 »
No nyt Torvalds sanoi tuon olevan vakaa.. jokos ootte konvertoinu levyjänne ext4 muotoon?

jake

  • Käyttäjä
  • Viestejä: 1262
    • Profiili
Vs: Ext4
« Vastaus #35 : 29.12.08 - klo:12.07 »
Mutta Linux-käyttöjärjestelmän tiedostojärjestelmillä tiedostot kirjoitetaan sinne missä on tilaa, aina pitäen vapaata tuleville tiedostoille ja tällöin pirstoutumista ei tapahdu. Ja koska sitä ei tapahdu, ei eheytystyökalujaan ole tarvittu. Kannattaa tutustua erilaisiin tiedostojärjestelmiin niin löytyykin tietoa miksi Linux-käyttöjärjestelmä on suosittu etenkin palvelin-tietokoneissa erilaisissa järjestelmissä missä vaaditaan luotettavuutta ja tiedostojen käytön suurta tehokkuutta.

On tutustututtu ja juuri siksi tuota ext4:ta kaipaankin. Tuo esittämäsi malli oli sitä ihan samaa shaibaa mitä jauhetaan monessa sitessä, silloin kun ei ole faktaa käytettävissä. ext3:ssa ei ole mitään mikä estäisi fragmentoitumisen, eikä mitään mikä poistaisi sen kun sitä syntyy. Ajanmyötä tilanne siis todennäköisesti huononee. Mutta tämä ei ollut tämän keskustelun pääasiallinen aihe, koska tämä asia on jo käsitelty aikaisemmin.

fsck:n nopeutuminen on pelkkää plussaa. Melkoisesti menee aikaa kun tuon teratavun kapasiteetin chekkaa.



niin kuin Fe13 kirjoitti tai toivoakseni tarkoitti, vaikka prosenttilukuja mainitsikin, että niin kauan kuin ext3:ssa tiedostot mahtuvat kokonaisina vapaaseen/vaipaisiin tiloihin, ei fragmentoitumista tapahdu. Mutta kun levytila on niin täynnä, että yhtenäistä tiedoston vaatimaa tilaa (lopusta tai välistä) löydy, niin silloinhan tiedosto pitää jakaa osiin eli se pätkittyy ...fragmentoituu. Mutt siis vasta kun levytila on täyttynyt liiaksi. Se usein mainittu 15% on toki jonkun arviointi.

Tää siis toisin, kuin fatit, jotka kirjoittaa ekaan vapaaseen pätkään sen mikä siihen mahtuu ja loput seuraavaan/seuraaviin vapaisiin tiloihin (aukkoihin)...
Kaikille avoin standardi antaa mahdollisuuden valita itselle sopivin ohjelmisto käyttöön.
Millään taholla ei ole oikeutta pakottaa muita käyttämään jotain tiettyä sovellusta tietojen vaihdossa.
"Valitsin siis avointa standardia noudattavat sovellukset, esim: OpenOffice, Firefox ja tiett

Ux64

  • Käyttäjä
  • Viestejä: 586
    • Profiili
Vs: Ext4
« Vastaus #36 : 30.12.08 - klo:09.38 »
niin kuin Fe13 kirjoitti tai toivoakseni tarkoitti, vaikka prosenttilukuja mainitsikin, että niin kauan kuin ext3:ssa tiedostot mahtuvat kokonaisina vapaaseen/vaipaisiin tiloihin, ei fragmentoitumista tapahdu.

Nyt taisi mennä pieleen. Järjestelmä ei kasaa tiedostoja kasaan kun vapaa yhtenäinen tila loppuu, vaikka toisaalla olisikin tuolle tiedostolle tarpeeksi vapaata tilaa. Eli fragmentoitumista tapahtuu varsin nopeasti. Ext3:ssa ei  myöskään ollut muistaakseni kunnollista pre-alloccia tai ainakaan sovellukset eivät sitä käytä. Koska pre-alloccia ei tehdä, mikä tahansa yhtä clusteria suurempi tiedosto voi fragmentoitua vaikka levyllä olisi kuinka paljon tilaa. 15% on siis puhdas heitto. Koska vapaa tila ei valitettavasti estä jo levylle allokoitujen tiedostojen fragmentoitumista mm. niiden kasvaessa. Olenkin esittänyt tästä aivan loistavan esimerkin tuotantopalvelimen kanssa jossa ongelma on suuren suuri, vaikka levytilaa on vapaana reilusti.

Tuo file pre-allocin puuttuminen muuten näkyy ainakin Vista koneissa todella nopeasti pahana fragmentoitumisena.

Tästä asiasta on jauhettu paljon. ;)

Lyhyestisanottuna ext3:ssa ei ole mitään mikä estäisi fragmentoitumisen tai poistaisi sen kun sitä syntyy. -> Ennemmin tai myöhemmin fragmentoituminen muodostuu ongelmaksi.

Btw. Esim IBM36 koneet oli siitä mainioita, että niiden käyttöjärjestelmä ESTI fragmentoitumisen, niissä siis ei ollut fragmentoitumis ongelmaa.
« Viimeksi muokattu: 30.12.08 - klo:09.42 kirjoittanut Ux64 »

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Ext4
« Vastaus #37 : 30.12.08 - klo:13.52 »
Nyt taisi mennä pieleen. Järjestelmä ei kasaa tiedostoja kasaan kun vapaa yhtenäinen tila loppuu, vaikka toisaalla olisikin tuolle tiedostolle tarpeeksi vapaata tilaa. Eli fragmentoitumista tapahtuu varsin nopeasti.

Jos tiedostot kasataan yhteen niin silloinhan mikään tiedosto ei enää pysty kasvamaan luontaisesti. Eikö tällä tavoin käytännössä varmisteta että vanhat tiedostot fragmentoituvat jatkossa takuuvarmasti?

Ext3 pyrkii normaalisti sijoittamaan hakemistohierarkiassa toisiinsa liittyvät tiedostot lähelle toisiaan. Kaikkien tiedostojen kasaaminen läjään ja yhtenäisen tilan vapauttaminen voi näin ollen jopa heikentää suorituskykyä.

Lainaus
Ext3:ssa ei  myöskään ollut muistaakseni kunnollista pre-alloccia tai ainakaan sovellukset eivät sitä käytä.

Uskottavuuden kannalta olisi parempi jos ensiksi selvittäisit kummasta tapauksesta on kyse. Turha valittaa pre-allokoinnin puuttumisesta jos se on olemassa mutta ohjelmat eivät sitä käytä.

Ei sen puoleen. Äkkiseltään ei tule mieleen kovinkaan montaa käyttötarkoitusta jossa tuosta olisi suunnattomasti hyötyä. Kotikäytössä tuosta lienee hyötyä lähinnä vertaisverkko-ohjelmien yhteydessä sekä suuria tiedostoja ladattaessa.

Lainaus
Koska pre-alloccia ei tehdä, mikä tahansa yhtä clusteria suurempi tiedosto voi fragmentoitua vaikka levyllä olisi kuinka paljon tilaa.

Jos koko tila kuitenkin varataan kerralla niin fragmentoitumisen todennäköisyys ei ole kovin suuri. Lisäksi ryhmittelyn ansiosta ext3 pyrkii joka tapauksessa pitämään tiedot lähellä toisiaan mikäli se on mahdollista. Tämä voi tietyissä tilanteissa myös lisätä fragmentoitumista mutta tässäkään tapauksessa tiedot eivät ole fragmentoituneet levyn vastakkaisille laidoille vaan lähelle toisiaan.

Lainaus
Olenkin esittänyt tästä aivan loistavan esimerkin tuotantopalvelimen kanssa jossa ongelma on suuren suuri, vaikka levytilaa on vapaana reilusti.

En muista tarkkaan aiemmin kertomasi ongelman kuvausta mutta uskoisin ettei kaipaamastasi pre-allokoinnista olisi mitään hyötyä sen ratkaisussa.

Lainaus
Tuo file pre-allocin puuttuminen muuten näkyy ainakin Vista koneissa todella nopeasti pahana fragmentoitumisena.

Sekö on yksittäisenä tekijänä kaikkein merkittävin Vista-koneiden fragmentoitumisen aiheuttaja? Onko Vista-koneissa paljon (hitaasti luotavia) suuria tiedostoja joiden lopullinen koko tiedetään etukäteen?

Lainaus
Lyhyestisanottuna ext3:ssa ei ole mitään mikä estäisi fragmentoitumisen tai poistaisi sen kun sitä syntyy. -> Ennemmin tai myöhemmin fragmentoituminen muodostuu ongelmaksi.

Ja FAT olisi ihan yhtä hyvä jos joku vain kirjoittaisi sille kunnollisen allokaattorin... On tämä kuultu ennenkin.

Lainaus
Btw. Esim IBM36 koneet oli siitä mainioita, että niiden käyttöjärjestelmä ESTI fragmentoitumisen, niissä siis ei ollut fragmentoitumis ongelmaa.

Voisin arvata että tuollaisesta seuraa huomattavia suorituskykyongelmia suuria tiedostoja kirjoitettaessa.

jake

  • Käyttäjä
  • Viestejä: 1262
    • Profiili
Vs: Ext4
« Vastaus #38 : 30.12.08 - klo:19.12 »
niin kuin Fe13 kirjoitti tai toivoakseni tarkoitti, vaikka prosenttilukuja mainitsikin, että niin kauan kuin ext3:ssa tiedostot mahtuvat kokonaisina vapaaseen/vaipaisiin tiloihin, ei fragmentoitumista tapahdu.

Nyt taisi mennä pieleen. Järjestelmä ei kasaa tiedostoja kasaan kun vapaa yhtenäinen tila loppuu, vaikka toisaalla olisikin tuolle tiedostolle tarpeeksi vapaata tilaa. Eli fragmentoitumista tapahtuu varsin nopeasti. Ext3:ssa ei  myöskään ollut muistaakseni kunnollista pre-alloccia tai ainakaan sovellukset eivät sitä käytä. Koska pre-alloccia ei tehdä, mikä tahansa yhtä clusteria suurempi tiedosto voi fragmentoitua vaikka levyllä olisi kuinka paljon tilaa. 15% on siis puhdas heitto. Koska vapaa tila ei valitettavasti estä jo levylle allokoitujen tiedostojen fragmentoitumista mm. niiden kasvaessa. Olenkin esittänyt tästä aivan loistavan esimerkin tuotantopalvelimen kanssa jossa ongelma on suuren suuri, vaikka levytilaa on vapaana reilusti.

Tuo file pre-allocin puuttuminen muuten näkyy ainakin Vista koneissa todella nopeasti pahana fragmentoitumisena.

Tästä asiasta on jauhettu paljon. ;)

Lyhyestisanottuna ext3:ssa ei ole mitään mikä estäisi fragmentoitumisen tai poistaisi sen kun sitä syntyy. -> Ennemmin tai myöhemmin fragmentoituminen muodostuu ongelmaksi.

Btw. Esim IBM36 koneet oli siitä mainioita, että niiden käyttöjärjestelmä ESTI fragmentoitumisen, niissä siis ei ollut fragmentoitumis ongelmaa.


Eipä tainnut mennä - enkä ole kasautumisen puolesta mitään maininnut edes.
Mutt ootko kuullu sellasesta - oliks se nyt hidas kirjoittaminen vai hidas tallentaminen? Sellanen oli käytössä jo aikoinaan OS/2:ssa.
Eli tiedot kirjoitettiin 'oikeasti' vasta hiukka myöhemmin, kun prosulle sallittiin hiukka 'läähätysaikaa'. Eli tieto säilytettiin välimuistissa ja tallennettiin vasta ko operaation päätyttyä. Sen koko oli siis silloin tiedossa ja se kirjoitettiin nimenomaan paikkaan, johon se mahtui kokonaisena, mikäli levyllä oli siihen tilaa.
Vain, jos yhtenäistä tilaa ei oo riittävästi tallennus joudittiin/joudutaan pilkkomaan osiin. Sitä kutsutaan pirstaloitumiseksi/sirpaloitumiseksi eli fragmentoitumiseksi... ja se on fatin tapa alusta alkaen tallennuksissa. Se tallentaa heti ekaan löytämäänsä paikkaan sen mikä siihen mahtuu ja loput seuraaviin tyhjiin paikkoihin. Ja näitä tyhjiä paikkoja syntyy, kun tiedostoja/sovelluksia poistetaan (deletoidaan) levyltä.
« Viimeksi muokattu: 30.12.08 - klo:19.16 kirjoittanut jake »
Kaikille avoin standardi antaa mahdollisuuden valita itselle sopivin ohjelmisto käyttöön.
Millään taholla ei ole oikeutta pakottaa muita käyttämään jotain tiettyä sovellusta tietojen vaihdossa.
"Valitsin siis avointa standardia noudattavat sovellukset, esim: OpenOffice, Firefox ja tiett

Ux64

  • Käyttäjä
  • Viestejä: 586
    • Profiili
Vs: Ext4
« Vastaus #39 : 31.12.08 - klo:09.13 »
Lainaus
Jos tiedostot kasataan yhteen niin silloinhan mikään tiedosto ei enää pysty kasvamaan luontaisesti.
Eikö tällä tavoin käytännössä varmisteta että vanhat tiedostot fragmentoituvat jatkossa takuuvarmasti?

Tämä on myös yksi ikuisuuskysymyksistä ja optimointi pitäisi tehdä tiedostokohtaisesti kuten se joissain järjestelmissä tehtiinkin. Eli jokaiselle tiedostolle tulee laskea kasvuindeksi ja varata sen mukaan tarvittava tila jatkossa. Tämä auttaa siis nimenomaisesti hitaasti kasvaviin tiedostoihin. Jos tätä kasaamista ei tehdä, tulee ongelmaksi vapaantilan fragmentoituminen, jolloin kaikki tiedostot voi olla yhtenäisiä, mutta kun koitat tallentaa levylle gigan tiedoston, se ei mahdukkaan mihinkään vapaaseen paikkaan yhtenäisenä.

Lainaus
Ext3 pyrkii normaalisti sijoittamaan hakemistohierarkiassa toisiinsa liittyvät tiedostot lähelle toisiaan. Kaikkien tiedostojen kasaaminen läjään ja yhtenäisen tilan vapauttaminen voi näin ollen jopa heikentää suorituskykyä.

Tämä on erinomainen asia, siis tiedostojen sijoittaminen lähelle. Mikäli tiedostojen kasaamista yhtenäisiksi ei tehdä, niin silloinhan levy on jo fragmentoitunut.

Lainaus
Uskottavuuden kannalta olisi parempi jos ensiksi selvittäisit kummasta tapauksesta on kyse. Turha valittaa pre-allokoinnin puuttumisesta jos se on olemassa mutta ohjelmat eivät sitä käytä.

Toki, mutta en mä onneksi mitään väitöskirjaa tässä ole tekemässä. Kunhan horisen aikanikuluksi. Mutta kun pottuilit asiasta niin tarkistin, Wikipediasta katsottuna pre-allokointi puuttuu ext3:sta ja se on lisätty ext4:n. NTFS:ssä pre-alloc optio on olemassa. Mutta monet sovellukset jotka eivät ole alunperäin tehty Windowssille ja optimoitu em. asiaa silmälläpitäen eivät sitä kuitenkaan käytä. Tämä tarkoittaa sitä että jos ext3 levylle kirjoitetaan tiedosto joka voisikin mahtua pre-allocin kanssa vapaaseen levytilaan. Niin nyt tiedostoa ei osata aloittaa oikeasta kohdasta jotta se mahtuisi siihen tilaan, koska tiedoston lopullinen koko ei ole käytettävissä.  Tämä on ollut varsinkin yksi tärkeimmistä pointeista miksei allokointi VOI toimia erityisen tehokkaasti ilman pre-allocin käyttöä. Silloin tiedon tallennus joudutaan aloittamaan johonkin ja jossain vaiheessa tulee (mahdollisesti) jotain muuta vastan ja fragmentoituminen alkaa. Vaikka olisi ollut mahdollista laittaa tiedosto vapaaseen tilaan, jos tiedoston lopullinen koko olisi ollut tiedossa. Tämä on siis yksi niitä tärkeimpiä pointteja, jotka mielestäni vesittää ext3:n "täydellisyyttä". Muitakin varmasti on, mutta en ole niihin perehtynyt.

Lainaus
Ei sen puoleen. Äkkiseltään ei tule mieleen kovinkaan montaa käyttötarkoitusta jossa tuosta olisi suunnattomasti hyötyä. Kotikäytössä tuosta lienee hyötyä lähinnä vertaisverkko-ohjelmien yhteydessä sekä suuria tiedostoja ladattaessa.

Eikö? Mielestäni siitä on aina ratkaisevaa hyötyä kun kirjoitettavaksi tulevan tietomäärän koko on ennakkoon tiedossa. Tämä siis koskee käytännössä kaikkia paitsi juuri noita ensimmäisessä osiossa mainittuja jatkuvasti kasvavia tiedostoja.


Lainaus
Jos koko tila kuitenkin varataan kerralla niin fragmentoitumisen todennäköisyys ei ole kovin suuri. Lisäksi ryhmittelyn ansiosta ext3 pyrkii joka tapauksessa pitämään tiedot lähellä toisiaan mikäli se on mahdollista. Tämä voi tietyissä tilanteissa myös lisätä fragmentoitumista mutta tässäkään tapauksessa tiedot eivät ole fragmentoituneet levyn vastakkaisille laidoille vaan lähelle toisiaan.

Jos pre-alloccia ei tehdä, niin tilaakaan ei voida myös varata kerralla. Tuohan on juuri pre-allocin ratkaisevin hyöty. Voidaan kertoa järjestelmälle että halutaan varata 1 gigatavu yhtenäistä tilaa. Eikä vain varata toistuvasti blokkeja kunnes tuo gigatavu on täynnä. Tämä tarkoitta siis tiedoston ennakkoon allokointia, eikä sen kasvattamista sitä mukaan kun tietoa valuu levylle.

Tämä ongelma tulee tuskallisen selvästi ilmi NTFS:llä ja esim 7-zip sovelluksella joka mitä ilmeisimmin ei käytä pre-alloccia. Kun pakkaan 4 gigan paketin, on se hajonnut helposti hajonnut levylle tuhansiin epäyhtenäisiin paloihin. Kun sitten otan tuon 7-zipin paketin. Kopioin sen ja tuhoan sen, on se todennäköisesti 1-2 palassa. Ei mitään hyötyä? Se on suhteellinen näkemys se. Tosiasiahan on se, että yksikään kone joissa on käytetty vaikka dossia kymmenen vuotta ja defragia ei ole tehty koskaan, ei ole siihen hajonnut.


Lainaus
En muista tarkkaan aiemmin kertomasi ongelman kuvausta mutta uskoisin ettei kaipaamastasi pre-allokoinnista olisi mitään hyötyä sen ratkaisussa.

Juuri kyseisessä esimerkissä siitä ei olisi mitään hyötyä. Siinä esimerkissä käytiin lähinnä läpi kasvavien tiedostojen ongelmaa. Eli allokoin levystä esimerkiksi 30% klusterin kokoisilla tiedostoilla. Sen jälkeen luen em. tiedot tietokantaan joka siis varaa nyt 30% varastusta levystä 30% yhtenäisellä tiedostolla joka kasvaa pikkuhiljaa.  Jos nuo klusterin kokoiset tiedostot sijoitetaan hajalleen levylle, se johtaa myös tuon tietokannan fragmentoitumiseen. Tiedän, että tähän esimerkkiin ei ole helppoa järkevää ratkaisua. Tämä kuvaa juuri ongelmaan liittyvää kaksiteräisyyttä. Periaatteessa puhtaalla first fit ratkaisulla ei olisi ongelmaa. (jos unohdetaan se tosiasia että tiedostoja tulee niin paljon, että hakemisto klusterit leviävät kuitenkin tuonne tiedostojen väliin) Oikeastaan nuo tiedostot pitäisi ensin luoda nollatavuisina ja sen jälkeen lisätä vasta sisältö. ;)

Lainaus
Sekö on yksittäisenä tekijänä kaikkein merkittävin Vista-koneiden fragmentoitumisen aiheuttaja? Onko Vista-koneissa paljon (hitaasti luotavia) suuria tiedostoja joiden lopullinen koko tiedetään etukäteen?

Ei. Mutta juuri suurien 7-zip pakettien kanssa olen kiinnittänyt ongelmaan erityisesti huomiota, koska ainakin omassa työasemassani tuo on suurin fragmentoitumisen aiheuttaja. Sekä pakatessa, että purettaessa 7-zip siis ei varaa levytilaa tiedostoille yhtenäisinä paloina.

Lyhyestisanottuna ext3:ssa ei ole mitään mikä estäisi fragmentoitumisen tai poistaisi sen kun sitä syntyy. -> Ennemmin tai myöhemmin fragmentoituminen muodostuu ongelmaksi.

Lainaus
Ja FAT olisi ihan yhtä hyvä jos joku vain kirjoittaisi sille kunnollisen allokaattorin... On tämä kuultu ennenkin.

Kyllä! Olen kanssasi täsmälleen samaa mieltä kanssasi. Mainittakoon että käsittääkseni FAT-levyn allokointia ei ole täsmälleen määritelty. Joten allokoinnin suorittaminen on jokaisen itsenäisen implementaation asia. Se ei ole FATin vika jos sinä käytät tyhmää allokointimenetelmää. ;) FAT ei hajoa siitä, että sen kanssa käytetään sovellusta joka tukisi pre-alloccia, viivästettyä allokointia jne tehostavia toimenpiteitä.

Lainaus
Lainaus
Esim IBM36 koneet oli siitä mainioita, että niiden käyttöjärjestelmä ESTI fragmentoitumisen, niissä siis ei ollut fragmentoitumis ongelmaa.
Voisin arvata että tuollaisesta seuraa huomattavia suorituskykyongelmia suuria tiedostoja kirjoitettaessa.

Seurasi vielä suurempia ongelmia. Prosessit kaatuivat mikäli tiedostoille ennakkoon varattu kasvamistila loppui kesken. ;)

Seuraavaan viestiin konsolidoituna.

Lainaus
Mutt ootko kuullu sellasesta - oliks se nyt hidas kirjoittaminen vai hidas tallentaminen? Sellanen oli käytössä jo aikoinaan OS/2:ssa.

Muistaakseni oli ext4:n listalla myös tuo. Kasvaneet muistimäärät helpottaa ongelmaa, toisaalta taas levyjärjestelmän luotettavuus (powerloss) tilanteissa voi laskea olennaisesti ellei ole data journalointi käynnissä, joka taas laskee suorituskykyä.

Lainaus
Eli tiedot kirjoitettiin 'oikeasti' vasta hiukka myöhemmin, kun prosulle sallittiin hiukka 'läähätysaikaa'. Eli tieto säilytettiin välimuistissa ja tallennettiin vasta ko operaation päätyttyä. Sen koko oli siis silloin tiedossa ja se kirjoitettiin nimenomaan paikkaan, johon se mahtui kokonaisena, mikäli levyllä oli siihen tilaa.

Se on hyvä ratkaisu. Joskin ongelma muodostuu luonnollisesti hyvin suurien tiedostojen yhteydessä. Sekä jatkettaessa vanhoja, ellei käytetä niiden pienten kanssa copy on writeä. Toisaalta samaan tulokseen päästäisiin sillä, että tiedosto varattaisiin ennakkoon oikealle koolle. Mutta kuten sanottu, kaikki sovellukset eivät silti hyödynnä em. ominaisuutta. Tästä nämä ongelmat tulee usein, kun järjestelmä, joka toimii ei ole rikki. Nykyinen työnantajani ainakin vastustaa kaikkia parannuksia ja optimointeja henkeen ja vereen, mikäli ne eivät ole jonkun fataalin ongelman korjauksia. if It ain't broke, don't fix it. Fat journaloinilla olisi siis meillekkin optimi tiedostojärjestelmä. Selviäisi kaatumisista, eikä olisi turhan monimutkainen.

Lainaus
Ja näitä tyhjiä paikkoja syntyy, kun tiedostoja/sovelluksia poistetaan (deletoidaan) levyltä.

Vapaantilan fragmentoituminen koskee kyllä kaikkia muitakin järjestelmiä, joissa ei käytetä defragia. Eikä silloinkaan ole usein järkevää pakata kaikkea dataa yhteen kuten tässäkin ketjussa on todettu.

Ext4 korjaa mielestäni ainakin ne ongelmat jotka olivat ext3:n suurimpia puutteita. Lisäksi voitaisiin esittää kysymys, miksi Ext4 olisi ylipäätänsä tekeillä jos ext3:n kanssa ei mielletä olevan mitään parantamisen varaa. Ext3 ei mielestäni ollut niin täydellinen kuin linux fanaatikot aina haluavat uskoa tai sanoa sen olevan. Vielä useinmiten ilman minkäänlaista asiaan perehtymistä.

Mutta eiköhän tässä ollut jeesustelua taas kerrakseen. Lienee turhaa jatkaa tästä asiasta. - Kiitos

P.S. Esimerkiksi Deluge (Torrent Client) tekee ladattaville tiedostoille Full Allocationin, eli vaaraa koko tiedoston kerralla. Mutta kyse oli juuri siitä miten tuo varaaminen tapahtuu järjestelmän sisällä matallala tasolla. Pystyihän sitä FAT aikanakin esim Turbo Pascalilla helposti tekemään kerralla ison tiedoston. Siten että avaa sen kirjoitustilaan, heittää seekin esim. 10 megan kohdalle ja sulkee tiedoston. Lopputuloksena oli 10 megan tyhjä tiedosto. Se että varattiinko tuo 10 megaa blokki kerrallaan toistuvina varauksina vai osattiinko varata koko 10 megaa yhtenä palana on sitten ihan toinen kysymys. Ohjelmoijan kannalta lopputulos oli täysin sama. Tämä siis kuvastaa juuri sitä ongelmaan mitä manasin 7-zipin osalta, se ei varaa kerralla edes niitä tiedostoja joiden koko olisi tiedossa (purettaessa). Riippuen rajapinnosita ja järjestelmä logiikasta se miten levytila varataan käytännössä voi sitten olla täysin sama tai erilainen.

Edit täydennys: ext3:n preallokointi on saatavissa patchina. En kyllä tarkistanut asiaa tarkemmin, mutta näin google hakujen perusteella about 5 lähteestä.
« Viimeksi muokattu: 31.12.08 - klo:09.37 kirjoittanut Ux64 »