Extra harde schijf toevoegen met systemd

Linux heeft de voortreffelijke eigenschap (in tegenstelling tot een ander commercieel OS...) dat je een harde schijf op computer a zonder probleem kan swappen met een harde schijf uit computer b. Het enige wat misschien nog noodzakelijk is, is om in je BIOS / UEFI de opstartbare harde schijf aan te duiden.

Alles in orde als je computer slechts over 1 harde schijf beschikt: dan is alles aanwezig. Maar wat als je meerdere harde schijven overbrengt of gewoon een extra harde schijf toevoegt?
Bij volgend antwoord maak ik geen gebruik meer van het 'oude' maar nog steeds functionerende /etc/fstab maar maak ik gebruik van het 'nieuwe' en alomtegenwoordige systemd.


Ingrediënten:

  • een opgestart systeem (mijn favoriet: debian maar het kan ook met elke linuxdistributie die systemd heeft (linux mint, arch, manjaro, ubuntu vanaf 16.04, ...)
  • een extra harde schijf die reeds gepartitioneerd is als ext4 of een harde schijf waar reeds data op staat (ext4). Koppel deze hardwarematig vast aan je computer met sata- en stroomkabel (http://www.buildeasypc.com/category/build-pc/how-to-install-a-sata-hard-drive-seagate-barracuda-500gb-7200-12.htm). 


Analyse


Start linux op.
Het is normaal dat je harde schijf niet automatisch aangekoppeld wordt aan je systeem. Het eerste wat je wil weten: herkent linux wel mijn harde schijf? Met een simpele opdracht kom je het snel te weten:

lsblk

output van het commando op mijn pc (bij jou is het gegarandeerd anders)

  NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   2,7T  0 disk
├─sda1   8:1    0   1,9T  0 part
└─sda2   8:2    0 866,3G  0 part
sdb      8:16   0 931,5G  0 disk
└─sdb1   8:17   0 931,5G  0 part /home
sdc      8:32   0  55,9G  0 disk
├─sdc1   8:33   0     1K  0 part
├─sdc2   8:34   0  48,5G  0 part /
└─sdc5   8:37   0   7,5G  0 part [SWAP]
sr0     11:0    1   6,3M  0 rom  /media/cdrom0


Wat is er te zien? Op mijn systeem is / terug te vinden op de tweede partitie van de derde harde schijf : /dev/sdc2
Mijn /home staat op een andere harde schijf: /dev/sdb1
Er is ook een swap (wisselgeheugen) actief op scd5

De eerste harde schijf heb ik net toegevoegd: sda met daarop twee partities die niet zijn aangekoppeld aan het systeem. Deze harde schijf had ik graag aangekoppeld als backup en om mijn video's op te parkeren.


Procedure


1) Aanmaken van een map die als aankoppelmap zal functioneren.

Open een terminal. Schakel over naar de gebruiker root. Op Debian:

su


Gebruikers van Ubuntu, Linux mint, ... gebruiken het sudo-systeem. Je zal zelf alle commando's in deze procedurebeschrijving dienen aan te passen door iedere keer er sudo voor te schrijven. Zo wordt
'mkdir /backup' voor ubuntu-gebruikers 'sudo mkdir /backup' .

2) Vervolgens maak ik een map backup en een map vids aan in de / . Uiteraard kun je dit ook elders doen (liefst niet in /home) maar pas dit dan ook aan voor de rest van de procedure.

mkdir /backup
mkidr /vids


Nu gaan we deze mappen gebruiken als mountpoints voor de extra harde schijf sda.

3) Om automatisch te kunnen mounten is het gemakkelijk dat je over de Unieke Identifier beschikt van de harde schijf. Dit verkrijg je door als root het commando blkid uit te voeren:

blkid

/dev/sr0: UUID="2007-08-31-11-43-56-00" LABEL="KiSS DP-xxx" TYPE="iso9660"
/dev/sdc2: UUID="635f02b4-a32f-42a7-8420-1b3676690cb5" UUID_SUB="452ae20c-a9b3-41ea-ad8d-0199051a3223" TYPE="btrfs" PARTUUID="00090215-02"
/dev/sdc5: UUID="fd5857d7-8698-4d82-b99c-0b87a97d8b3a" TYPE="swap" PARTUUID="00090215-05"
/dev/sda1: UUID="5a643287-3e57-465f-ad28-a1e486512ac9" TYPE="ext4" PARTUUID="000165a0-01"
/dev/sda2: UUID="f3903c1f-463c-4f2a-83db-6fb701b97da9" TYPE="ext4" PARTUUID="000165a0-02"
/dev/sdb1: UUID="6ed7a76d-a9b6-4a86-8fbf-2d16be6a0ea4" TYPE="ext4" PARTUUID="0002ef97-01"



Het belangrijkste is de UUID die elke partitie meekrijgt. Deze zullen we gebruiken om in te voeren in de mount-unit-bestand. Belangrijk is in ons geval de UUID van de partities van de nieuwe harde schijf sda:

/dev/sda1: UUID="5a643287-3e57-465f-ad28-a1e486512ac9"
/dev/sda2: UUID="f3903c1f-463c-4f2a-83db-6fb701b97da9"


4) Open als root gedit en copy/ paste volgende tekst. Hiermee zullen we de unit-bestanden aanmaken voor de systemd-mounts. Ik geef slechts 1 voorbeeld voor het aanmaken van het mountpoint voor /vids. De andere kun je er uit afleiden.
Ik maak gebruik van de UUID die ik heb verkregen bij stap 3 om deze in te vullen bij What. Bij Where vul ik de locatie van de mountmap in die is aangemaakt bij stap 2.


[Unit]
Description=Mount vids

[Mount]
What=/dev/disk/by-uuid/f3903c1f-463c-4f2a-83db-6fb701b97da9
Where=/vids
Type=ext4
Options=defaults

[Install]
WantedBy = multi-user.target


Sla dit bestand op in de map /etc/systemd/system met de naam vids.mount . De plaats en naam zijn heel belangrijk. Systemd vereist namelijk dat de naam genoemd wordt naar de plaats in / . Als je bijvoorbeeld een map had aangemaakt /schijf/vids dan moet je hernoemen naar schijf-vids.mount .

Maak ook een dergelijke bestand aan voor backup waarbij je uiteraard de sectie What en Where aanpast.

5) Koppel de harde schijven aan met volgende commando's:

systemctl daemon-reload

systemctl start vids.mount


6) Deze partities kun je nu benaderen. Bij de volgende boot zijn ze echter niet automatisch aangekoppeld en moet je dus stap 5 opnieuw uitvoeren. Wil je de harde schijven permanent aankoppelen. Voer volgend commando uit

systemctl enable vids.mount

Start je pc opnieuw op om te verifiëren. Met 'lsblk' (zie analyse) zou je nu de /backup en /vids moeten zien verschijnen in het lijntje van sda1 en sda2.


7) Nu de nieuwe harde schijf permanent is aangekoppeld wens je deze misschien meer te tweaken. Zo is de nieuwe harde schijf voor mij hoofdzakelijk voor backup-toestanden en dat gebeurt slechts maandelijks. Deze schijf moet dus niet continu in gebruik zijn.
Gebruik gnome-disks om deze aan te passen.
Selecteer je harde schijf en via het sandwich-menu rechtboven kies je vervolgens 'stationsinstellingen'. Afhankelijk van je harde schijf kun je er diverse wijzigingen in doorvoeren.