Kiistö:
Tämä käsikirja on vanhentunut eikä sitä enää ylläpidetä.
|
[ << ]
[ < ]
[ Etusivu ]
[ > ]
[ >> ]
4. Kovalevyjen valmistelu
Sisällysluettelo:
4.a. Johdatus lohkolaitetiedostoihin
Lohkolaitetiedostot
Tarkastelemme nyt Gentoo Linuxin kovalevynkäyttöä ja Linuxin
tiedostojärjestelmien,
osioiden ja lohkolaitetiedostojen käsittelyä yleensäkin. Sitten kun olet sinut
kovalevyjen ja tiedostojärjestelmien kanssa, luomme osiot ja
tiedostojärjestelmät Gentoo Linux -järjestelmän asennusta varten.
Aluksi tarkatelemme lohkolaitetiedostoja. Tunnetuin lohkolaitetiedosto
lienee Linux-järjestelmien ensimmäistä IDE-levyä vastaava /dev/hda.
Jos järjestelmässäsi on SATA- tai SCSI-asemia, ensimmäistä niistä vastaa
tiedosto
/dev/sda.
Lohkolaitetiedostot tarjoavat abstraktin käsittelyrajapinnan levyihin. Käyttäjän
sovellukset käyttävät näitä tiedostoja kommunikoidakseen levylaitteiden kanssa
riippumatta siitä, ovatko ne IDE-, SCSI- vai joitain aivan muita laitteita.
Ohjelmat voivat suoraan käyttää levyjä kuin ne olisivat vain jokin
jatkuva joukko 512-tavuisia satunnaissaantimuistiosasia.
Osiot
Vaikka voisitkin asentaa Linuxisi kokonaan levylle sellaisenaan, näin ei yleensä
kannata käytännössä tehdä. Sen sijaan levylaitteet osioidaan pienempiin,
helpommin hallittaviin osiin, joita x86-järjestelmissä kutsutaan
osioiksi.
Osioita on kolmea tyyppiä:
ensiöitä, jatkettuja ja loogisia.
Ensiöosion tiedot ovat MBR:ssä (master boot record). Koska MBR on
hyvin pienikokoinen (512-tavuinen), vain neljä ensiöosiota voidaan määritellä
(esimerkiksi /dev/hda1:stä /dev/hda4:ään).
Jatkettu osio on erikoistunut versio ensiöosiosta (mikä tarkoittaa siis,
että jatketun osion myös tulee olla yksi neljästä ensiöosiosta), joka voi
sisältää lisää osioita. Alunperin jatkettua osiota ei ollut olemassakaan,
mutta jossakin vaiheessa neljä osiota kävi vähäksi, ja tällä ratkaisulla
säilytettiin takaisinpäin yhteensopivuus vanhan osiomallin kanssa.
Loogisiksi sanotaan osioita jatketun osion sisällä. Niiden määritelmiä
ei kirjoiteta MBR:ään vaan itse jatkettuun osioon.
Kehittyneempi tallennusmalli
X86 asennus-CD:illä on tuki EVMS:lle ja LVM2:lle. EVMS ja LVM2 ovat joustavampia
tapoja osioinnin järjestämiseen. Asennusohjeissa keskitymme ”perinteisiin”
osioihin, mutta kannattanee huomata että EVMS:ä ja LVM2:akin voi toki käyttää.
4.b. Osioinnin suunnittelu
Tyypillinen osiointi
Jos et halua kehitellä osiointiasi itse, voit käyttää tässä oppaassa esitettyä
mallia:
| Osio |
Tiedostojärjestelmä |
Koko |
Kuvaus |
| /dev/hda1 |
ext2 |
32M |
Käynnistysosio |
| /dev/hda2 |
(swap) |
512M |
Välimuistiosio |
| /dev/hda3 |
ext3 |
Loput jäljellä olevasta tilasta |
Juuriosio |
Jos osioiden tarkempi koko tai määrä kiinnostaa, lue tätä kappaletta eteenpäin.
Muussa tapauksessa voit jatkaa osiointiasi kappaleessa
fdiskin käyttö levyn osiointiin.
Miten paljon ja miten suuria?
Osioiden määrä riippuu paljonkin käyttöympäristöstä. Jos kyseessä on monen
käyttäjän järjestelmä, kannattaa
/home-hakemisto jättää erilliselle osiolle varmuuskopioinnin
helpottamiseksi ja tietoturvan parantamiseksi. Jos konetta käytetään
postipalvelimena, hakemiston /var kannattaa olla erillisellä
osiolla koska se pitää sisällään kaikkia sähköposteja. Oikein valitulla
tiedostojärjestelmällä voi myös parantaa suorituskykyä.
Pelipalvelimet hyötyvät erillisestä osiosta /opt-hakemistolle,
koska valtaosa peleistä asentuu sinne. Hyödyt ovat pitkälti samat kuin
/home/-hakemiston erottelussa. /usr kannattaa pitää
suurena: se sisältää valtaosan asennetuista sovelluksista ja koko portagepuun.
Portagepuu itsessään on jo vähintään noin 500 megaa.
Kuten näet, ratkaisu riippuu täysin tavoitteista. Erillisillä osioilla
on seuraavat hyötypuolet:
-
voidaan valita kaikkein tehokkain tiedostojärjestelmä osioille
-
järjestelmästä ei lopu vapaa tila, jos jokin virheellinen työkalu ryhtyy
täyttämään jatkuvasti yhtä osiota
-
tarvittaessa tiedostojärjestelmätarkistuksia pystytään nopeuttamaan
rinnakkaistamalla niiden suoritus (tämä vaikuttaa lähinnä usean levyn pikemmin
kuin usean osion järjestelmiin)
-
tietoturvan parantaminen onnistuu kiinnittämällä jotkin osiot
kirjoitussuojattuina, nosuid-asetuksella (setuid-bitit ohitetaan),
noexec-asetuksella (suoritusbitit ohitetaan) jne.
Yksi suuri ongelma moniosioisessa järjestelmässä kuitenkin on: jollei
asetusten kanssa ole tarkkana, voi lopputuloksena olla järjestelmä, jossa
eräällä osiolla on kohtuuttomasti käyttämätöntä tilaa ja muilla ei yhtään.
SCSI- ja SATA-laitteilla on myös 15 osion yläraja.
Esimerkkinä käytämme 20-gigaista kovalevyä, joka osioidaan kannettavaa
varten (kone sisältää webbipalvelimen, postipalvelimen, Gnomen, ...):
Koodilistaus 2.1: Tiedostojärjestelmäesimerkki |
Tied.järj. Tyyppi Koko Käyt Vapaa Käy% Liitospiste
/dev/hda5 ext3 509M 132M 351M 28% /
/dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/hda8 ext3 1011M 483M 477M 51% /opt
/dev/hda9 ext3 2.0G 607M 1.3G 32% /var
/dev/hda1 ext2 51M 17M 31M 36% /boot
/dev/hda6 swap 516M 12M 504M 2% <ei liitetty>
|
Huomaa:
Dokumentissa käytetään suomennettuja versioita, jos niitä voi olla saatavilla,
suomennokset saa käyttöönsä asettamalla ympäristömuuttujan LC_ALL arvoksi
fi_FI; tämän voi myös tehdä komentokohtaisesti kirjoittamalla komennon alkuun
LC_ALL="fi_FI", tällöin suomenkielisyysasetus vaikuttaa vain komennon
suorituksen ajan.
|
/usr näyttäisi olevan aika täynnä, mutta asennuksen
jälkeen tilavaatimus ei yleensä kasva huomattavasti. Joku voi huomata
että /var/ syö liian paljon tilaa, mutta Gentoopa käyttääkin
hakemistoa /var/tmp/portage kaikissa käännöksissään, joten
siellä pitää olla aina vähintään gigatavu vapaana tai vähintään kolme gigatavua
jos aiot kääntää KDE:n tai OpenOffice.orgin.
4.c. fdiskin käyttö kovalevyn osiointiin
Seuraavassa selvitetään esimerkkiosiointimme tekeminen. Kyseessä on siis
tämä ratkaisu:
| Osio |
Kuvaus |
| /dev/hda1 |
Käynnistysosio |
| /dev/hda2 |
Välimuistiosio |
| /dev/hda3 |
Juuriosio |
Voit käyttää sen tilalla toki mitä osiointia aiotkin.
Nykyisen osioinnin tarkastelu
Fdisk on suosittu ja tehokas osiointityökalu. Käynnistä se
levyltäsi fdisk-komennolla (esimerkissä osioimme laitetta
/dev/hda):
Koodilistaus 3.1: Fdiskin käynnistäminen |
# fdisk /dev/hda
|
Fdiskin käynnistyttyä maailman pitäisi näyttää tältä:
Koodilistaus 3.2: Fdiskin komentorivi |
Komento (m antaa ohjeen):
|
Komennolla p saat näkyviin levyn nykyisen osioinnin:
Koodilistaus 3.3: esimerkki osioinnista |
Komento (m antaa ohjeen): p
Levy /dev/hda: 240 päätä, 63 sektoria/ura, 2184 sylinteriä
Yksiköt = 15120 * 512 = 8225280 -tavuiset sylinterit
Laite Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
/dev/hda2 15 49 264600 82 Linux-sivutus
/dev/hda3 50 70 158760 83 Linux
/dev/hda4 71 2184 15981840 5 Laajennettu
/dev/hda5 71 209 1050808+ 83 Linux
/dev/hda6 210 348 1050808+ 83 Linux
/dev/hda7 349 626 2101648+ 83 Linux
/dev/hda8 627 904 2101648+ 83 Linux
/dev/hda9 905 2184 9676768+ 83 Linux
Komento (m antaa ohjeen):
|
Mallilevy on osioitu seitsemään Linux-tiedostojärjestelmään (jotka
edelläolevassa
listassa näkyvät ”Linux”-kohtina) ja yhteen sivutusosioon (listauksessa
”Linux-sivutus”).
Osioinnin poistaminen
Aloitamme poistamalla kaikki levyllä olevat osioinnit. d-komennolla
poistetaan osioita. Esimerkiksi poistamme osion /dev/hda1:
Koodilistaus 3.4: Osion poisto |
Komento (m antaa ohjeen): d
Osionumero (1-9): 1
|
Osio merkitään poistettavaksi. Se ei enää näy listauksissa, mutta sitä ei
poisteta ennen kuin tallennat muutokset. Jos olet tehnyt virheen voit keskeyttää
tallentamatta muutoksia komentamalla q ja enter.
Osioiden poisto hoituu toistamalla sarjaa p osioiden valintaan ja
d osion poistamiseen kunnes osiointitaulukko on täysin tyhjä.
Koodilistaus 3.5: Tyhjä osiotaulu |
Levy /dev/hda: 30.0 GB, 30005821440 tavua
240 päätä, 63 sektoria/ura, 3876 sylinteriä
Yksiköt = 15120 * 512 = 7741440 -tavuiset sylinterit
Laite Boot Start End Blocks Id System
Komento (m antaa ohjeen):
|
Nyt kun osiointitaulukko näyttää tyhjältä, voimme luoda uudet osiot. Käytämme
esimerkissä samaa osiointimallia kuin ennenkin. Ohjeita ei tietenkään kannata
seurata kirjaimellisesti vaan mukauttaa ne omaan osiointimalliisi.
Käynnistysosion luonti
Aloitamme luomalla pienikokoisen käynnistysosion. Komento n luo
uuden osion. p valitsee ensiöosion ja 1 määritelee sen
ensimmäiseksi ensiöosioksi. Vastaa kysymykseen ensimmäisestä sylinteristä
painamalla enteriä. Määrittele viimeinen sylinteri kirjoittamalla +32M
32 megatavun osiota varten:
Koodilistaus 3.6: Käynnistysosion luonti |
Komento (m antaa ohjeen): n
Komento merkitys
l looginen (5 tai yli)
p ensiöosio (1-4)
p
Osionumero (1-4): 1
Ensimmäinen sylinteri (1-3876, oletusarvo 1):
Käytetään oletusarvoa 1
Viimeinen sylinteri tai +koko tai +kokoM tai +kokoK (1-3876, oletus 3876): +32M
|
Kirjoittamalla p näet taas osiokokoonpanon:
Koodilistaus 3.7: Luotu käynnistysosio |
Komento (m antaa ohjeen): p
Levy /dev/hda: 30.0 GB, 30005821440 tavua
240 päätä, 63 sektoria/ura, 3876 sylinteriä
Yksiköt = 15120 * 512 = 7741440 -tavuiset sylinterit
Laite Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
|
Tämän osion pitää olla käynnistyvä. Käynnistymismerkki säädetään komennolla
a. Katsomalla osiotaulukkoa taas p-komennolla huomataan, että
*-merkki on ilmestynyt Boot-sarakkeeseen.
Sivutusosion luonti
Seuraavaksi luodaan sivutusosio. Komentamalla n luodaan uusi osio ja
komento p kertoo kyseessä olevan ensiöosion. Kirjoittamalla 2
valitaan toinen ensiöosio, joka on tässä tapauksessa /dev/hda2.
Kysymykseen ensimmäisestä sylinteristä vastataan painamalla enteriä. Viimeiseksi
sylinteriksi valitaan komennolla +512M 512-megatavuista osiota vastaava
koko. Tämän jälkeen osiotyyppi vaihdetaan kirjoittamalla t ja 2
äsken luotua osiota varten. Sivutus-osion tyypiksi valitaan 82,
Linux-sivutus. Nyt luodun järjestelmän pitäisi näyttää komennon p
tulosteessa tältä:
Koodilistaus 3.8: Osiolistaus sivutusosion luonnin jälkeen |
Komento (m antaa ohjeen): p
Levy /dev/hda: 30.0 GB, 30005821440 tavua
240 päätä, 63 sektoria/ura, 3876 sylinteriä
Yksiköt = 15120 * 512 = 7741440 -tavuiset sylinterit
Laite Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux-sivutus
|
Juuriosion luonti
Lopuksi luodaan juuriosio. Osion luonti suoritetaan komennolla n ja
ensiötyyppinen osio valitaan komennolla p. Kirjoittamalla 3
luodaan kolmas ensiöosio /dev/hda3. Kysymykseen ensimmäisestä
sylinteristä vastataan painamalla enteriä. Nyt viimeinenkin sylinteri valitaan
painamalla enteriä, ja näin saadaan käyttöön kaikki jäljellä olevasta tilasta.
Näiden jälkeen komennolla p tulostetun osiotaulukon pitäisi näyttää
tämänkaltaiselta:
Koodilistaus 3.9: Osiolistaus juuriosion kanssa |
Komento (m antaa ohjeen): p
Levy /dev/hda: 30.0 GB, 30005821440 tavua
240 päätä, 63 sektoria/ura, 3876 sylinteriä
Yksiköt = 15120 * 512 = 7741440 -tavuiset sylinterit
Laite Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux-sivutus
/dev/hda3 82 3876 28690200 83 Linux
|
Osiotaulukon tallentaminen
Komennolla w poistutaan fdisk-ohjelmasta ja tallennettaan tehdyt
muutokset osiotaulukkoon.
Koodilistaus 3.10: Tallenna ja poistu fdiskistä |
Komento (m antaa ohjeen): w
|
Nyt kun osiot on luotu voimme jatkaa
tiedostojärjestelmien pariin.
4.d. Tiedostojärjestelmien luonti
Johdanto
Valmiille osioille voidaankin sitten sijoittaa tiedostojärjestelmät.
Jos tiedostojärjestelmien valinta ei kiinnosta, voit käyttää käsikirjan oletusta
ja jatkaa Tiedostojärjestelmien asettamiseen osioille.
Muutoin jatka lukemista saatavilla olevista tiedostojärjestelmistä.
Tiedostojärjestelmät?
Linuxin ytimessä on tuki useille eri tiedostojärjestelmille. Tarkastelemme
tässä ext2-, ext3-, ReiserFS-, XFS ja JFS-järjestelmiä.
ext2 on usein käytetyin Linux-tiedostojärjestelmä, mutta se ei tue
metadatan kirjanpitoa, mistä seuraa että
tiedostojärjestelmän
käynnistyksenaikaiset rutiinitarkistukset ovat kovin aikaavieviä.
Tiedostojärjestelmien uusi sukupolvi sisältää valikoiman
kirjanpitotoiminnollisuuksia sisältäviä
järjestelmiä, joiden tarkistaminen on hyvinkin vauhdikasta ja niitä suositaankin
usein kirjaapitämättömien ylitse. Kirjanpito-ominaisuuksin varustetut
tiedostojärjestelmät palautuvat
käynnistyksessä epäkonsistentista tilasta ilman pidempiä taukoja.
ext3 on ext2:n journaloiva vastine. Käynnistystä nopeuttavan metadatan
kirjanpidon lisäksi siinä on kehittyneempiä kirjanpitotoiminteita, kuten kaiken
datan ja järjestetyn datan kirjanpito. Ext3 on laadukas ja luotettava
tiedostojärjestelmä. Siinä on myös tuki b-puuhajauteindeksoinnille joka
parantaa suorituskykyä lähes poikkeuksetta. Hakemistoindeksoinnin saa päälle
valitsimella -O dir_index komennolle mke2fs.
Lyhyesti sanottuna ext3 on mahtava tiedostojärjestelmä.
ReiserFS-tiedostojärjestelmä perustuu B*-puihin ja on hyvin
suorituskykyinen. Pienten tiedostojen kanssa se päihittää ext2- ja
ext3-järjestelmät jopa 10-15-kertasesti. ReiserFS on myös kiitollisesti
skaalautuva ja sisältää metadatan kirjanpidon. Ytimen versiosta 2.4.18 lähtien
ReiserFS on ollut vakaa ja käytännöllinen sekä yleisiin järjestelmiin että
erityistapauksiin kuten suuriin tiedostojärjestelmiin, erittäin pieniä tai
suuria tiedostoja sisältäviin järjestelmiin tai kymmenittäintuhansittain
tiedostoja sisältäviin hakemistoihin.
XFS on virhesietoinen ja skaalautumaan
optimoitu tiedostojärjestelmä. Tätä ratkaisua suositellaan lähinnä
korkealuokkaisilla SCSI tai kuitukanavamassamuisteilla ja
UPS:illä varustetuille järjestelmille. Koska XFS säilyttää tiedonsiirtodataa
RAM-muistissa, huonosti suunnitellut ohjelmat (ne, jotka eivät tee
varotoimenpiteitä ennen levyllekirjoittamista, eli aika huomattava määrä) voivat
hävittää huomattavan määrän dataa jos järjestelmä sattuukin kaatumaan
odottamattomasti.
JFS on IBM:n korkealaatuinen kirjanpitotoiminnot sisältävä
tiedostojärjestelmä. Se on hiljattain päässyt tuotantokäytettävään vaiheeseen
eikä sen yleisestä vakaudesta vielä ole tarpeeksi hyviä tai huonoja havaintoja.
Tiedostojärjestelmän asettaminen osiolle
Jokaisen tiedostojärjestelmän luomiseksi osioille on olemassa omat työkalunsa:
| Tiedostojärjestelmä |
Luontikomento |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Jos esimerkiksi tehdään käynnistysosiosta (esimerkkimme /dev/hda1)
ext2 ja juuriosiosta (esimerkkimme /dev/hda3)
ext3, käytetään komentoja seuraavasti:
Koodilistaus 4.1: Tiedostojärjestelmän asettaminen osiolle |
# mke2fs /dev/hda1
# mke2fs -j /dev/hda3
|
Luo nyt tiedostojärjestelmät uusille osioillesi (tai loogisille asemillesi).
Sivutusosion aktivointi
Komennolla mkswap alustetaan sivutusosiot:
Koodilistaus 4.2: Sivutusmerkinnän luonti |
# mkswap /dev/hda2
|
Aktivointi tapahtuu komennolla swapon:
Koodilistaus 4.3: Sivutusosion aktivointi |
# swapon /dev/hda2
|
Luo ja aktivoi omat sivutusosiosi nyt.
4.e. Asemien kiinnittäminen
Nyt kun osiot on alustettu ja niillä on tiedostojärjestelmä, ne voidaan
kiinnittää komennolla mount. Muista liittää kaikki luomasi osiot
vastaaviin hakemistoihin. Esimerkissä liitämme juuri- ja käynnistysosion:
Varoitus:
e2fsprogseissa olevan bugin takia mountille pitää antaa erikseen parametri
-t ext3 jos käytössä on ext3-tiedostojärjestelmä.
|
Koodilistaus 5.1: Osioiden liittäminen |
# mount /dev/hda3 /mnt/gentoo
# mount -t ext3 /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot
|
Huomaa:
Jos /tmp on erillisellä osiolla, muista muuttaa sen käyttöoikeudet
liittämisen jälkeen: chmod 1777 /mnt/gentoo/tmp. Sama pätee hakemistolle
/var/tmp.
|
Lisäksi tarvitaan proc-tiedostojärjestelmä (joka on näennäisrajapinta ytimelle)
liittetynä hakemistoon /proc. Mutta ensin tarvitsee siirtää
tiedostot hakemistoihin.
Seuraavaksi jatketaan asentamalla Gentoon
asennustiedostot.
[ << ]
[ < ]
[ Etusivu ]
[ > ]
[ >> ]
Tämän sivun sisältö ja suomennos kuuluvat
Creative Commons - Nimi mainittava-Sama lisenssi 2.5 -lisenssin alle.
Sivun sisältöä koskee myös
Gentoo Name and
Logo Usage Guidelines.
|