Gentoo Logo

[ << ] [ < ] [ Etusivu ] [ > ] [ >> ]


4. Levyjen valmistelu

Sisällysluettelo:

4.a. Josdatus lohkolaitetiedostoihin

Lohkolaitteet

Tämä on yleiskatsaus Gentoon ja Linuxin levyihin, tiedostojärjestelmiin, osioihin ja lohkolaitteisiin. Johdatuksen jälkeen on helpompi asentaa osiot ja tiedostojärjestelmät Gentoon asennukseen.

Aluksi keskitytään lohkolaitteisiin. Tyypillisin on ensimmäinen kovalevyasema, /dev/sda. SCSI- ja SATA-laitteet ovat nimiltään tyyppiä /dev/sd*. Myös libataa käyttävät IDE-asemat ovat /dev/sd*-nimisiä. Vain vanhaa laiterajapintaa käyttävät IDE-asemat ovat nimeltään /dev/hd*.

Lohkolaitteet ovat abstrakteja rajapintoja levyn käsittelyyn. Ohjelmistot käyttävät näitä rajapintoja kirjoittamiseen välittämättä siitä onko allaoleva asema IDE-, SCSI- vai jotain muuta rajapintaa. Ohjelmat siis käsittelevät levyjä joukkona hajasaantilohkoja.

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 AMD64-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/sda1:stä /dev/sda4:ää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

AMD64-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/sda1 ext2 32M Käynnistysosio
/dev/sda2 (swap) 512M Välimuistiosio
/dev/sda3 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.

Osioiden määrä ja koko

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/sda5     ext3    509M  132M  351M  28% /
/dev/sda2     ext3    5.0G  3.0G  1.8G  63% /home
/dev/sda7     ext3    7.9G  6.2G  1.3G  83% /usr
/dev/sda8     ext3   1011M  483M  477M  51% /opt
/dev/sda9     ext3    2.0G  607M  1.3G  32% /var
/dev/sda1     ext2     51M   17M   31M  36% /boot
/dev/sda6     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ää vaikkapa OpenOffice.orgin. Jos haluat pitää /var-osion koon aisoissa, on myös mahdollista muuttaa Portagen käännöshakemistoa vain tiettyjen käännösten ajaksi /etc/make.confin asetuksella PORTAGE_TMPDIR.

4.c. Fdiskin käyttö kovalevyn osiointiin

Seuraavassa selvitetään esimerkkiosiointimme tekeminen. Kyseessä on siis tämä ratkaisu:

Osio Kuvaus
/dev/sda1 Käynnistysosio
/dev/sda2 Välimuistiosio
/dev/sda3 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/sda):

Koodilistaus 3.1: Fdiskin käynnistäminen

# fdisk /dev/sda

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/sda: 240 päätä, 63 sektoria/ura, 2184 sylinteriä
Yksiköt = 15120 * 512 = 8225280 -tavuiset sylinterit

Laite   Boot  Start       End    Blocks   Id  System
/dev/sda1   *         1        14    105808+  83  Linux
/dev/sda2            15        49    264600   82  Linux-sivutus
/dev/sda3            50        70    158760   83  Linux
/dev/sda4            71      2184  15981840    5  Laajennettu
/dev/sda5            71       209   1050808+  83  Linux
/dev/sda6           210       348   1050808+  83  Linux
/dev/sda7           349       626   2101648+  83  Linux
/dev/sda8           627       904   2101648+  83  Linux
/dev/sda9           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/sda1:

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/sda: 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 ja aseta bootattavaksi:

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/sda: 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/sda1          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/sda2. 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/sda: 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/sda1 *        1        14    105808+  83  Linux
/dev/sda2         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/sda3. 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/sda: 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/sda1 *        1        14    105808+  83  Linux
/dev/sda2         15        81    506520   82  Linux-sivutus
/dev/sda3         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

Useita tiedostojärjestelmiä on saatavilla, joista osa on stabiilimpia amd64:lle kuin toiset. Seuraavia pidetään melko vakaina: ext2, ext3 ja XFS. JFS ja ReiserFS saattavat toimia, mutteivät ole niin läpikotaisin testattuja. Myös muita vaihtoehtoja voi toki koettaa.

Ext2 on Linuxin vanha ja käytetyin järjestelmä. Siinä ei ole mitään metadatan kirjanpitoa tai muuta, joten käynnistykset ja järjestelmätarkistukset ovat kovin hitaita. Uudempi sukupolvi kirjanpitäviä tiedostojärjestelmiä tukee nopeita konsistenssiustarkistuksia, ja niitä kannattaa käyttää ennemmin. Kirjanpito tiedostojärjestelmätasolla lyhentää odotuksia jos tiedostojärjestelmä on käynnistettäessä epävakaassa tilassa. Jos järjestelmä asennetaan pienelle levylle, pitää ext2:lle varata tarpeeksi inodeja komennolla mke2fs -T small /dev/<laite>.

Ext3 on ext2:n kirjanpitävä versio. Siinä on kirjanpitotiloja metadatan, kaiken datan ja järjestetyn datan kirjaamiseen. Tiedostorakenne on HTree-indeksoitu, joka toimii nopeasti enimmissä tapauksissa. Ext3 on yleensä suositeltavin luotettava ja suorituskykyinen alusta. Jos järjestelmä asennetaan pienelle levylle, pitää ext3:lle varata tarpeeksi inodeja komennolla mke2fs -j -T small /dev/<laite>.

JFS on IBM:n suorituskykyinen kirjaava tiedostojärjestelmä. JFS on keveä ja luotettava B+-puu-indeksoitu järjestelmä.

ReiserFS on B+-puu-indeksoitu kirjaava järjestelmä, jolla on hyvä suorituskyky, erityisesti monien pienten tiedostojen kanssa. ReiserFS on vähemmän ylläpidetty.

XFS on metadatan kirjaava järjestelmä, jossa on paljon ominaisuuksia ja skaalautuvuutta. XFS ei toimi laitteistovioissa yhtä hyvin kuin monet muut.

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/sda1) ext2 ja juuriosiosta (esimerkkimme /dev/sda3) ext3, käytetään komentoja seuraavasti:

Koodilistaus 4.1: Tiedostojärjestelmän asettaminen osiolle

# mke2fs /dev/sda1
# mke2fs -j /dev/sda3

Luo nyt tiedostojärjestelmät uusille osioillesi (tai loogisille asemillesi).

Sivutusosion aktivointi

Komennolla mkswap alustetaan sivutusosiot:

Koodilistaus 4.2: Sivutusmerkinnän luonti

# mkswap /dev/sda2

Aktivointi tapahtuu komennolla swapon:

Koodilistaus 4.3: Sivutusosion aktivointi

# swapon /dev/sda2

Luo ja aktivoi omat sivutusosiosi nyt käyttämällä ylläolevia komentoja.

4.e. Asemien liittä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:

Koodilistaus 5.1: Osioiden liittäminen

# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /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 19. heinäkuuta 2010

Tämän tekstin alkukielinen versio on uudempi kuin käännös, se on viimeksi päivitetty 1. kesäkuuta 2014

Tiivistelmä: 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

Grant Goodyear
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

Xavier Neys
Toimittaja

Gerald J. Normandin Jr.
Katselmoija

Donnie Berkholz
Katselmoija

Ken Nowack
Katselmoija

Lars Weiler
Tekijä

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.