Gentoo Logo

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>
(Osioimaton tila tulevaisuutta varten 2 gigaa)

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): (Paina enteriä)
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
(Ext3-osiolle:)
# 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 ] [ > ] [ >> ]


Tulostettava muoto

Näytä kaikki

Tämä sivu on viimeksi päivitetty 2. elokuuta 2005

Tätä käännöstä ei enää ylläpidetä

Tiivistelmä: Gentoon asentaakseen osiointi on pakko suorittaa. Tässä kappaleessa kerrotaan kuinka levyn voi osioida tulevaa käyttöä varten

Sven Vermeulen
Tekijä

Daniel Robbins
Tekijä

Chris Houser
Tekijä

Jerry Alexandratos
Tekijä

Seemant Kulleen
Gentoon x86-kehittäjä

Tavis Ormandy
Gentoon alpha-kehittäjä

Brad House
Gentoon AMD64-kehittäjä

Guy Martin
Gentoon HPPA-kehittäjä

Pieter Van den Abeele
Gentoon PPC-kehittäjä

Joe Kallar
Gentoon SPARC-kehittäjä

John P. Davis
Toimittaja

Pierre-Henri Jondot
Toimittaja

Eric Stockbridge
Toimittaja

Rajiv Manglani
Toimittaja

Jungmin Seo
Toimittaja

Stoyan Zhekov
Toimittaja

Jared Hudson
Toimittaja

Colin Morey
Toimittaja

Jorge Paulo
Toimittaja

Carl Anderson
Toimittaja

Jon Portnoy
Toimittaja

Zack Gilburd
Toimittaja

Jack Morgan
Toimittaja

Benny Chuang
Toimittaja

Erwin
Toimittaja

Joshua Kinard
Toimittaja

Grant Goodyear
Katselmoija

Gerald J. Normandin Jr.
Katselmoija

Donnie Berkholz
Katselmoija

Ken Nowack
Katselmoija

Lars Weiler
Kontribuuttori

Flammie Pirinen
Vastuullinen kääntäjä

Jouni Hätinen
Käännöksen laatutarkistaja

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.