labo schijven 1 MBR (obsolete -- 2014)
MBR was een partitiesysteem dat werkte met maximaal 4 primary partitions en in EEn van die partitions kon je dan nog deelpartitions plaatsen (logical partitions genoemd)
Dit is een met printscreens begeleide oefening waarbij je, stap voor stap, linux schijven configureert:
- schijven toevoegen,
- evalueren,
- partitionneren,
- formateren,
- mounten,
- permanent maken in
/etc/fstab
, -
en na elke stap testen.
- Kloon je virtualbox linux client
- selecteer in virtualbox manager een schone machine (clean 2 clone), vergewis er u van dat de machine uit staat.
- klik rechts op deze machine en vervolgens 'Clone' in het menu
- geef de machine een nieuwe naam vb.: LX-mint-DISKS
- MAC address policies: generate new MAC addresses for all adapters
- klik dan op next
- selecteer Full Clone en klik op Clone
- heb geduld ... en wacht tot er een nieuwe machine in vbox manager verschijnt
- Extra Harde Schijven toevoegen
- in vbox manager klik je op de nieuwe machine
- klik vervolgens in het rechter gedeelte op storage
- selecteer indien nodig de SATA controller
- klik nu op het pictogram met een harde schijf en een plusteken
- klik op Create new disk >>> type VDI >>> dynamically allocated
- wijzig de default size naar 320GB
- klik op create -- daarna op choose (de net gemaakte disk is al geselecteerd)
- verifieer even of alles in orde is ...
- doe nogmaals hetzelfde voor een tweede harddisk
- geef de tweede harde schijf wel een andere naam (alle andere gegevens zijn hetzelfde)
- het venster Storage zie er nu als volgt uit:
- Evalueer
We gaan nu kijken of we de pas toegevoegde schijven ook terugvinden in onze nieuwe machine. De meest complete manier is via de utility parted. Tik het volgende commando in:
user@mint18-00 ~ $
sudo parted --list
user@mint18-00 ~ $ sudo parted --list [sudo] password for user: Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 53,7GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 51,5GB 51,5GB primary ext4 boot 2 51,5GB 53,7GB 2145MB extended 5 51,5GB 53,7GB 2145MB logical linux-swap(v1) Error: /dev/sdb: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 342GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Error: /dev/sdc: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 8590MB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags:
In bovenstaand voorbeeld zien we dat er een "tik?"-fout gebeurd is tijdens het aanmaken van de tweede HD in vbox.
/dev/sdc
is te klein !!! Ik corrigeer en test opnieuw ...
we kunnen ook kijken in de directory/dev
of we daar onze nieuwe schijven vinden:$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 Apr 20 2017 /dev/sda brw-rw---- 1 root disk 8, 1 Apr 20 2017 /dev/sda1 brw-rw---- 1 root disk 8, 2 Apr 20 2017 /dev/sda2 brw-rw---- 1 root disk 8, 5 Apr 20 2017 /dev/sda5 brw-rw---- 1 root disk 8, 16 Apr 20 2017 /dev/sdb brw-rw---- 1 root disk 8, 32 Apr 20 2017 /dev/sdc
-
Partitionneren met MBR:
fdisk
In deze praktijkoefening gaan we de harde schijf/dev/sdb
van 320 GB verdelen in partities. Hiertoe gebruiken we de bejaarde utilityfdisk
.fdisk
dateert nog uit een tijd toen sommige terminals een papiervoering hadden (matrix-printers met een toetsenbord en groen-wit kettingpapier). Om metfdisk
te werken heb jesudo
-rechten nodig.
- help en display
$ sudo fdisk /dev/sdb
Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. -- Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x8f53e27f. -- Command (m for help): m -- Help: ** DOS (MBR) a toggle a bootable flag b edit nested BSD disklabel c toggle the dos compatibility flag ** Generic d delete a partition F list free unpartitioned space l list known partition types n add a new partition p print the partition table t change a partition type v verify the partition table i print information about a partition ** Misc m print this menu u change display/entry units x extra functionality (experts only) ** Script I load disk layout from sfdisk script file O dump disk layout to sfdisk script file ** Save & Exit w write table to disk and exit q quit without saving changes ** Create a new label g create a new empty GPT partition table G create a new empty SGI (IRIX) partition table o create a new empty DOS partition table s create a new empty Sun partition table
Van de vele mogelijkheden gebruiken we er in normale omstandigheden slechts zeven:
m
..print this menu
n
..add a new partition
p
..print the partition table
t
..change a partition type
d
..delete a partition
w
..write table to disk and exit
q
..quit without saving changes
Laat ons nu even de huidige partitietabel bekijken: - een nieuwe partitietabel creëren
We willen we een nieuwe partitietabel opbouwen als volgt:- een primary partitie van
30G
voor een linux systeem - nog een primary partitie van
30G
voor een latere linux versie, - een extended partition op de rest van de harde schijf
- een primary partitie van
In de extended partition:
- een logical partition van
4GB
voor swap, - een logical partition van
50GB
voor een database - een logical partition van de rest van schijf voor
/home
- we beginnen met een primary partitie van 30G
Ik tik eerst n om een nieuwe partitie te maken,
dan kies ik p voor een primary partition,
het is de eerste primary partition dus die geef ik nummer 1
De eerste cylinder van een partitie (default) wordt altijd goed gekozen doorfdisk
zelf, dus ik druk enter
Tenslotte geef ik de grootte mee met +30G i.p.v. een cylinder. Dat is veel makkelijker.
(Pas op: als je geen + tikt gaat het fout)
Ik kijk nog even of alles goed gegaan is: - nog een primary partitie van 30G
- een extended partition van de rest van harde schijf
We drukken hier weer de letter n voor een nieuwe partitie, daarna de e van extended. We geven een extended ook een primary nummer, dat wordt hier dus 3. De extended is bezet de rest van de harde schijf.
fdisk
stelt telkens de twee uiterste waarden voor, en dat is exact wat we willen, we drukken twee keer enter. We visualiseren weer met p.
- een logical partition van 4GB voor swap
Een logical partition is even eenvoudig aan te maken als een primary partition, tenminste als we er aan gedacht hadden eerst een extended te maken. We drukken weer n voor een nieuwe partitie, daarna l voor logical, enter voor een default begin en +4G voor een grootte van 4GB.
Merk op dat deze logical partition in de extended zit: de start cylinder is dezelfde als die van de extended partition.
Eén ding is nog niet correct: het partition id staat nog niet op 82 voor swap. Dat doen we als volgt:Met t van type vragen we
fdisk
een partition id te willen aanpassen. We tikken het partition nummer 5 in (van/dev/sdb5
), en daarna 82
We kunnen alle mogelijke partition id's op scherm brengen door l in te tikken. Dan krijgen we volgend scherm: - een logical partition van 50GB voor een database
- een logical partition van de rest van schijf voor /home
- partitietabel opslaan
Onze partitietabel is nu compleet en correct. We mogen niet vergeten hem op te slaan.wegschrijven met w
(als je denkt dat je alles hebt verpest kun je ookfdisk
zonder "save" verlaten met q)
- herstarten
Vooraleer we kunnen formatteren moeten we nog herstarten. De huidige live-cd of linux distributie maakt waarschijnlijk nog gebruik van de oude partitietabel. We controlleren eerst nog even meten herstarten daarna de linux virtual.
- we beginnen met een primary partitie van 30G
- help en display
- Formatteren
De meeste gebruikte formaten voor linux partities zijnext4
enxfs
.
In deze oefening formatteren we/dev/sdb1
en/dev/sdb2
alsext4
/dev/sdb6
en/dev/sdb7
alsxfs
.
We tikken achtereenvolgens de volgende commando's in:
$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.42.13 (17-May-2015) Creating filesystem with 7864320 4k blocks and 1966080 inodes Filesystem UUID: 4695fd97-9b2e-4481-bd6b-b6959913cbea Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
$ sudo mkfs.ext4 /dev/sdb2
mke2fs 1.42.13 (17-May-2015) Creating filesystem with 7864320 4k blocks and 1966080 inodes Filesystem UUID: 01aa2494-5139-4830-b455-0260cc69a728 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
$ sudo mkfs.xfs /dev/sdb6
meta-data=/dev/sdb6 isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0 data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
$ sudo mkfs.xfs /dev/sdb7
meta-data=/dev/sdb7 isize=512 agcount=4, agsize=13500160 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0 data = bsize=4096 blocks=54000640, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=26367, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Een swap partitie wordt niet geformatteerd maar geinitializeerd metmkswap
:
$ sudo mkswap /dev/sdb5
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes) no label, UUID=c5e46f6c-ba39-472d-93b2-ed25d3e73204
- Mounten
Mountpoints maak je metmkdir
als root.
Mounten doe je met het commandomount
Een mount verwijderen doe je met het commandoumount
Een swap activeren doe je metswapon
Een swap desactiveren doe je metswapoff
Alle mounts op scherm brengen doe je metmount
ofdf
De swap op scherm brengen doe je metswapon -s
We mounten nu/dev/sdb1
op/system-1
en/dev/sdb2
op/system-2
Vervolgens komt/dev/sdb6
op/sql
en/dev/sdb7
op/nexthome
Tenslotte activeren we de swap
$ sudo mkdir /system-1 /system-2 /sql /nexthome -v mkdir: created directory '/system-1' mkdir: created directory '/system-2' mkdir: created directory '/sql' mkdir: created directory '/nexthome' $ sudo mount /dev/sdb1 /system-1 -v mount: /dev/sdb1 mounted on /system-1. $ sudo mount /dev/sdb2 /system-2 -v mount: /dev/sdb2 mounted on /system-2. $ sudo mount /dev/sdb6 /sql -v mount: /dev/sdb6 mounted on /sql. $ sudo mount /dev/sdb7 /nexthome -v mount: /dev/sdb7 mounted on /nexthome. $ sudo swapon /dev/sdb5 -v swapon /dev/sdb5 swapon: /dev/sdb5: found swap signature: version 1d, page-size 4, same byte order swapon: /dev/sdb5: pagesize=4096, swapsize=4294967296, devsize=4294967296
We kunnen nu onze mounts op scherm brengen met het commando
mount
of metdf
.
We kunnen de swap zien metswapon -s
.
/etc/fstab
Als je manueel een schijf toevoegt aan je systeem, en je herstart, zijn al je zonet gemounte partities verdwenen. We maken de mounts permanent door ze toe te voegen aan het configuratie-bestand/etc/fstab
. Dat kan metnano
.
Maak eerst een veiligheidskopie:
$ sudo cp /etc/fstab /etc/fstab.good
Editeer dan de/etc/fstab
:
$ sudo nano /etc/fstab
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda1 during installation UUID=4ab7fc11-8638-4753-ad2d-b7c4d24aa8cf / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=0e4a6794-8db6-4702-8a8c-8aabd46b07d5 none swap sw 0 0 ## de partities van /dev/sdb die we in de oefening hebben toegevoegd: /dev/sdb1 /system-1 ext4 defaults 0 0 /dev/sdb2 /system-2 ext4 defaults 0 0 /dev/sdb6 /sql xfs defaults 0 0 /dev/sdb7 /nexthome xfs defaults 0 0
Als we alles correct hebben ingevuld, un-mounten we eerst weer alle partities, om daarna
fstab
te testen we met
$ sudo mount -av
$ sudo umount /system-1 $ sudo umount /system-2 $ sudo umount /sql $ sudo umount /nexthome $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 1002808 0 1002808 0% /dev tmpfs 204844 3708 201136 2% /run /dev/sda1 49409840 5953544 40923384 13% / tmpfs 1024204 168 1024036 1% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 1024204 0 1024204 0% /sys/fs/cgroup cgmfs 100 0 100 0% /run/cgmanager/fs tmpfs 204844 40 204804 1% /run/user/1000 $ sudo mount -av $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 1002808 0 1002808 0% /dev tmpfs 204844 3708 201136 2% /run /dev/sda1 49409840 5953544 40923384 13% / tmpfs 1024204 168 1024036 1% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 1024204 0 1024204 0% /sys/fs/cgroup cgmfs 100 0 100 0% /run/cgmanager/fs tmpfs 204844 40 204804 1% /run/user/1000 /dev/sdb1 30832636 44992 29198396 1% /system-1 /dev/sdb2 30832636 44992 29198396 1% /system-2 /dev/sdb6 52403200 32960 52370240 1% /sql /dev/sdb7 215897092 32960 215864132 1% /nexthome
Tenslotte durven we onze machine te herstarten om nog één keer te kijken of alles gelukt is ...
- Kloon je virtualbox linux client
Deel 2
Verdeel nu de tweede extra schijf, /dev/sdc
als volgt met fdisk
:
/dev/sdc1
-> 80GB -> ext4 -> mountpoint /extra
/dev/sdc2
-> rest van schijf: extended
/dev/sdc5
-> 160GB -> xfs -> mountpoint /extra/linux-virtuals
/dev/sdc6
-> rest van schijf -> xfs -> mountpoint /extra/iso-files
voeg ook toe aan je /etc/fstab