|
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).
|