Teil 1.2: Die Festplatten

Für das System wird die 128 GB SSD genutzt. 128 GB sind mehr als genügend Platz für das System und alle nötigen Daten.

Alle weiteren, systemunabhängigen Daten sollen auf einem Festplattenverbund (Raid) gesichert werden. Dazu zählen vorerst nur Mediendaten, sowie ein Ordner über welchen ich Dateien von meinem Laptop zu meinem Desktop PC sharen kann, bzw. sie dort sichern kann falls ich mal unterwegs bin.

Hierzu liegen zwei 2 TB Festplatten vor, diese sollen in einem Software Raid 1 miteinander verbunden werden. Bei einem Raid 1 werden alle Daten auf beiden Festplatten gespiegelt, und jede Festplatte ist weiterhin einzeln nutzbar, sollte mal eine ausfallen.

Auf Basis der Anleitung unter https://ctaas.de/software-raid.htm machen wir uns an das Einrichten des Raids.

Nachdem ich im BIOS überprüft habe, dass die Festplatten korrekt erkannt werden, überprüfe ich über

sudo blkid -c /dev/null | grep UUID_SUB

die UUIDs (universally unique identifier), und mit

sudo hdparm -i /dev/sda /dev/sdb /dev/sdc | grep Serial

die zugehörigen Seriennummern. Nun markiere ich die Festplatten (bspw. mit 1, 2 & 3) und notiere mir die zugehörigen Daten

Laufwerk-Geräte-Namen [/dev/sdX]
die [Seriennummer]
und die [UUID]s

in einem Dokument. Somit kann ich später, sollte es zu einem Ausfall kommen, klar identifizieren welche Platte betroffen ist. Diese Infos kann man auch direkt auf den Festplatten notieren, wenn man möchte.

Bei mir sind die beiden Festplatten, die im Raid verbunden werden sollen, sda und sdb. sdc ist die Systemplatte.

Nun geht es ans Terminal. Erstmal mdadm installieren mit

apt-get install mdadm

Für beide Platten eine neue Partitionstabelle anlegen mit

sudo parted /dev/sda mklabel gpt
sudo parted /dev/sdb mklabel gpt

Partitionen für beide Platten anlegen mit

sudo parted -a optimal -- /dev/sda mkpart primary 2048s -8192s
sudo parted -a optimal -- /dev/sdb mkpart primary 2048s -8192s

Den Typ der ersten Partition auf RAID ändern:

parted /dev/sda set 1 raid on
parted /dev/sdb set 1 raid on

Nun legen wir das Raid an.

Beim Erstellen eines neuen Raid-Verbundes wird ein neues blockorientiertes Gerät mit einem neuen Namen z. B. [/dev/md0] erzeugt.

Man wählt nun die Geräte und das Raid Level aus. Ins unserem Fall also:

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

Das dauert jetzt ein Weilchen (bei mir bei 2x 2TB Festplatten ca. 4 Stunden)! Mit

watch -n1 cat /proc/mdstat

kann man dem aktuellen Stand folgen (Ansicht mit Strg+C beenden)

Sobald der Prozess beendet ist, speichern wir die Raid-Konfiguration, damit sie auch nach einem Systemneustart bestehen bleibt. Ansich sollte das automatisch funktionieren mit

sudo mdadm --examine --scan --verbose >> /etc/mdadm/mdadm.conf

Da ich hierbei allerdings eine Fehlermeldung zu fehlender Berechtigung erhalte, rufe ich die Informationen stattdessen erst ab mit

sudo mdadm --examine --scan --verbose

was mir folgendes ausgibt:

ARRAY /dev/md/0 level=raid1 metadata=1.2 num-devices=2 UUID=dac98faa:44dea199:9641e2d6:4705c10a name=BJHomebrew:0
  devices=/dev/sdb1,/dev/sda1

Nun öffne ich die Konfigurationsdatei mit

sudo nano /etc/mdadm/mdadm.conf

gebe unter MAILADDR meine aktuelle E-Mail Adresse ein (wichtig falls später Mailbenachrichtigungen erwünscht sind) und kopiere die Ausgabe unter die letzte Zeile der Datei. Dann wird gespeichert und die Datei geschlossen.

Jetzt noch ein Update mit

sudo update-initramfs -u -k all

Nun wird das Raid formatiert mit

mkfs.ext4 -v -m .5 -b 4096 -E stride=128,stripe-width=128 /dev/md0

Genauere Ausführung zur Formatierung hier.

Nun erstellen wir einen Ordner mit

sudo mkdir /mnt/raid1

und hängen den Raid-Verbund ein mit

mount /dev/md0 /mnt/raid1

Damit das Raid auch nach einem Neustart wieder ordentlich gemountet wird, öffnen wir fstab mit

sudo nano /etc/fstab

Dort tragen wir nach der letzten Zeile folgendes ein:

/dev/md0 /mnt/raid1/ ext4 defaults,nosuid,noexec,nodev 1 2

Der Zugriff auf das Raidsystem ist ab sofort über den Pfad ‚/mnt/raid1/‘ möglich.