Olen varsin hyvin perehtynyt linkkiin jonka laitoit. Eikä se tarjoua mitään menetelmää fagmentoitumisen estämiseksi.
Sitten ehdotan että luet sen uudelleen koska et huomannut sitä erästä menetelmää joka mainittiin ja joka oikeasti vähentää tiedostojärjestelmän pirstaloitumista ja eheytystyökalujan tarpeellisuutta.
Tämä oli siis loistava dokkari, suosittelen kaikkia lukemaan tämä. http://ols.108.redhat.com/2007/Reprints/mathur-Reprint.pdf siinä asiat on käyty kunnolla läpi, eikä ole tehty jotain yksinekertaistettua epäselvää diibadaabaa, kuten noissa niin monissa ext3 doesn't need defrag roska dokumenteissa on ollut. Em. dokumentista käy myös hyvinselvästi ext3:n puutteet ilmi.
Ei kyllä ollut loistava, sanoisinkin että raapaisu Ext4-tiedostojärjestelmään. Ideoiden toimintatapaa ja muuta vastaavaa selitetty teknisesti mutta teoreettisesti. Ext3:n puutteita ei mainittu kuin parissa otteessa joilla oikeastaan vieläpä viitattiin samalla muihin tiedostojärjestelmiin. Puhuttiin Ext4:n uusista päämääristä joilla vähennetään joidenkin ongelmien esiintymistä tietyissä tilanteissa, ei poisteta kokonaan. Suosittelenkin että luet dokumentin uudelleen. Minun piti ihan kahdesti lukea se että varmistuin siitä että siinä ei mitään vakavia Ext3:n puutteita tuoda ilmi peruskäytössä, vain äärimmäisissä tilanteissa kuten 1EB tilantarpeissa palvelimissa. Tietenkin jos haluaa vain teoriaa ja käsitellä aihetta murto-osassa tapahtuvissa tilanteissa niin siitä vain.
Käytyäni vielä kerran nuo dokumentit läpi täytyy todeta, että... Ext3 ei siis tue viivästettyä allokointia, eikä se TUE koko tiedoston tai edes sen osan allokointia yhtenäisenä kertavarauksena. Nuo ovat molemmat ext4:n ominaisuuksia.
Onko joku väittänyt että Ext3 sisältäisi samat ominaisuudet mitä Ext4 vasta on nyt vakaana versiona tuonut? Eihän Ext3, eli tuo tiedostojärjestelmä sitä tue, mutta ne voidaankin hoitaa muulla tavoin, kuten dokumentissakin kerrotaan. En tiedä jätitkö sen kohdan lukematta myös. Tässä tapauksessa Ext4 parannus on juuri se että käyttöjärjestelmä pystyy suorittamaan operaatiot, eikä ohjelman tarvitse siitä itse huolehtia. Kuten mainitsin aiemmin.
Näin ollen levyjärjestelmän on mahdotonta alussa tietää tarvittava levytila ja tehdän sen pohjalta myös oikea päätös tallennuspaikasta.
Suosittelen lukemaan uudelleen esim Ext3-tiedostojärjestelmää koskevia dokumentteja niin löydät että tuokin menee osittain väärin ;-)
Ihme kun ihmiset jänkkää vastaan eivätkä osaa lukea noita dokumentteja.
&
Uskovat sokeasti kaiken mitä sanotaan perehtymättä asiaan itse. Vaikka asian selitti, kuten tässäkin threadissa. Niin silti laitetaan vielä referenssiä kuten Fri13 teki. Wink Eikä itse vaivauduttu edes ajattelemaan sen verran että huomattaisiin referenssin olevan puutteellinen.
En sitten tiedä mikä oli kun et huomannut antamastani linkistä alussa mainittua asiaa, että se ei ole _tekninen_ ja tarkka selostus, vaan rautalangasta väännetty tavalliselle käyttäjälle joka haluaa vain tietää mitä teknisessä dokumentaatiossakin selitettäisiin ja mitä ne henkilöt jotka ovat Ext* -tiedostojärjestelmiä ja Linux-käyttistä ohjelmoineet, kertovat syyksi että eheytystyökaluja ei tarvita. Kummallista peräti sanoisin. Mutta perustan sanomiseni vain niihin faktoihin, eli tapauksiin joita tullut vastaan ja en puhu mistään oman pöytäkoneen tapauksista, mitä esimerkkinä käytin aikaisemmassa viestissä. Mielestäni myös asioista voi yrittää kertoa tavalliselle käyttäjälle joka seuraa ketjua, että mistä on oikeasti kyse. Voisihan tätä keskustelua alkaa käymään tarkasti tieteellisin tekstein, mutta se muuttuu pian muille kuivaksi ja tylsäksi jos ei ole termit tuttuja. Tiedostojärjestelmistä ylipäätänsä puhuminen vaatii että keskustelu rajataan tarkkaan jollekkin tietylle tiedostojärjestelmälle ja silloin vielä tiettyyn asiaan. Ominaisuuksien laatu kun vaihtelee hyvinkin paljon riippuen käyttöympäristöstä.
Ext4 siis fragmentoituu huomattavasti vähemmän kuin Ext3 noiden muutaman ominaisuuden (mballoc, delayed alloc, extents, persistent preallocation) ansiosta jos sovellukset niitä käyttää. Silti ext4: on implementoitu Online defragmentation ominaisuus. Miksi? Sehän piti olla täysin tarpeeton ja vielä huomattavasti vähemmän tarpeellinen kuin Ext3:n tapauksessa. Dokumentoinnissa sanotaan, että edes nuo ominaisuudet eivät estä fragmentoitumista.
Otitko huomioon että keskustelussa ei kukaan väittänyt, että Ext3-tiedostojärjestelmä ei pirstaloidu? Kysymys oli, tarvitseeko käyttää eheytystyökaluja vai ei. Kuten itsekkin annoin ihan malliesimerkin tämän hetkisestä /peruskäytöstä/ niin tukevat perinteistä asiaa, eli ei tarvitse.
Pirstaloitumista tapahtuu kaikilla tiedostojärjestelmillä, joillakin vähemmän ja joillakin enemmän. Pirstaloitumista myös tapahtuu reippaasti enemmän väärin configuroiduissa hakemistorakenteissa kuin oikein configuroiduissa että suurissa palvelinryppäissä kuin pöytätietokoneissa. Pirstaloitumisen tasoon vaikuttaa tilan määrä ja tiedostot joita sinne kirjoitetaan.
Se on pelkkää matematiikkaa ja sillä voidaan aina todistaa että oli mikä tahansa tiedostojärjestelmä, pirstaloitumista tapahtuu n-ajassa kun X-tilaan tallennetaan Y-määrä z-kokoisia tiedostoja. Tietyillä tavoilla (kuten ollaan jo useasti tiedostojärjestelmien ominaisuuksissakin todettu), pirstaloitumisen määrä kyllä saadaan niin pieneksi että se ei ole haitallinen tekijä. Kukaan ei kiellä että pirstaloitumista /ei tapahdu/ vaan että se määrä on peruskäytössä niin vähäistä että työkaluja siihen ei tarvita. Ainahan voit kertoa että miksi niitä eheytystyökaluja ei ole vieläkään saatavilla jos kerran se pirstaloituminen on niin vakavaa että niille olisi tarvetta? Joku salaliitto että ei voida myöntää että Ext3 on huono mikä tapahtuisi jos eheytystyökalut julkaistaan. Sen sijaan kehitelläänkin Ext4 joka korjaakin ne ongelmat joita Ext3 mukamas ei omaa? Jos luet sen dokumentin uudelleen, huomaat että siinä puhutaan tiedostojärjestelmän pirstaloitumisen vähentämisestä tilanteissa joissa sitä hyvin paljon tapahtuu, palvelinkäytössä. Myös ominaisuuksista jotka kasvattavat riskiä tiedostojen pirstaloitumiselle (ei tarkoita että kasvattaa pirstaloitumista, vaan riskiä!)
Minä en myöskään voi asialle mitään, että omien kokemuksien mukaisesti, jotka tukevat tuota tietoa että eheytystyökaluja ei tarvita, pirstaloituminen on ollut niin vähäistä että eheyttäminen olisi vain turhaa. Minä en voi myöskään mitään sille, että kun on tehnyt tiedostojen kopioinnin, vastaavanlaiselle levylle mutta tyhjälle. On se pienikin pirstaloituminen tullut korjattua. Tarkennan vielä että en ole tehnyt dd:lla mitään bittitarkkaa kloonia, jolloin pirstaloituminenkin kopioitaisiin juurikin sellaisena uudelle levylle. Olkoot vaikka miten "virheellistä", niin kummallisesti vain aina toiminut juuri kuten mainitsin. RAID-levypakoissa taas toiminto ei ole niin hyvä kun pirstaloitumista tapahtuu vieläkin herkemmin mitä suuremmista tilanmääristä puhutaan, laskien kiintolevyjen, levyjen, tiedostojärjestelmien ym yhtälöt.
Teoriassa voidaan puhua asista vaikka kuinka paljon, tuolloin voidaan todeta että Ext3 pirstaloituu että se täytyy saada eheytettyä. Mutta jos se normaalissa käytössä on alle 3% luokkaa niin voidaan kyllä alkaa jankkaamaan siitä, onko se pahasta vai onko hidastaako se vielä yhtään levytoimintoja. Voimme myös alkaa keskustelemaan eri tiedostojärjestelmien sopivuudesta eri osiin hakemistorakennetta, niiden suositellusta koosta tarpeisiin nähden, millaisille tiedostoille ja ylipäätänsä millaiseen käyttöön. Se on vain turhaa. Teknisten dokumenttien tulkitsemista voimme jatkaa pilkuntarkkaan. Ainoa tulos on että niissäkään ei todeta suoraan että esimerkiksi Ext3 pirstaloituu niin herkästi että eheytystyökaluille on tarvetta. Sen sijaan todetaan että tietyissä tilanteissa, joissa jotakin tapahtuu, voidaan sen vaikutusta vähentää tekniikalla X. Mitään mustavalkoista sääntöä siitä ei löydy vaan oikeat tapahtumat määräävät sitä mikä oikeasti on tarpeellista ja mikä ei.
Ext3-tiedostojärjestelmä on laajasti käytetty sen ominaisuuksien vuoksi. Jos se olisi huono, kilpailevia tiedostojärjestelmiä olisi käytetty sen sijasta. Nyt sen sijaan tekniikka kun kehittyy, tiedostomäärät kasvavat ja vaaditaan uusia ominaisuuksia, Ext3n ominaisuudet jäävät vanhoiksi ja tarvitaan tuleviin tarpeisiin riittäviä tekniikoita, sitä varten Ext4 tiedostoformaattia lähdettiin kehittämään alunperinkin.
Ext3 has been a very popular Linux filesystem due to its
reliability, rich feature set, relatively good performance,
and strong compatibility between versions. The conser-
vative design of ext3 has given it the reputation of being
stable and robust, but has also limited its ability to scale
and perform well on large configurations.
Tärkeintä on että kun on mahdollisuus ja etenkin tarve parannella jotakin, niin tehdään eikä jäädä odottamaan.
Tiedostojärjestelmän pirstaloituminen ja tiedostojärjestelmän eheyttämisen tarpeellisuudesta keskusteleminen on kuin keskustelua veteen piirretystä rajaviivasta.
Tietyissä tilanteissa tarvetta voi esiintyä, mutta ei kaikissa. Ei ole yhtä sääntöä siihen. Windows-systeemejä käyttävät kuulevat liian usein neuvoja, että tiedostojärjestelmä pitäisi eheyttää kerran kuukaudessa tai kerran vuodessa tai ei koskaan koska NTFS ei pirstaloidu. Samalla tavalla on väärin sanoa suoraan että jokin Linux-käyttiksen tiedostojärjestelmä ei pirstaloidu, sitä kun tapahtuu kaikilla. Siitä voidaan keskustella, tarvitseeko eheyttämistä työpöytäkoneissa kuten joissakin tietyissä palvelinympäristöillä? Minun omat kokemukset, sadoista työasemista ja kymmenistä palvelimista. Kertoo että Ext3:sta ei tarvitse eheyttää kuin vain tietyissä tapauksissa ja pääsääntöisesti nekin ovat kaikki vain palvelimissa tapahtuvillle. Asiat muuttuvat niin työpöytäkäytössäkin jos joku päästää tiedostojärjestelmän liian täyteen tai käsittelee hyvin paljon eri kokoisia tiedostoja tietyllä tavalla. Tuolloinkin harvoin tullut tapaus vastaan että eheytys on ollut tarpeen ja silloinkin, riittänyt kun tehtyä kopiointi tai offline eheytys hitaasti. Samanlaisia ongelmia ei ole ollut kuin NTFS tai peräti FAT32 (tai vanhemmilla!) -tiedostojärjestelmillä.
Liian usein myös tullut seurattua peräti AMK-tason IT-koulutusta käyttöjärjestelmistä, joissa tuskin mainitaan edes tiedostojärjestelmien toimintaa ja rakennetta. Sitten jää paljon mielikuvia että jokin NTFS tai vastaava tiedostojärjestelmä ei tarvitse koskaan eheytystyökaluja koska se ei pirstaloidu. Tai sitten tietyissä tapauksissa kokemukset ovat jotain jolloin se ajatusmalli on 1/0. Välillä ei olisi mitään sellaista osuutta, että tiedostojärjestelmä pirstaloituu vähän, mutta sitä ei tarvitse eheyttää koska se ei pirstaloidu niin pahasti.
Jos minulla tulisi seuraavan viikon aikana 100 erilaista tapausta, joissa tiedostojärjestelmänä on Ext3. Ja jokainen näistä tapauksista olisi niin erinomaisessa kunnossa pirstaloitumisen osalta, että eheytystyökaluja ei tarvita. Miksi minun täytyisi alkaa kyselemään tai peräti ohjelmoimaan eheytystyökaluja jos niitä ei tarvita? Mitä sitten jos 1 tapaus noista sadasta olisi sellaisessa kunnossa että eheytys on tarpeen, onko silloin syitä alkaa kyselemään ja ohjelmoimaan? Jos tapauksia olisi aina 20% että eheyts olisi tarpeen, niin tuolloin alkaisin jo vaatimaan niitä työkaluja. Mutta tähän asti kun tapaukset ovat yhden prosentin luokkaa ja ongelma voidaan korjata muilla tavoin, ei minulla tule yhtäkään syytä vaatia ja etsiä eheytystyökaluja Ext3-tiedostojärjestelmää varten.
Ext-tiedostojärjestelmän neljäsversio, Ext4, tuo paljon parannuksia. Niitä tuskin kukaan voi kieltää että ne eivät ole tarpeellisia. Mutta tavalliselle kotikäyttäjälle valtaosa on sama kuin myisi mummolle ferrarin jolla kulkee sunnuntaisin 5km matkan kirkkoon ja takaisin tavallista maantietä pitkin.
Tiedostojärjestelmien kehittymisestä on kiva keskustella, tapahtuuhan se käyttöjärjestelmässä. Uusien tiedostojärjestelmien odottaminen on mukavaa kun saa lyödä vetoa mikä Linux-käyttiksen versio tuo seuraavan version mukanaan. Ehkä 2.8.32 versio tuo mukanaa "butter-filesystem" (btrfs) joka on tarpeen peruskäytössä.