Gentoo Logo

1.  Inleiding tot Block Devices

Block Devices

In dit stuk zullen we een kijkje nemen naar de schijf georieënteerde aspecten van Gentoo Linux en Linux in het algemeen, waaronder Linux bestandssystemen, partities en block devices. Wanneer je de kennis van die zaken kent, zul je verder door het proces van het instellen van partities en bestandssystemen voor jouw Gentoo Linux Installatie gegidsd worden.

Om te beginnen, gaan we je voorstellen aan block devices. Het meest bekende is waarscheinlijk diegene die de eerste IDE schijf in een linux systeem is, namelijk /dev/hda. Als je systeem SCSI schrijven gebuikt, zou je eerste harddrive /dev/sda moeten zijn. Serial ATA schijven zijn ook te vinden op hetvolgende pad -- /dev/sda -- zelfs al zijn ze IDE schijven.

De block devices hierboven vermeld vertegenwoordigen een abstract interface naar de schijf toe. Programma's kunnen die gebruiken om te communiceren met jouw schijf zoner ze moeten er hoeven mee in zitten of de schijfven nu IDE, SCSIof iets anders zijn. Het programma kan simpelweg het opslagadres gebruiken op die schijf zoals een deel willekeurige aangrenzend-toegangkelijke 512-byte blokken.

Partities en slices

hoewel het theoretisch niet mogelijk is om een volledige schijf te gebruiken die je linux systeem bevat, is het in praktijk nooit uitgevoerd. In de plaats daarvan, zijn volledige schijven opgesplitst in kleinere, meer beheerbare schijfjes. Op de meeste systemen worden die partities genoemt. Andere architecturen gebruiken een gelijkaardige techniek die slices heet.

1.  Creëeren van een partitie schema

Standaard partitie schema

Als je niet geïnterreseerd bent in het creëeren van een schema voor je systeem, kun je het partitie schema gebruiken die we door dit boek gebruiken:

Partitie Bestandssysteem Grootte Omschrijving
/dev/sda1 Partition map 31.5k Partition map
/dev/sda2 (bootstrap) 800k Apple_Bootstrap
/dev/sda3 (swap) 512M Swap partitie
/dev/sda4 ext3 Rest of the disk Root partitie

Nota: Er zijn enkele partities genaamt zoals deze: Apple_Driver43, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, Apple_Patches. Alsj je niet van plan bent om MacOS 9 te gebruiken kan je deze verwijderen, want MacOS X en Linux hebben deze niet nodig. Je kunt dit doen mat parted want mac-fdiskIf kan deze namelijk niet verwijderen.

Als je geïnterreseert bent om te weten hoe groot een partitie zou moeten zijn, of hoeveel partities je nodig hebt, lees verder. Anders gaat u verder met Apple G5: Gebruiken van mac-fdisk om paritities te maken op je harde schijf of IBM pSeries: Gebruiken van fdisk om partities te maken op je harde schijf

Hoeveel en hoe groot?

Het aantal partities hangt sterk af van je omgeving. Bijvoorbeeld als je veel gebruikers hebt, wil je waarschijnlijk je /home op een aparte partitie om de veiligheid te garanderen. Dit maakt ook gemakkelijker backups. ALs je gentoo installeerd om te fungeren als mailserver, Zou je /var een aparte partitie moeten zijn om je mails die derin zijn opgeslaan te scheiden van je systeem bestanden. Een goede keuze van bestandssysteem zal de prestaties verbeteren. Gameserver hebben een aparte /opt omdat de meeste spelletjes daarin zijn geïnstalleerd. De reden is gelijkaardig voor /home: veiligheid en backups. Je wilt zeker /usr behouden: Het zal niet alleen een grote hoeveelheid aan applicaties bevatten, ook zal de Portage tree zich er bevinden die gemiddeld rond de 500 Mbyte groot is, zonder de bronnen die derin opgeslaan zijn.

Zoals je kan zien, hangt der veel af van wat je wil opslaan. Het scheiden van partities of volumes hebben de volgende voordelen:

  • Je kunt kiezen tussen het best presterende bestandssysteem voor elke partitie of volume
  • Je gehele systeem kan niet starten zonder vrije schijfruimte als een defunct tool constant bestanden aan het schrijven is naar een partitie of volume
  • Indien nodig, bestandssystemen controles worden verminderd met de tijd, omdat meerdere controles kunnen parallel gebeuren (hoewel er meer voordeel is bij meerdere schijven dan met meerdere partities)
  • Veiligheid kan verbeterd worden door het mounten van enkele partities of volumes als alleen-lezen, nosuid (setuid stukken worden genegeerd), noexec (uitvoerbare stukken worden genegeerd) enzovoord. Security can be enhanced by mounting some partitions or volumes read-only, nosuid (setuid bits are ignored), noexec (executable bits are ignored) etc.

Hoewel, meerdere partities hebben een groot nadeel: als deze niet zijn ingesteld, kan dat resulteren in een systeem met veel vrije schijfruimte op de ene partitie en geen op de andere. Er is ook een limiet van 15-partities voor SCSI en SATA.

1.  Standaard: Gebruiken van mac-fdisk (Apple G5) voor het Partitioneren van je harde schijf

Creëer nu je partities door gebruik te maken van mac-fdisk:

Codevoorbeeld 1.1: Starten van mac-fdisk

# mac-fdisk /dev/sda

Verwijder eerst de partities die je eerder hebt leegemaakt om ruimte te hebben voor een Linux paritie. Gebruik d in mac-fdisk om die partities te verwijderen. Het zal je vragen om het partitie nummer.

Creëer vervolgens een Apple_Bootstrap partitie door gebruik te maken van b. Het zal vragen welke blok je wil starten. Geef het nummer van je eerste vrije partitie in, gevolgt door een p. Bijvoorbeeld 2p.

Nota: Deze partitie is geen "boot" partitie. het is zelfs niet gebruikt door Linux; Je hoeft er geen bestandssysteem op te plaatsen, en je moet dit ook nooit mounten. PPC gebruikser hebben geen extra partitie voor /boot nodig.

Creëer nu een swap partitie door c in te toetsen. Daarna zal mac-fdisk opnieuw vragen vanaf welke block je deze partitie wilt starten. Omdat we 2 gebruikten om onze Apple_Bootstrap partitie aan te maken, moet je nu 3p invoeren. Als je naar de grootte gevraagd wordt, geef dan 512M in (of hoe groot je die partitie wil). Wanneer men vraagt naar een naam, voer dan swap (verplicht!) in.

Om je root partitie te creëeren, druk op de c-toets, gevolgt door 4p om te selecteren vanaf welke block je deze partitie wilt starten. Daarna voer je 4p wanneer men vraagt naar de grootte. mac-fdisk zal dit interpretteren als: "Gebruik alles wat overblijft". Als men een naam varagt, voer dan root in (verplicht!).

Om af te ronden, schrijf je partitietabel naar de schijf door gebruik te maken van w en q om mac-fdisk te verlaten.

Nota: Controleer dat alles in orde is, je zou nu moeten mac-fdisk starten om te controleren als alle partities daar aanwezig zijn. Als je geen aangemaatke partities vind, of de geen aangemaakte veranderingen, zou je je partities moeten her-initialiseren door op "i" te drukken in mac-fdisk. Merk op dat dit je paritie map zal hercreëeren en al je partities verwijderen.

Nudat je partities aangemaakt zijn, ga verder met Creëeren van Bestandssystemen.

1.  IBM pSeries, iSeries en OpenPower: gebruiken van fdisk om je schijf te partitioneren.

Nota: Als je van plan bent om een RAID disk array te maken voor je Gentoo installatie en je POWER5-gebaseerde hardware gebruikt, zou je nu iprconfig moeten starten om de schijven te vformatteren om een Advanced Function format te kunnen aanmaken en een disk array te creëeren. Je zal waarschijnlijk iprutils moeten installeren nadat je installatie compleet is.

Als je een ipr gebaseerde SCSI adapter hebt, zou je het ipr hulpprogramma nu moeten starten.

Codevoorbeeld 1.1: Starten van de ipr hulpprogramma's

# /etc/init.d/iprinit start

De volgende delen leggen uit hoie je een partitie layout kunt creëeren, zoals vooral af beschreven, namelijk:

Partitie Beschrijving
/dev/sda1 PPC PReP Boot partitie
/dev/sda2 Swap partitie
/dev/sda3 Root partitie

Verander je partitie layout naar eigen voorkeur.

Bekijken van je Huidige Partitie Layout

fdisk is een populair en krachtige hulpmiddel om je schijf in partities op te delen. Start fdisk op je schijf (in ons voorbeeld gebruiken we /dev/sda):

Codevoorbeeld 1.1: Starten van fdisk

# fdisk /dev/sda

Eenmaal in fdisk, zul je begroet worden door een prompt die der zo uitziet:

Codevoorbeeld 1.1: fdisk prompt

Command (m for help):

Type p om de huidige partitietabel weer te geven.

Codevoorbeeld 1.1: Een voorbeeld van een partitie configuratie

Command (m for help): p

Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          12       53266+  83  Linux
/dev/sda2              13         233      981571+  82  Linux swap
/dev/sda3             234         674     1958701+  83  Linux
/dev/sda4             675        6761    27035410+   5  Extended
/dev/sda5             675        2874     9771268+  83  Linux
/dev/sda6            2875        2919      199836   83  Linux
/dev/sda7            2920        3008      395262   83  Linux
/dev/sda8            3009        6761    16668918   83  Linux

Command (m for help):

Deze harde schijf is geconfigureerd om zes linux bestandsystemen te behuizen (waarvan ieder met de bijpassende partitie vermeld wordt als "Linux" alsook een swap partitie (vermeld als "Linux swap").

Verwijderen van een Partities

We zullen alle bestaande partities van de harde schijf Type d om een partitie te verwijderen. Bijvoorbeeld, om de bestaande /dev/sda1 te verwijderen:

Nota: Als je niet alle partities wilt verwijderen, verwijdere dan enkel die partities die je wilt verwijderen. Op dit moment raad de auteur een backup van je data aan om verlies te vermijden.

Codevoorbeeld 1.1: Verwijderen van een partitie

Command (m for help): d
Partition number (1-4): 1

Het is gepland om de partitie te verwijderen. Het zal niet meer op het scherm komen wanneer je p intoetst, maar het zal niet gewist worden tot de veranderingen zijn opgeslaan. Als je een vergissing hebt gemaakt en je die wil ongedaan maken, type simpel weg op q om fdisk te verlaten zonder op te slaan. De partitie(s) zullen niet worden verwijderd.

Nu, veronderstellend dat je inderdaag deze partities wil wissen op je systeem, herhaal dan de volgende procedure tot je gelukkig bent met het resultaat. Type p om de partitie lijst te zien en d met een nummer om een partitie te verwijderen. Uiteindelijk zul je een lege partitie tabel over:

Codevoorbeeld 1.1: Een lege partitie tabel

Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Nu dat er in de partitietabel die in het geheugen zit leeg is, zijn we klaar om partities aan tem aken. We zullen een standaard partitie schme gebruiken zoals al reeds aangekaard. Natuurlijk, moet je die instructies niet letterlijk volge als je een ander partitie schema wilt gebruiken!

Aanmaken van de PPC PReP boot partitie

Eerst en voroal maken we een kleine PReP boot partitie aan. Type n om een nieuwe partitie aan temaken en daarna p om een primaire partitie te kiezen. Wanneer er gevraagd wordt naar de eerste cilender, hoeft u op enter te drukken. Wanneer er echter om de laatste partitie wordt gevraagd, voer dan +7M in om deze partitie van 7 Mbyte aan te maken. Na dit te hebben uitgevoerd, type t om het partitie type in te stellen, dan 1 om de net-aangemaakte partitie te selecteren en daarna 41 om het type in te stellen als "PPC PReP Boot". Tens lotte moet je de PReP partitie als opstartbaar instellen.

Nota: De PReP partitie moet kleiner zijn dan 8 MByte!

Codevoorbeeld 1.1: Aanmaken van de PReP opstart partitie

Command (m for help): p

Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
      e   extended
      p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6761, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-6761, default
6761): +8M

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 41
Changed system type of partition 1 to 41 (PPC PReP Boot)

Command (m for help): a
Partition number (1-4): 1
Command (m for help):

Toets nu pin, Je zou hetvolgende moeten zien:

Codevoorbeeld 1.1: Aangemaakte boot partitie

Command (m for help): p

Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1  *            1           3       13293   41  PPC PReP Boot

Command (m for help):

Aanmaken van de Swap Partitie

Laten we nu een swap partitie aanmaken. Om dit te doen toets n in om een nieuwe partitie aan te maken, daarna p om fdisk te laten weten dat je een primaire partitie nodig hebt. daarna 2 om een tweede primaire partitie, /dev/sda2 in ons geval. Wanaar gevraagd voor de eerste cylinder, toets op enter. Wanneer men vraagd naar de laatste cylinder, toets +512M in om een partitie met een grootte van 512MB aan te maken. Nadien dien je op t te teypen om het partitie type in te stellen, dan 82 om het "Linux Swap" partitie type in te stellen. Na het utivoeren van deze stappen, type p en je zou een partitie tabel moeten zien die er ongeveer zo uit ziet:

Codevoorbeeld 1.1: Partitie tabel na aanmaken van de swap partitie

Command (m for help): p

Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           3       13293   41  PPC PReP Boot
/dev/sda2               4         117      506331   82  Linux swap

Command (m for help):

Aan maken van de Root partitie

Laten we nu een root partitie aanmaken. Om dit te doen toets n in om een nieuwe partitie aan te maken, daarna p om fdisk te laten weten dat je een primaire partitie nodig hebt. daarna 3 om een derde primaire partitie, /dev/sdar in ons geval. Wanaar gevraagd voor de eerste cylinder, toets op enter. Wanneer men vraagd naar de laatste cylinder, druk dan op enter om de overgebleven schijfruimte te nuttigen. Na het utivoeren van deze stappen, type p en je zou een partitie tabel moeten zien die er ongeveer zo uit ziet:

Codevoorbeeld 1.1: Partitie tabel na aanmaken van de root partitie

Command (m for help): p

Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           3       13293   41  PPC PReP Boot
/dev/sda2               4         117      506331   82  Linux swap
/dev/sda3             118        6761    29509326   83  Linux

Command (m for help):

Opslaan van de partitie layout

Om de partitie layout en fdiskte veralten, druk op w.

Codevoorbeeld 1.1: Sla op en verlaat fdisk

Command (m for help): w

Nu dat je partities zijn aangemaakt, kun je verder gaan met Aanmaken van Bestandssystemen.

1.  Aanmaken van Bestandssystemen

Inleiding

Nu dat je partities zijn aangemaakt, wordt het tijd om een bestandssysteem op deze te plaatsen. Als je het niet kans schelen welk bestandssysteem erop komt, e het standaard wilt gebruiken in het handboek, ga dan verder met Het bestandssysteem schrijven op de partitie. Anderszijds, lees verder over bestaande bestandssystemen...

bestandssystemen?

Nota: Er zijn meerdere bestandsystemen beschikbaar. ext2, ext3 en ReiserFS ondersteuning is ingebouwd in de installatie CD kernels. JFS en XFS ondersteuning is beschikbaar met kernel modules.

ext2 is het uitgeteste en echte Linux bestandssysteem maar het houd geen log bij van metadata, die betekend dat routine-controlers nogal wat tijd kan vergen bij het opstarten. Er is dezer dagen een hele waaier van nieuwere bestandssystemen die constand kunnen worden nagekeken en zijn dus meer gewenst dan de bestandssystemen die geen logs bijhouden. Deze houden namelijk lange wachttijden bij het opstarten van je systeem en je bestandssysteem in een inconsistente staat lijkt.

ext3 is de journaled versie van het ext2 bestandssysteem. Het verschaft metadata journaling voor een snelle herstelling net als andere verbeterde journaling methodes zoals full-data en ordered-data journaling. Het gebruikt een hashed B*-tree index dat er voor zorgt dat u in bijna alle situaties hoge prestaties behaalt. Ext3 maakt een perfect en betrouwbaar alternatief voor ext2.

ReiserFS is een B*-tree gebaseerd bestandssysteem die over het algemeen heel goede perstaties haalt en die veel betere resultaten halat dan ext2 en ext3 wanneer het moet handelen van kleine bstanden (bestanden kliender dan 4k), vaak met een factor van 10x-15x. ReiserFS schaalt ook hele goed en heeft zoals ext3 metadata logs. Vanaf de 2.4.18+ kernel, is ReiserFS stabiel en klaar voor gebruik voor de meeste doeleinden en voor extreme gevallen van het aanmaken van grootte bestandssystemen, het gebruik van vele kleinere bestanden, grotere bestanden en mappen bevatten tienduizenden bestanden.

XFS is een bestandssyteem met metadata logs die ondersteund zijn onder Gentoo Linux's xfs-sources kernel. Het komt samen met een robuste eigenschappen en is geoptimaliseerd voor schaalbaarheid. We raden het gebruik van dit bestandssysteem alleen aan met SCSI en/of vezel-kanaals opslag met een niet-onderbreekbare stroomlevering. Omdat XFS aggressief voorlopig opslaat in het ram-geheugen, kunnen incorrect geschreven programam's (die programma'sd ie geen goede voorzorgen nemen bij het schrijven van bestanden naar de harde schijf, en er zijn er een heel hoop van) data verliezen als het systeem zonder stroom valt.

JFS is IBM's hoge-prestatie logbaar bestandssyteem. Het is sinds kort productief-klaar.

Het bestandssysteem schrijven op de partitie

Om een bestandssysteem te schrijven op een partitie of volume, zijn er verschillende programma's voor elk bestandssysteem:

bestandssysteem Aanmaak Commando
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Bijvoorbeeld, om een rootpartitie te maken (/dev/sda4 in ons voorbeeld) in ext3 (zoals in ons voorbeeld), zal je hetvolgende gebruiken:

Codevoorbeeld 1.1: Schrijven van een bestandssysteem op een partitie

# mke2fs -j /dev/sda4

Creëer nu bestandsystemen voor je net aangemaakte partities (of logische volumes).

Activeren van je Swap Partitie

mkswap is het commando dat gebruikt wordt om swap partities te initialiseren:

Codevoorbeeld 1.1: Creëeren van een swap partitie

# mkswap /dev/sda3

Om te activeren dient u het swapon commando gebruiken:

Codevoorbeeld 1.1: Activeer je swap partitie

# swapon /dev/sda3

Creëer en activeer je swap partitie met de hierboven vermelde commando's.

1.  Mounten

Nu dat je partities zijn geïnitialiseerd en een bestandssysteem bevatten, wordt het tijd om die partities aan te knopen. Gebruik het mount commando. Als een voorbeeld zullen we de root partitie aanknopen.

Codevoorbeeld 1.1: Aanknopen van partities

# mount /dev/sda4 /mnt/gentoo

Nota: Als je je /tmp op een aparte partitie zien, controleer dat je de permissies aanpast na het aanknopen: chmod 1777 /mnt/gentoo/tmp. Dit is hetzelfde voor /var/tmp.

Ga nu verder met (Installeren van de Gentoo Installatie Bestanden).

Upgedate op 2 november 2006

De originele versie van dit document wordt niet meer onderhouden

Donate to support our development efforts.

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