abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    17.5. 13:44 | Nová verze

    Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    17.5. 12:22 | Komunita

    Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.

    Ladislav Hagara | Komentářů: 0
    17.5. 01:55 | Komunita

    24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.

    Ladislav Hagara | Komentářů: 10
    16.5. 23:33 | Nová verze

    Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 1
    16.5. 21:11 | Nová verze

    Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.5. 20:55 | Nová verze

    Byla vydána nová verze 6.3 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.15.

    Ladislav Hagara | Komentářů: 0
    16.5. 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 9
    16.5. 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    16.5. 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    16.5. 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

    Ladislav Hagara | Komentářů: 9
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (76%)
     (5%)
     (10%)
     (9%)
    Celkem 329 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Filefrag

    5.4.2008 22:31 | Přečteno: 1729× | Výběrový blog | poslední úprava: 5.4.2008 22:32

    Utilitka filefrag slouží (zjednodušeně řečeno) pro zjištování fragmentace souborů.

    K fragmentaci souborů dochází u každého systému souborů bez ohledu na to, co si myslí jeho příznivci a co o něm říkají jeho odpůrci. Pokud je mi známo, tak ze všech FS dostupných v Linuxu má online defragmentaci pouze XFS (programem xfs_fsr). U JFS je defragmentace možná pouze na domácí platformě IBM, reiserfs nemá podobný nástroj vůbec a "domácí" ext2, ext3 také ne.

    Tento zápisek je především o ext3. Při hledání nějaké pomůcky, která by alespoň trochu umožnovala umravnit soubory na disku jsem v diskusních fórech nacházel v podstatě dva druhy zápisků. Autoři těch prvních tvrdili, že linux není windows a proto ext3 žádný defrag nemá, protože dobře navržený fs jej nepotřebuje. A ti druzí byli již zoufalí (stejně jako já) při pohledu na klesající propustnost při čtení souborů.

    Zpět k tématu. Utilitka filefrag umožňuje zjistit počet fragmentů a na ext3 také odhadne minimální počet fragmentů pro daný soubor a aktuální stav FS. Má pouze jediný přepínač -v, který vypíše i rozsahy bloků jednotlivých fragmentů. Použítí je snadné:

    #filefrag search_index.MYI
    search_index.MYI: 429258 extents found,\
    perfection would be 15 extents
    

    Výstup je přehledný a pro účely statistiky i snadno parsrovatelný. Předchozí příklad ukazuje výstup programu filefrag a jako figurant je použit soubor o velikosti 1.8GB. Bystřejší čtenář jistě poznal, že jde o soubor s indexem MYISAM tabulky MySQL database.

    Číslo 429'258 ponechám raději bez komentáře.

    Je nutné doplnit, že se jedná o ext3 o velikosti 80GB s 4kB bloky, je namountován jako /var a je zaplněn z 80%, tj 16GB volného místa. FS byl vytvořen 1.března 2008 (je tedy mladý). Stroj slouží jako běžný domácí server.

    Co říci závěrem? Těším se na ext4 u něhož vývojáři počítají s online defragmentací. Program shake (který je asi nejlepším pokusem o defrag in userspace) považuji za aprílový žertík a spíše je to doklad žalostné situace linuxových FS a jejich nástrojů.

           

    Hodnocení: 91 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    5.4.2008 22:42 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Filefrag
    Chápu to správně tak, že ten index byl zhruba půlmilionkrát zvětšen a za celou dobu nebyl nijak optimalizován? Obávám se, že to defragmentace na úrovni souborového systému nezachrání…
    Heron avatar 5.4.2008 23:04 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    Nechám si poradit jak optimalizovat index. Tabulka byla optimalizována mnohokrát. Každopádně defragmentace by ten soubor alepoň spojila dohromady.

    No jestli chceš mám tu jiné pikantní příklady souborů, které byly zapsány pouze jednou na oddíl o 50% zaplnění.
    6.4.2008 11:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Filefrag
    Nechám si poradit jak optimalizovat index.
    V PostgreSQL příkazem REINDEX. U MySQL nevím.
    Každopádně defragmentace by ten soubor alepoň spojila dohromady.
    A následující zápisy ho zase budou fragmentovat. Myslím, že na udržení málo fragmentovaných souborů pro databázi musí databáze a souborový systém spolupracovat – ale nevidím důvod, co by jim v tom bránilo. Podle mne pokud bude databáze alokovat diskový prostor napřed a používat řídké soubory (tj. oznámí souborovému systému, že bude potřebovat pravděpodobně velký soubor, ale fyzicky si zatím vezme jenom část), a souborový systém bude takové soubory alokovat tak, že (pokud je místo na disku) vynechá na disku místo pro celý takový soubor, pak by k fragmentaci nemělo docházet.

    Samozřejmě pokud databáze zvětšuje soubor po malých blocích s tím, že souborový systém se s tím nějak vyrovná, bude soubor fragmentovaný, protože tenhle způsob využití je netypický a obecný souborový systém pro něj asi nemůže být optimalizován.
    Heron avatar 6.4.2008 15:44 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    Řídké soubory naopak budou již ze svého principu velmi fragmentované. Protože FS jejich velikost nealokuje a ani nijak nerezervuje (protože to nejde) a jednotlové bloky řídkého souboru zapisuje náhodně. Zkušenosti s sparse file vytvářené azureusem to jen potvrzují (bez ohledu na použitý FS, výsledek je velmi podobný ať jde o ext3, xfs nebo ntfs).

    Chtělo by to obdobu mallocu. Tedy program by sdělil operačnímu systému délku vytvářeného souboru, OS by jej alokoval jak nejlépe by to šlo a program by pak zapisoval data.
    6.4.2008 15:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Filefrag
    Proč by to nešlo? Řeknu si FS o 1 GB soubor, FS se podívá na disk a zjistí, že má souvislou oblast 1 GB, tak ji rezervuje pro můj soubor. Já pak zapíšu 1 MB, které se zapíše fyzicky na disk, a zbývající prostor bude označen jako rezervovaný, ale nevyužitý. Dokud bude na disku volné místo, nemusí na ně FS sahat, a využije je teprve v případě, že jinde na disku nebude volné místo.
    Heron avatar 6.4.2008 16:04 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    Ano, tohle by šlo, ale sparse file se takto imho nerezervuje. Jinak souhlasím a přesně tohle jsem myslel tím příkladem s malloc.
    6.4.2008 16:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Filefrag
    Asi to zatím nikdo nenaprogramoval… Jinak té databázi by určitě prospěla alespoň odložená alokace diskových bloků (kterou má třeba XFS, ale snad se plánuje i do ext4). A fragmentaci by asi nejvíc pomohlo mít databázové soubory na vyhrazeném oddílu – pak by se do těch databázových souborů nemotaly fragmenty jiných souborů a fragmentace by měla zůstat na nízké úrovni.
    Heron avatar 6.4.2008 16:43 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    A fragmentaci by asi nejvíc pomohlo mít databázové soubory na vyhrazeném oddílu – pak by se do těch databázových souborů nemotaly fragmenty jiných souborů a fragmentace by měla zůstat na nízké úrovni.

    Abych nakonec nedopadl jako pan Ponkrác akorát bych měl oddíly dle aplikací. /www /mysql /squid ;-)

    6.4.2008 17:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Filefrag
    To by pak ale vedlo k použití LVM2. A za pár měsíců si budete stěžovat, že to LVM strašně fragmentuje diskové oddíly, a že by to chtělo nějaký nástroj na defragmentaci volume group :-)
    Heron avatar 6.4.2008 17:15 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag

    LVM samozřejmně používám ;-).

    ...
      LV Write Access        read/write
      LV Status              available
      # open                 1
      LV Size                96.19 GB
      Current LE             3078
      Segments               3
      Allocation             inherit
      Read ahead sectors     0
    ...
    

    Jo jo, chtělo by to nějakej LVM defrag :-D.

    6.4.2008 19:54 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Filefrag
    Heron avatar 6.4.2008 20:18 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    fallocate() is available on Linux since kernel 2.6.23.

    Wau. Je to hodně mladá funkce, takže asi nebude moc rozšířená, ale je to krok správným směrem. Díky.

    .. avatar 14.4.2008 09:32 .. | skóre: 4 | blog:
    Rozbalit Rozbalit vše Re: Filefrag
    Zase tak mlada ne, navazuje na posix_fallocate a ta uz je funkci o dost dele
    6.4.2008 14:19 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Filefrag
    No jestli chceš mám tu jiné pikantní příklady souborů, které byly zapsány pouze jednou na oddíl o 50% zaplnění.
    Budu hádat - velké soubory, které se zapsaly naráz, ale stejně jsou fragmentované...
    Quando omni flunkus moritati
    Heron avatar 6.4.2008 15:34 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    V podstatě ano.
    6.4.2008 16:30 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Filefrag
    Nechtěl bych kecat, ale mám ten dojem, že do určité míry je to tak schválně, aby se zabránilo ještě větší fragmentaci.

    Četl jsem nějaké srovnání přístupu (Linux vs. Windows) - linuxové filesystémy fragmentují naschvál, protože když se všechny soubory nasypou do jedné souvislé oblasti a bez volného místa mezi soubory, tak při jejich editaci (zvětšování, zmenšování) dochází ke značné fragmentaci jak volného místa, tak i dalších souborů, které jsou na ten FS zapisovány (tenhle problém se projevuje u FAT). Proto se fragmentuje od začátku, čímž se dosáhne toho, že všechny soubory jsou na tom přibližně stejně.*

    Je to dost dávno, zdroj si samozřejmě napamatuju, takže nemůžu garantovat, že jsem si to zapamatoval dobře.

    * Samozřejmě potom dochází k různým "podivnostem", jako třeba video, se kterým se už nebude hýbat, ale je rozházené všude možně po disku; s tím se ale těžko dá něco udělat, protože tohle OS těžko rozezná.

    Btw. kde se to nechá stáhnout?
    Quando omni flunkus moritati
    Heron avatar 6.4.2008 16:52 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag

    Nechávat mezi soubory volné místo (tj "fragmenovat" prázdné místo) je velmi elegantní způsob jak zabránit fragmentování samotných souborů. Zásadní chybou interního defragu ve Windows je snaha vše naplácat na jednu hromadu. Jediný defrag do Windows který umí spojit soubory a nechat místo místem je Raxco Pefrect Disk. Pak je celý proces stejně rychlý jako třeba xfs_fsr. Velký soubor je pak samozřejmně fragmentovaný (protože je nacpán do těch volných míst), ale většinou to není nijak tragické. Pár seeků navíc při čtení mnoha GB souborů průměr rychlosti čtení moc neovlivní.

    Btw. kde se to nechá stáhnout?

    filefrag? Na Fedoře jej mám v balíčku e2fsprogs.

    6.4.2008 17:12 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Filefrag
    Na Fedoře jej mám v balíčku e2fsprogs
    Aha, ono je to přímo v utilitách pro ext3, tak tam mě nenapadlo hledat. Jdu se stydět do kouta.
    Quando omni flunkus moritati
    6.4.2008 23:20 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Filefrag
    Nechám si poradit jak optimalizovat index. Tabulka byla optimalizována mnohokrát. Každopádně defragmentace by ten soubor alepoň spojila dohromady.
    Ten soubor by spojila dohromady...a to by se projevilo přesně jak, hm? Copak k indexovým stránkám se přistupuje sekvenčně? Není to takhle náhodou B-strom? Ten se traverzuje značně nesekvenčním způsobem. Krom toho u slušně nakonfigurovaného serveru se stejně minimálně ty indexy vejdou do paměti. "Optimalizovaná tabulka". Chm. Všichni machři na Internetu s tím slovem obratně žonglují, ale ještě z nich dostat vysvětlení, co tím vlastně mají na mysli. :-)

    Každopádně to nejlepší, co můžeš udělat, je hodit databázi na raw partition a porovnat výkon se současným stavem. ;-) Tím by se ukázalo, kolik ten ext3 vlastně užírá, poněvadž jedině u raw partition má server jistotu, že má bloky skutečně za sebou, a může se tomu i přizpůsobit.

    (BTW, ten filefrag mi nepřijde nijak extra použitelný. Kdysi jsem si napsal podobnou toolu, ač velice základní, ale určitě by k ní šel dodělat mnohem hezčí výstup. Hmm. Zamyslím se nad tím. :-))
    Heron avatar 6.4.2008 23:59 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    Ty sis tu odpověď tedy pěkně užil :-)

    Jsem nepsal, že výkon DB klesá v důsledku počtu fragmentů tohoto souboru. To samozřejmně ne. Výkon této DB ne-klesá k vůli něčemu zcela jinému, ale o tom jindy. ;-) Ale přece jen z pohledu FS jde o soubor jako každý jiný a jako takový má jistě právo být uspořádán. Mno už stejně neexistuje. Budiž mu InnoDB lehké ;-).
    Valoun avatar 6.4.2008 11:03 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Re: Filefrag
    Zkus defrag. Není to žádný zázrak, ale něco to asi dělá. Defragmentuje tuším prostým kopírováním, metodou pokus-omyl. Výsledné zrychlení nepozoruji, ale pro radost si ho občas pustím, baví mě koukat na čísílka.
    Heron avatar 6.4.2008 15:36 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Filefrag
    Defragmentuje tuším prostým kopírováním, metodou pokus-omyl.

    Ano, tohle dělá i shake. Problém je, že to nelze použít pro soubory otevřené pro zápis.

    24.4.2008 17:09 Krakonoš | skóre: 17 | Nová Ves v Horách
    Rozbalit Rozbalit vše Re: Filefrag
    Ano, defrag je super. Je to tuším to samé jako shake (kopíruje a spoléhá na to, že novej soubor si fs uloží lépe, než ten původní). Idea není špatná. Problém nastal při realizaci. Jednoduché kopírování prostě nestačí.

    Zkoušel jsem oba programy, oba na různých discích. Nevěděl jsem jak to funguje, tak jsem si vzal dva disky a udělal bitovou kopii mého rootfs. Jsou tam nějaké databáze (maličké, nepoužívané), konfiguráky, binárky, občas nějakej film v homu (Stargate, IT Crowd - do 350MB).

    Protože ten FS existuje již (v nezměněné podobě) od r. 2005 a údržba prakticky žádná (pravidelný fsck, po 3 měsících vždy rm -rf /usr/portage a novej sync -- neúnosně se to zpracuje při každém syncu...). Propustnost a hledání v katastrofálním stavu. Fragmentace souborů byla cca 7.2% (vyhodil fsck, filefrag myslím o desetinku vedle).

    Pustil jsem fsck, abych opravil případné chyby. Nebyly. Pustil jsem shake na celý fs. Pracoval, vypadalo to docela zajímavě. Jezdily mi tam soubory, makal chvíli, ale celkem rychle.

    Nechal jsem si přepočítat fragmentaci. V obou případech byla na 13%! Už nikdy více. Nejlepší defrag je mkfs.ext3...
    6.4.2008 16:28 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: Filefrag
    reiserfs nemá podobný nástroj vůbec
    hm, myslel jsem si, že pro reiserfs existuje placený repacker, ale když se to pokouším googlit, tak dostávám samé nesmysly o tom, že repacker bude v reiser4, a když se to pokusím vyloučit, tak dostávám informace typu, že "ještě" nemá z mailinglistů starých sedm let apod. :-/
    6.4.2008 18:16 alpha
    Rozbalit Rozbalit vše Re: Filefrag
    Nema ho, a Reiser4 zatim taky ne - jeste pred rokem Namesys rikalo ze ho udela az jim nekdo posle $$$, ale ted kdyz Namesys prakticky neexistuje uz to asi neplati.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.