Nachdem ich nun wieder einen Raspberry Pi 4 8 GB für mein Geekworm Case gekauft habe (den anderen habe ich für einen Docker-Swarm-Cluster verwendet), habe ich auch gleich auf zwei gleiche SSD's gewechselt, die ich noch herumliegen hatte. Damit fiel die Entscheidung, ein Raid 1 zu erstellen, was ich wie folgt getan habe.
Einfach im Terminal lsblk eingeben und die Ausgabe sieht in etwa wie folgt aus:
Erst schauen wir mal, wie die Geräte sich nennen, die wir für das Raidsystem verwenden wollen. Dafür gibt es den Befehl lsblk
(list block devices), also das Auflisten von Datenträger wie z. B. Festplatten/SSDs oder Speicherkarten.
Einfach im Terminal lsblk
eingeben und die Ausgabe sieht in etwa wie folgt aus:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
mmcblk0 179:0 0 119,1G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 118,9G 0 part /
mmcblk0
ist die MicroSD-Karte wo das Betriebssystem Raspbian installiert ist. Die beiden SSD's sind unter sda
und sdb
zu erkennen. Darauf wollen wir nun Partitionen erstellen mit dem Tool fdisk.
sudo fdisk /dev/sda
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x6624690f.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-613355519, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-613355519, default 613355519):
Created a new partition 1 of type 'Linux' and of size 292.5 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Wenn schon mal ein Raid konfiguriert war und man die Partitionen gelöscht hat, sieht das Ganze wie folgt aus:
sudo fdisk /dev/sda
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x8f2e74f8.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (65535-468862127, default 65535):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (65535-468862127, default 468862127):
Created a new partition 1 of type 'Linux' and of size 223,6 GiB.
Partition #1 contains a linux_raid_member signature.
Do you want to remove the signature? [Y]es/[N]o: y
The signature will be removed by a write command.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Danach brauchen wir das Programm mdadm, das wie folgt installiert wird:
sudo apt-get Update
sudo apt-get -qy install mdadm -y
Nun erstellen wir das Raid1 Array:
sudo mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1
Mit y bestätigen. Danach:
sudo mkdir -p /home/pi/data
sudo mkfs.ext4 /dev/md0
Mit y bestätigen und bei der nächsten Frage einfach die Eingabetaste zur Bestätigung drücken. Danach Mounten und checken, ob es funktioniert hat:
sudo mount /dev/md0 /home/pi/data/
ls -l /home/pi/data/
Ausgabe: drwx------ 2 root root 16384 Nov 10 23:38 lost+found
Damit auch beim nächsten Reboot noch das Laufwerk gemounted wird, muss es in der fstab eingetragen werden:
sudo vim /etc/fstab
Hinzufügen von /dev/md0
proc /proc proc defaults 0 0
PARTUUID=5f9d4017-01 /boot vfat defaults 0 2
PARTUUID=5f9d4017-02 / ext4 defaults,noatime 0 1
/dev/md0 /home/pi/data/ ext4 defaults,noatime 0 2
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
Vor dem Reboot noch folgenden Befehl laufen lassen, um die /etc/mdadm/mdadm.conf
upzudaten:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Danach ein sudo reboot
.
Danach hat man erst mal keine Schreibrechte auf /home/pi/data
welche man mit derm Terminal entsprechend mit chmod 777 data
setzen kann. Wie auch schon bei den einzelnen Festplatten beschrieben, nicht die sicherste, aber schnellste Lösung.
Hinweis: Mir ist ein Fehler in der fstab unterlaufen, ich habe statt
noatime
,notime
eingegeben, daraufhin wollte das System nicht mehr booten. Ich habe die SD-Karte aus dem Pi genommen, in den Cardreader am PC gesteckt und mitsudo fstab
im/etc/
-Ordner auf der SD-Karte (nicht die vom PC editieren) dann den Fehler korrigiert. Ggf. kann man auch die Zeile auskommentieren mit einer Raute speichern (geht nur mit sudo) und die Karte vom PC sicher entfernen und wieder in den Pi stecken. Wenn alles korrigiert wurde, startet der Pi wieder durch.
Zur Information, ich habe schon ein Dokument in Vorbereitung, indem alle Konfigurationen zusammengefasst sind. Dies wird noch veröffentlicht. Das hier ist ein Auszug daraus.
Kommentare
Kommentar veröffentlichen