|
ot Nikola Antonov(28-11-2003)
reiting (6)
[ dobre ]
[ zle ]
Variant za otpechatvane
Failovata sistema ext3
Kakvo predstavliava, zashto e neobhodima zhurnalnata failova
sistema ext3, a sushto i kak da rabotim s neia
Vitalii Qkovlev, vit@skorohod.com
http://www.softerra.ru/freeos/18211/page1.html
Prevod ot ruski: N. Antonov, nikola@linux-bg.org
I. Vuvedenie vuv failovata sistema ext3
Suvremennata moshtna i bezplatna operatsionna sistema Linux
dava shiroka teritoriia za razrabotvaneto na suvremenni
sistemi i za programnoto obezpechavane na potrebitelia. Niakoi
ot nai-interesnite razrabotki v Linux-iadroto sa
visokoproizvoditelnite tehnologii za upravlenie na
suhranenieto, organiziraneto i obnoviavaneto na dannite vurhu
diska. Edin ot nai-interesnite mehanizmi e zhurnalnata
failova sistema ext3, koiato e integrirana v Linux-iadroto ot
versiia 2.4.16 i veche e dostupna po podrazbirane v
distributivite na kompaniite Red Hat i SuSE.
Failovata sistema ext3 e zhurnalna, 100% suvmestima s
instrumentite za suzdavane, upravlenie i fina nastroika na
failovata sistema ext2, koiato se izpolzuva v Linux-sistemite
po podrazbirane prez poslednite niakolko godini. Predi da
napravim detailno opisanie na razlichiiata mezhdu failovite
sistemi ext2 i ext3, shte utochnim terminilogiiata, otnasiashta se
do failovite sistemi i suhranenieto na failovete.
II. Failovite sistemi v Linux. Suha teoriia.
V dalechnoto minalo, kogato kompyuturnite sistemi zapochnaha
purvo da chetat i pishat na magnitni nositeli, garantiraneto
na tselostta na failovete i (po-kusno) direktoriite na tezi
ustroistva se prevurna v trun v ochite na administratorite.
Na sistemno nivo, vsichki danni v kompyutura sushtestvuvat kato
blokove na niakakvo ustroistvo za suhranenie, organizirani s
pomoshtta na spetsialna struktura v razdeli (logicheski nabori
na ustroistvoto za suhranenie), koito na svoi red sa
organizirani vuv failove, direktorii i neizpolzvano
(svobodno) prostranstvo.
Failovite sistemi obosobiavat diska na razdeli, za da se
oprosti suhranenieto i organizatsiiata na dannite vuv failove
i direktorii. Linux, kato Unix-sistema, izpolzva
ierarhicheska failova sistema, sustavena ot failove i
direktorii, koito ot svoia strana sushto sudurzhat failove i
direktorii. Failovete i direktoriite vuv failovata sistema
na Linux stavat dostupni posredstvom tiahnoto montirane
(komandata mount), koeto obiknoveno e chast ot protsesa na
zarezhdane na sistemata. Spisukut ot failovi sistemi,
dostupni za izpolzvane, se suhraniava vuv faila /etc/fstab
(filesystem table). Spisukut s failovi sistemi, koito sa
montirani v dadeniia moment, se suhraniava vuv faila /etc/mtab
(mount table).
V momenta na montirane na failovata sistema pri zarezhdane
na kompyutura, bitut v zaglavnata i chast (t. nar. “chist
bit”/”clean bit”) se iztriva, koeto oznachava, che failovata
sistema se izpolzva i che strukturata na dannite, izpolzvani
za upravlenie na organizatsiiata na failovete i direktoriite v
dadenata failova sistema, mozhe da bude
promenena.
Failovata sistema se schita za tsialostna, ako vsichki blokove
ot danni v neia se izpolzvat ili sa svobodni; vseki razmesten
blok ot danni e zaet ot edin i samo ot edin fail ili
direktoriia; vsichki failove i direktorii sa dostupni sled
obrabotkata na seriia drugi direktorii vuv failovata
sistema.
Kogato Linux prekrati normalno rabotata si, vsichki failovi
sistemi se demontirat. Demontiranite failovi sistemi v
protsesa na priklyuchvane na rabotata poluchavat “chist bit” v
zaglavnata si chast, koeto oznachava, che sistemata e bila
demontirana pravilno i mozhe da se schita za tsialostna.
Godinite na usuvurshenstvane i prerabotka na failovite
sistemi, kakto i podobriavaneto na algoritmite za zapis
na dannite vurhu diska do goliama stepen namaliha
veroiatnostta ot povrezhdane na dannite, izpolzvani ot
prilozheniiata i ot samoto Linux-iadro, no otstraniavaneto na
povredite i zagubite na danni pri prekusvane na zahranvaneto
i drugi sistemni problemi dosega si ostava slozhna zadacha. V
sluchai na avarien sriv ili prosto izklyuchvane na sistemata,
bez preminavaneto prez standartnite protseduri na
demontirane, niama ustanoviavane na “chist bit” v zaglavnata
chast na failovata sistema. Pri sledvashtoto zarezhdane na
sistemata, protsesut po montirane shte otkrie, che sistemata ne
e markirana kato chista i shte proveri neinata fizicheska
tsialost, izpolzvaiki Linux/Unix-instrumenta za proverka na
failovata sistema fsck (filesystem check).
III. Kakvo e zhurnalna failova sistema?
Proverkata na failovata sistema s fsck pri golemite diskovi
dialove mozhe da otneme mnogo vreme, koeto e mnogo losho pri
dneshnite zavisheni iziskvaniia za skorost na sistemite.
Prichinata, koiato mozhe da predizvika narushavane na tselostta
na failovata sistema, mozhe da bude nekorektno demontirane,
ako naprimer v momenta na demontiraneto vurhu sistemata e
vurvial zapis. Naprimer, ako prilozheniiata obnoviavat dannite,
sudurzhashti se vuv failovete, i sistemata obnoviava
meta-dannite, koito se iaviavat “danni za dannite vuv
failovata sistema”, s drugi dumi, informatsiiata za tova koi
blokove s koi failove sa svurzani, kakvi failove sa
razmesteni v koi direktorii i t.n. Greshkite (lipsata na
tsialostnost) vuv failovete s danni sa neshto losho, no greshkite
v meta-dannite na failovata sistema mogat da dovedat do
zaguba na failove i do drugi seriozni problemi.
Za da namali problemite, svurzani s tselostta i vremeto za
zarezhdane na sistemata, zhurnalnata failova sistema suhraniava
spisuk ot promenite, koito shte nastupiat predi izvurshvaneto na
fizicheskiia im zapis. Tezi zapisi se suhraniavat v otdelni
chasti na failovata sistema, narecheni “zhurnal” ili “log”.
Sled kato promenite budat bezopasno opisani v zhurnala
zhurnalnata failova sistema vuvezhda izmeneniiata v samite
failovete i sled tova premahva zapisite ot loga. Zapisite v
zhurnala sa organizirani v nabori, svurzani s izmeneniiata vuv
failovata sistema, koeto mnogo prilicha na promenite pri
dobavianeto v bazi danni, organizirani v tranzaktsii.
ZHurnalnata failova sistema zashtitava tselostta, zashtoto
zapisite v log-faila se suzdavat predi sushtinskite promeni
vuv failovata struktura i zashtoto failovata sistema suhraniava
tezi zapisi dokato promenite ne budat bezopasno i
okonchatelno vuvedeni vuv failovata struktura. Pri izklyuchvane
na kompyutura, koito izpolzva zhurnalna failova sistema,
programata za montirane mozhe da garantira tselostta na
failovata sistema samo s proverka na log-faila pri nalichie
na ochakvani, no neizvursheni promeni v zapisite na failovata
sistema. V povecheto sluchai sistemata ne se nuzhdae ot
proverka na tselostta, a tova oznachava, che kompyuturut shte bude
gotov za rabota prakticheski vednaga sled zarezhdaneto.
Suotvetno, shansovete ot zaguba na da danni pri problemi vuv
failovata sistema znachitelno namaliavat.
Sushtestvuvat niakolko failovi sistemi, dostupni za Linux.
Nai-izvestnite sa: XFS (zhurnalna failova sistema,
razrabotena ot Silicon Graphics, veche s otvoren kod),
ReiserFS (razrabotena spetsialno za Linux), JFS (purvonachalno
razrabotena ot IBM, veche s otvoren kod) i ext3 - failova
sistema, razrabotena ot d-r Stivun Tuiidi za Red Hat i niakoi
drugi sistemi.
IV. ZHurnalnata failova sistema ext3.
Tova e zhurnalizirana versiia na failovata sistema ext2. Tia
ima edno goliamo preimushtestvo pred drugite zhurnalni failovi
sistemi - pulna suvmestimost s failovata sistema ext2. Tova
pravi vuzmozhno izpolzvaneto na vsichki sushtestvuvashti
prilozheniia za manipulirane i nastroika na failovata sistema
ext2.
Failovata sistema ext3 e vklyuchena v Linux-iadroto ot versiia
2.4.16 i mozhe da bude nastroena chrez izpolzvaneto na dialoga
za konfigurirane na failovite sistemi pri kompilatsiiata na
iadroto. V Linux-distributsiite, kato Red Hat 7.2 i SuSE 7.3,
ext3 veche se poddurzha po podrazbirane. Mozhete da izpolzvate
failovata sistema ext3 samo ako ste vklyuchili poddruzhkata i v
iadroto i imate poslednite versii na programite mount i
e2fsprogs.
V povecheto sluchai preminavaneto ot edna failova sistema na
druga vodi sled sebe si zadulzhitelno rezervno kopirane na
vsichki danni, preformatirane na dialovete na diska i sled
tova vrushtane na dannite otnovo na miastoto im. Vuv vruzka sus
suvmestimostta mezhdu sistemite ext2 i ext3 vsichki tezi
deistviia sa nenuzhni, a preminavaneto ot ext2 na ext3 stava
samo s edna komanda:
tune2fs -j <ime_na_diala>
Naprimer, preminavaneto ot sistemata ext2, razpolozhena na
diala /dev/hda5 kum failovata sistema ext3 mozhe da stane s
pomoshtta na komandata:
tune2fs -j /dev/hda5
Optsiiata -j suzdava zhurnal kum sushtestvuvashtata veche ext2
failova sistema. Sled preminavaneto ot ext2 kum ext3 triabva
da vuvedete promenite vuv faila /etc/fstab, za da posochite,
che sega veche tozi dial izpolzva failovata sistema ext3.
Mozhete da izpolzvate i optsiiata auto, no vupreki tova se
reporuchva da posochite tochniia tip na failovata sistema.
Sledvashtiiat primer pokazva kak triabva da se redaktira failut
/etc/fstab sled preminavaneto na diala /dev/hda5 ot ext2 kum
ext3.
predi promianata:
/dev/hda5 /opt ext2 defaults 1
2
sled promianata:
/dev/hda5 /opt ext3 defaults 1
0
Poslednoto pole posochva etapa v zarezhdaneto na sistemata,
kogato tselostta na failovata sistema triabva da bude
proverena s fsck. Pri izpolzvaneto na failovata sistema ext3
mozhete da go promenite na 0. Tova oznachava, che programata
fsck nikoga niama do proveriava tselostta na failovata sistema,
tui kato tia se garantira samo ot prevurtaneto na
zhurnala.
Preminavaneto na korenniia dial kum failovata sistema ext3
iziskva povisheno vnimanie i predi vsichko preminavane v
single-user-rezhim sled suzdavaneto na RAM-disk, poddurzhasht
failovata sistema ext3.
V. Razlichni rezhimi na zhurnalirane vuv failovata sistema
ext3
Osven suvmestimostta s instrumentite za failovata sistema
ext2 i lesniia prehod ot ext2 kum ext3, failovata sistema
ext3 predlaga sushto niakolko razlichni tipa na zhurnalirane.
V klasicheskiia si vid zhurnalnata failova sistema suhraniava v
log izmeneniiata v meta-danntie na failovata struktura i
vsichki drugi izmeneniia, vklyuchitelno i na samite
failove. Failovata sistema ext3 poddurzha tri razlichni rezhima
na zhurnalirane, koito mogat da budat aktivirani ot faila
/etc/fstab. Tova sa slednite rezhimi:
1. “ZHurnal” (journal) - zapis na vsichki izmeneniia v dannite
i meta-dannite na failovata sistema. Nai-baven ot vsichki.
Tozi rezhim namaliava do minimum shansa ot zaguba na informatsiia
za izmeneniiata na failovete.
2. “Posledovatelen” (ordered) - zapisvat se izmeneniiata v
meta-dannite na failovata sistema, no i promenite v dannite
na faila predi izmeneniiata, asotsiirani s meta-dannite. Tozi
rezhim se izpolzva po podrazbirane.
3. “Obraten zapis” (writeback) - zapisvat se samo
izmeneniiata v meta-dannite na bazata na standarten zapis na
izmeneniiata na dannite vuv failovete.
Razlikite mezhdu trite rezhima na zhurnalirane sa ednovremenno
edva zabelezhimi, no i fundamentalni. Izpolzvaneto na rezhima
“zhurnal” predpolaga, che failovata sistema zapisva vsiaka
promiana dva puti - purviia put v zhurnala, a sled tova v
samata failova struktura. Tova mozhe da namali obshtata
roizvoditelnost, no tozi rezhim shte garantira na vseki
potrebitel, che svezhda do minimum shansovete za zaguba na
informatsiia pri vuvezhdaneto na promeni v dannite kakto na
failovete, taka i v meta-dannite, tui kato vsichki promeni se
zapisvat v zhurnal i mogat da budat vuzstanoveni pri
zarezhdaneto na sistemata.
Izpolzvaneto na “posledovatelniia” rezhim zapisva samo
izmeneniiata v meta-dannite, koeto pravi tozi metod po-burz.
Nezavisimo ot tova, che promenite vuv faila ne se zapisvat v
zhurnala, te triabva da budat izvursheni predi izmeneniiata,
asotsiirani s meta-dannite vuv failovata sistema i vuvezhdani
ot zhurnalirashtiia ext3-demon, a tova mozhe malko da snizhi
proizvoditelnostta na vashata sistema. Izpolzvaneto na tozi
metod garantira, che failovete nikoga niama da budat v
asinhron s meta-dannite vuv failovata sistema.
Metodut na “obraten zapis” e nai-burz, zashtoto pri nego se
suhraniava samo informatsiiata za izmeneniiata v meta-dannite na
failovata sistema i ne se izchakvat promenite, asotsiirani s
dannite vuv faila pri zapis (naprimer razmer na faila i
informatsiia za direktoriiata). Tui kato obnoviavaneto na
dannite stava asinhronno, failovete mogat da davat greshki v
meta-dannite, tui kato tiahnoto obnoviavane ne e bilo
priklyuchilo pri restartirane na sistemata). Tova ne e
fatalno, no mozhe da smuti potrebitelia.
Posochvaneto na rezhima na zhurnalirane, izpolzvan ot
failovata sistema ext3 stava vuv faila /etc/fstab.
Posledovatelniiat rezhim se izpolzva po podrazbirane, no
mozhete da posochite naprimer na failovata sistema da izpolzva
rezhima na “obraten zapis” po sledniia nachin:
/dev/hda5 /opt ext3 rw,data=writeback
1 0
Vnimanie! Ne se preporuchva da zadavate tazi optsiia za
korenniia dial (bel. prev.).
VI. Zaklyuchenie
ZHurnalnite failovi sistemi davat znachitelni preimushtestva za
shirok krug potrebiteli na Linux, namaliavat izchakvaneto pri
startiraneto na sistemata i pochti premahvat vuzmozhnostta ot
poiavata na greshki vuv failovata sistema. Failovata sistema
ext3 e visokoproizvoditelna, sumestima s ext2, a
instrumentut tune2fs pravi preminavaneto ot ext2 na ext3
suvsem prosta rabota.
Informatsiia za tazi i za drugi zhurnalni failovi sistemi:
http://www.linuxplanet.com/linuxplanet/reports/4136/1/
http://www.redhat.com/support/wpapers/redhat/ext3/index.html#toc
http://people.spoiled.org/jha/ext3-faq.html
<< Suveti i trikove ot Linuks Festa: chast 2 | Suzdavane na po-burzo i ustoichivo iadro >>
|
|