Portál AbcLinuxu, 14. května 2024 18:29

Moderní souborové systémy - ReiserFS

11. 12. 2002 | Petr Novický
Články - Moderní souborové systémy - ReiserFS  

Popis ReiserFS, návod na zprovoznění a tipy pro provoz.

Úvod a motivace

V dnešním díle seriálu o souborových systémech se budeme bavit o historicky prvním linuxovém souborovém systému, který podporoval žurnálování. Jistě jste jméno ReiserFS už někdy slyšeli a v tomto díle se o něm dozvíte něco blíže. Hlavní osoba, která za tímto projektem stojí, je Hans Reiser, po kterém byl filesystém pojmenován. Ovšem vyvíjelo ho s ním samozřejmě ještě spousta dalších spolupracovníků.

Teď byste možná rádi věděli, proč ReiserFS používat. Má spoustu vlastností, které ostatní filesystémy neobsahují. Jak jsem již řekl, jedná se o žurnálovací souborový systém, tudíž jednou z výhod, které poskytuje, je zajištění konzistence dat při výpadku a také zrychlení obnovení systému oproti fsck.

ReiserFS je založen na rychlém balancovaném stromu. Je tak zrychlena práce např. s velkým množstvím položek v adresáři. Už není žádným problémem, aby adresář obsahoval třeba 100 000 souborů, ReiserFS s takto obsáhlým adresářem pracuje bez problémů.

Třetí a nejdůležitější vlastností je jeho schopnost pracovat efektivně s místem na diskovém oddílu. ReiserFS neukládá data do bloků pevných velikostí. Pokud chceme uložit několik souborů velkých například 100B, uloží jich ReiserFS filesystém několik do jednoho bloku. Použitím tohoto souborového systému tedy šetříme nezanedbatelnou měrou prostor na našem záznamovém médiu. Stejně tak jsou do jednoho bloku ukládány konce souborů, které už nezabírají celý blok. Na druhou stranu tím však dochazí ke snížení výkonnosti filesystému, kvůli vyšší míře externí fragmentace.

Dalším problémem je přidání dalších dat na konec souboru. V tomto případě je na první pohled zřejmé, že se jedná o složitější problém, než např. u Ext2, kde přidaní několika bytů je triviální záležitostí. Jednoduše se použije nevyužité místo v rámci bloku, který používá soubor jen z části. Ovšem u Reiserfs musí dojít k přesouvání dat do jiných bloků, aby se tam přidávaná data vešla.

Uchovávání malých souborů se hodí hlavně v případě databází. ReiserFS byl navržen, aby umožnoval ukládat malé záznamy na disku, tudíž aby nebylo nutné používat nějaké způsoby shromažďování dat do větších souborů. Tento přístup by měl nejen zvýšit výkon, ale také snížit dobu vyvíjení aplikací tím, že programátoři nemusí vymýšlet způsoby, jak spojit několik malých bloků dat do jednoho velkého. Mohou je jednoduše na disk ukládat každý zvlášť.

Instalace

Jako první věc, kterou musíme provést, pokud chceme používat ReiserFS filesystem, je opět kompilace kernelu, který tento filesystém podporuje. Stačí povolit volbu CONFIG_REISERFS_FS. Pokud používáte make menuconfig nebo make xconfig, najdete ji v menu Filesystems, položka Reiserfs support. Podpora ReiserFS se dá zkompilovat přímo do kernelu nebo jako modul. Pokud budeme používat Reiserfs na kořenový svazek, je nutné zakompilovat podporu Reiserfs přímo do kernelu.

Pro vytvoření nového filesystému poté slouží příkaz:

mkreiserfs /dev/hdXX,

kde /dev/hdXX je zařízení, kde chcete nový filesystém vytvořit. Poté již můžeme bez problémů nový diskový oddíl připojit. Nevýhodou oproti ext3 je bohužel nemožnost přetransformovat filesystém z klasického ext2 na reiserfs bez ztráty dat.

Dále je nutné přidat záznam do konfiguračního souboru /etc/fstab, tento záznam může vypadat následovně:

/dev/hdc1 /home reiserfs defaults 0 0

Položka /home je místo, kam chcete diskový oddíl připojit, tudíž si ho samozřejmě můžete změnit podle potřeby.

Parametry zrychlující práci filesystému

Jak jsem již uvedl, ReiserFS má i některé své nedostatky (práce s konci souborů), které výkon snižují. Tyto nedostatky se však dají částečně napravit pomocí správných nastavení při připojování oddílu. Pomocí volby noatime zrušíme záznamy filesystému o posledním přístupu ke všem položkám filesystému. Další volbou, která zrychlí práci s filesystémy je notail. Tím zrušíme ukládání konců souborů do jednoho bloku. Ztratíme tím sice nějaké místo na disku, ale dojde k zrychlení práce filesystému. Tedy např. kořenový filesystém znovu přípojíme se se správnými parametry pomocí příkazu:

mount / -o remount, notail

Opravený záznam v souboru /etc/fstab je následující:

/dev/hdc1 /home reiserfs noatime,notail 0 0

Změna velikosti filesystému

Užitečnou vlastností ReiserFS filesystému je možnost změny jeho velikosti. Příkaz resize_reiserfs slouží právě ke změně velikosti diskového oddílu. Ke zvýšení velikosti ho dokonce nemusíme ani odpojovat. Pokud souborový systém zvětšujeme, je nutné, aby bylo samozřejmě na disku volné místo (např. zrušením následujícího oddílu pomocí příkazu cfdisk). Když chceme zmenšit filesystém, musíme nejprve použít resize_reiserfs a poté teprve cfdisk (pozor aby jste ho nesnižovali na menší než velikost, kterou data na něm zabírají!).

Například kdybychom chtěli zmenšit velikost filesystému na diskovém oddílu /dev/hda2 připojeném na adresář /mnt, postupovali bychom následovně:

umount /mnt
resize_reiserfs -s -1G /dev/hda2
mount /dev/hda2 /mnt

Bližší informace získáte z manuálové stránky resize_reiserfs(8).

Shrnutí

K dalším výhodám souborového systému ReiserFS patří podpora žurnálovacího souboru na odděleném diskovém oddílu a dynamické alokování inodů. Jak jsem se již zmínil také možnost online zvětšit filesystém. Zajímavá je podpora špatných bloků a pomocí externího patche i možnost quot.

Související články

Moderní souborové systémy - ext3
Moderní souborové systémy - 1. část
Jaderné noviny 192

Odkazy a zdroje

http://www.reiserfs.org
Advanced filesystem implementor's guide
Advanced filesystem implementor's guide 2
http://root.cz/clanek.php4?id=505

Seriál Moderní souborové systémy (dílů: 5)

První díl: Moderní souborové systémy - 1. část, poslední díl: Moderní souborové systémy - JFS.
Předchozí díl: Moderní souborové systémy - ext3
Následující díl: Moderní souborové systémy - XFS

Další články z této rubriky

Úvod do Dockeru (1)
Paralelizace běžných činností v konzoli pomocí GNU Parallel
Unixové nástroje – 26 (triky pro práci v Bashi)
Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
Linux: systémové volání splice()

Diskuse k tomuto článku

11.12.2002 09:36 Petr Blahos
Rozbalit Rozbalit vše Instalace
Odpovědět | Sbalit | Link | Blokovat | Admin
Je to opravdu treba, mit tam odstavec instalace?!? Nemam dojem, ze by v nem bylo cokoliv reiserfs-specific ;-)
11.12.2002 09:48 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Instalace
díváme se na stejný článek? ja tam vidím jen samé reiserfs příkazy ..
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
11.12.2002 10:29 Petr Blahos
Rozbalit Rozbalit vše Instalace
Jiste. Ale pokud nadradime retezec reiserfs retezcem ext2 nebo ext3 tak to bude platit uplne stejne. Jinak, me se tento serial moc libi, ja nechcu jenom nejak rejpat, ale jde o to, ze priste by tam mohl byt nachlup stejnej odstavec o jfs, xfs, nebo cokolifs. No a taky pokud se nepletu, tak reiserfs nemusi byt v jadre aby se dal pouzit na root fs. Ale to je uplne stejny jako celej odstavec. Vysvetleni teto zalezitosti neni reiserfs specific a v tomto clanku to naprosto spravne neni. A stejne tak be bylo naprosto spravne, kdyby tam chybel ten odstavec o instalaci.
11.12.2002 10:40 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Instalace
souhlasim s petrem. ten odstavec tam je pro lidi, kteri nejsou guru jako vy. kazdy nekdo zacina a potrebuje se neceho chytit. a pak se mu bude hodit kazda takova "zbytecna" informace. takze z meho hlediska jako vydavatele serveru je dobre, ze tam ten odstavec je a kdyby chybel, tak bych ho vyzadoval.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
12.12.2002 07:50 Standa
Rozbalit Rozbalit vše Instalace
Ja jsem novacek v linuxu, vice ci mene uspesne se peru s Mandrake 9 a diky "Diskusi" na tomto serveru mi uz mnoho lidi poradilo a vsem jim touto cestou dekuji. A me zrovna otazka, jestli lze zkonvertovat napr. ext2 na reiserfs bez ztraty dat napadla. Diky tomu odstavci o instalaci jsem vedel, ze uz se tady v diskusi pod clankem nemusim zbytecne ptat. Nejde to a pokud bych ho chtel (ten fs), tak na ciste instalaci. Takze ano, kazdy by mel mit moznost dozvedet se takoveto informace (jak a co nainstalovat a jake to ma nasledky). Jeste me napada moznost oznacovat clanky jako "Zacatecnik"/"Guru"... pak by kazdy vedel, pro koho a jak moc do hloubky dany clanek je.
11.12.2002 10:25 Petr
Rozbalit Rozbalit vše Instalace
Tato informace (instalace) neni urcena pro vas, ale pro ty co s linuxem jsou v zacatcich. Pro ne to ma informacni hodnotu. Vzpomente si na sve zacatky - a snad pochopite. Mne to vubec nevadi - proste to preskocim a mrknu se jestli mohu neco doplnit v diskusi ... ... a zde vidim, ze rejpalove nevymreli. Petr
11.12.2002 14:23 Polish
Rozbalit Rozbalit vše Instalace
Ahoj, udelal jsem to jako Vy, preskocil jsem pro me nezajimavou cast. Mozna bych k ni ale pridal od kdy je dany fs primo vlozen do jadra, aby ten zacatecnik nebyl prilis zmaten, ze to tam neni.
11.12.2002 12:28 kokot
Rozbalit Rozbalit vše poznamka
Odpovědět | Sbalit | Link | Blokovat | Admin
Ok. Tyhle clanky o souborovych systemech jsou hodne zajimave. Doufam, ze budete i pres rejpani pokracovat.:-) Prece jen se clovek dozvi neco vic o systemech co maji "pod kapotou" a pak vi jak to pouzivat. Treba dnes o te promene delce "bloku" v Reiser, tak to jsem nevedel a uz mam aspon zduvodneni proc ho nepouzivam.:-) Jsem stastnym uzivatelem jineho, treba o nem bude taky rec.:-) Ale jinak proc pisu. Nevyhovuje me formatovani abclinuxu. Je delane na pevnou sirku 1024 nebo mozna i vic a my mene stastni kteri nemame monitory a oci uzpusobene na tak velke rozliseni musime pri cteni kazde radky posunovat textem vodorvne a to je skutecne hruza. Nedalo by se s tim neco udelat? Chapu ze to asi porusi upravu stranky, ale vazne se to moc spatne cte. Pouzivam Mozillu 1.2.1.
11.12.2002 13:18 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše poznamka
zkus to ted, byly tam moc dlouhe odkazy, ktere pak nejdou zlomit. tak jsem je nahradil textem, takze by se text mel normalne lamat. je top lepsi?
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
11.12.2002 13:44 kokot
Rozbalit Rozbalit vše poznamka
dik, je to ok
11.12.2002 18:07 DavySW
Rozbalit Rozbalit vše uz se tesim na XFS
Odpovědět | Sbalit | Link | Blokovat | Admin
uz se velmi tesim na informace o XFS, je to velmi dobry fs a jsem zvedavy co o nem vystourate :-)) PS: neslo by neco podobneho udelat o UFS (neni to zrovna linux fs ale FreeBSD zase tak daleko od linuxu neni)
12.12.2002 11:12 Milos
Rozbalit Rozbalit vše Je to fajn
Odpovědět | Sbalit | Link | Blokovat | Admin
Mate nekdo prakticke zkusenosti s ReiserFS a s zurnaly na jinem disku? Dik.
12.12.2002 11:57 Petr Kos | skóre: 10 | Valašské Meziříčí
Rozbalit Rozbalit vše Opravdicky uzivatel reiserfs
Odpovědět | Sbalit | Link | Blokovat | Admin
Vetsina informaci a diskuzi o reiserfs se bohuzel toci v ciste teoreticke rovine. Proto bych vas rad informoval, ze patrim k jeho spokojenym uzivatelum. Mam ho cca pul roku na svem domacim pecku (Pentium 166 + 128M RAM), protoze muj tehdy dvoulety syn mel v oblibe veskere vypinace a tlacitka a to napjate cekani na vysledek fsck me uz vubec nebavilo. Vzhledem k tomu, ze ext3 mi pripada jen jako provizorni reseni, potlacil jsem strach z novatorstvi s tim, ze doma se obcasne vypadky snesou. Za tu dobu nemuzu poslouzit zadnou spatnou zkusenosti, presto, ze zatezove testy pomoci kolebkoveho prepinace na prodluzovacce byly provadeny. Co se tyce rychlosti, subjektivne mi pripada, ze doslo k mirnemu zrychleni oproti predchozimu ext2 (mam nomontovano s optionem notail). Rad ovsem podam zpravu, az nejakou spatnou zkusenost udelam.
14.12.2002 22:15 MH
Rozbalit Rozbalit vše Opravdicky uzivatel reiserfs
Proc myslite, ze ext3 je jen provizorni reseni ? Provozuji jej na 5 serverech - z toho ten 1 je opravdu znacne vytizeny a nemohu si stezovat...Samozrejme nema vsechna vylepseni ci pokrocile postupy jako jine filesystemy, ale pro dany ucel - tedy relativne mensi systemy - je to souborovy system velmi dobry... Reisera taky provozuju - na notebooku :-) Vzniklo to tak, ze pri instalaci SuSE 8.0 jsem si neuvedomil, ze bude treba filesystem Ext3 zvolit - a instalacni program mne tam dal - jako spravny nemecky vlastenec Reisera a ja uz ho tam (ze studijnich duvodu) nechal...Problemy s nim na tom notebooku, pravda, nejsou...
16.12.2002 02:08 Zdenek Havelka | skóre: 2
Rozbalit Rozbalit vše Opravdicky uzivatel reiserfs
OK, mam reiserfs na svem pracovnim PC pres dva roky. Vlastne jsem za tu dobu komplet vymenil hw, verzi distribuce, ale data na disku zustala. Prvni PC byl jakysi smejd se 130W zdrojem, ktery nestihal, prehrival se a zatuhaval. Nejmene 20 padu na hubu, bezprostredne v prvnich dnech po instalaci. Krom toho mam reiserfs doma na P@225 MMX, a proti ext2 i ext3 JE TO PODSTATNY ROZDIL i v rychlosti. Staci zkusit si vylistovat /usr/share/doc. Nebo treba pouzivat IMAP. Taky ho mam na firemnim serveru (cca 6 mesicu) kde bezi imap server, www, postfix, mysql. Mam tam hw raid. Masina uz sla parkrat neplanovane na hubu diky omylu kolegy i vypadku UPS, ale zatim vzdy bez problemu. Zkousel jsem i ext3, ale zadne vyrazne zlepseni ci zrychleni oproti ext2 nepozoruji - zato mi pripadaji riskantni situace, kdy napriklad nekdo nabootuje ze zachranne diskety|cd bez podpory ext3, udela zmeny na disku, a pak zas rebootuje na puvodni jadro s ext3.
16.12.2002 16:10 Michal Kara
Rozbalit Rozbalit vše Opravdicky uzivatel reiserfs
Proc riskantni? Jediny pripad kdy muze dojit k nejakym problemum je pokud vypnete natvrdo pocitac, pak si ten svazek pripojite jako ext2 a delate nejake zmeny. Ale pokud projde fsck, tak je vse OK. Ja se naopak ReiserFS docela bojim, protoze mam z nekolika mist reference, ze reiserfsck stale nedosahuje stability e2fsck - tedy pokud se nepovede recovery ze zurnalu, mate s reiserfs docela problem. S ext3 pouzijete stary dobry provereny e2fsck a jede se dal. Krom toho, prechod z ext2 na ext3 je vyrazne rychlejsi nez na reiserfs (nekde lze provest i za plneho provozu s minimalnim vypadkem :-)
11.3.2003 09:58 pixall
Rozbalit Rozbalit vše Opravdicky uzivatel reiserfs
doma sa mi cas-od-casu vyskytnu vypadky elektriny, a moj domaci linux server mal z toho problemy. z prvych radovo 10 vypadkov sa ext2fs po e2fsck dostal celkom dobre, dalsich asi 6 vypadkov uz bolo horsich (e2fsck nedobehol, musel som ho "dodelat rucne" ;-p), a behom posledneho tyzdna existencie to bolo kriticke - uz bez akehokolvek vypadku mi za behu zmizol jeden pracovny adresar od postfixu (vo vypise adresara sa neobjavil, ale niekde tam bol, midnight commander krical ze ho nasiel ale nevie ho otvorit), ls ho vobec nenasiel. tak som na tu particiu pustil e2fsck (tvaril sa ze vsetko opravil), potom badblocks, tiez hlasil vsetko ok. spravil som radsej zalohu a dobre som urobil - o dva dni zmizli (tiez bez padu alebo restartu) dalsie subory, tentokrat to uz boli moje cerstve zdrojaky, boh zaplat za tu zalohu. nastalo velke badblockovanie, vsetko v poriadku, tak prisiel fdisk, zhodil som ext2ku a nahodil reiserfs. odvtedy bezim uz asi mesiac bez problemov, jeden vypadok uz bol (zapadoslovenske elektrarne suxx, zas lahla cela mestska stvrt) a zotavenie bolo okamzite.. je to prvykrat co vidim ze by sa filesystem tak zmrsil, ze si uz vyrabal problemy sam od seba, kazdopadne s ext2kou sa mi to stalo :o/ na tomtiez stroji bolo este niekolko dalsich particii s ext2 a reiserfs, tie prezili viacmenej bez problemov, problemova ext2ka bola /var ...
12.12.2002 20:58 Honza
Rozbalit Rozbalit vše Existují nějaké výkonové testy?
Odpovědět | Sbalit | Link | Blokovat | Admin
Je to mírně off-topic, ale neví někdo z Vás, zda, případně kdy, kde, kým a s jakými výsledky byly používanější souborové systémy testovány? Fakt by mne zajímal nějaký oficiálnější test systémů řekněme XFS,JFS,ext2/ext3 a NTFS - něco ve smyslu, který se nejlépe chová s hafem drobných souborů, který nejrychleji pracuje se soubory obrovskými, kde dochází k nejmenší fragmentaci, který nejrychleji rozchodí vyndání ze zásuvky a tak podobně. To přece MUSEL někdo někde testovat...
13.12.2002 08:47 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Existují nějaké výkonové testy?
Ano existuji, staci si napr. na root nechat vyhledat Reiserfs a pak se ve vysledku kouknout treba na tyhle dva clanky: Jak rychlý je váš souborový systém? a Ext2, XFS, ReiserFS - který je lepší?
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
16.12.2002 16:23 Michal Kara
Rozbalit Rozbalit vše Usetreni mista
Odpovědět | Sbalit | Link | Blokovat | Admin
Jinak pokud jde o ono "usetreni mista", tak neni zas tak vyrazne, aby ospravedlnovalo nizky vykon filesystemu. Pokud se pouzije "notail", tak statisticky na kazdy soubor pripada nevyuzite misto rovne polovine diskoveho bloku. Tedy zapnutim notail ziskame: BLOCKSIZE/2*100/AVERAGE_FILE_SIZE procent mista. Na nainstalovanem Debianu bez nejakych vetsich datovych souboru mam prumernou velikost souboru cca 21KB, tedy zapnutim notail bych pri velikosti bloku 4096 bajtu ziskal zhruba 9%...
3.4.2004 15:40 Pat
Rozbalit Rozbalit vše Zmena velikosti...
Odpovědět | Sbalit | Link | Blokovat | Admin
Zdravim, tak jsem zmenil velikost oddilu s reiserem velice rychle, ale ma to jeden hacek, misto sice ubylo po napsani df, ale jinak se nic neuvodnilo a ja tudiz nemuzu udelat dalsi oddil, nemuze nekdo poradit, jak na to? Nebo na co jsem zapomnel? Predem moc dik

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.