Direkt zum Hauptbereich

Raspberry Pi 4 mit Geekworm #5

 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 mit sudo 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

Beliebte Posts aus diesem Blog

Raspberry Pi 4 mit Geekworm #2

Die Akkus sind eingelangt und passen gerade noch so in die Vorrichtung. Das Laden hat funktioniert, dazu gibt es eine Statusanzeige auf der Power-Management-Platine (X708). Als Betriebssystem habe ich nun Raspbian 64 Bit in der Beta Version verwendet, auch das funktioniert bisher soweit gut und läuft stabil. Mit einem Shutdown fährt das System leider nicht runter, muss per Knopf abgeschaltet werden. Um dem Abhilfe zu schaffen, gibt es eine Anleitung, wie man per Script, bzw. einem Befehl das System ausschaltet. Hinzu kommt noch die Abfrage nach dem Status der Akkus, da man die LEDs im Inneren bei geschlossenen Gehäuse nicht mehr sieht. https://raspberrypiwiki.com/X708-Software Als Nächstes muss ich noch das System anpassen, da z. B. das System ohne Passwort Abfrage startet, ebenso sind die SSDs noch nicht konfiguriert. Nebenbei interessiert mich noch die Temperatur der CPU und vielleicht kann man diese auch noch etwas übertakten. Ein wenig sollte gehen, da die Power-Management-Platine

Raspberry Pi 4 mit Geekworm #3

Folgende Themen werden in diesem Post behandelt: Temperatur Abfrage Übertakten Passwort Eingabe beim Login und Lock Screen funktion SSD's formatieren/anpassen Hostname ändern SSH Zugriff (Remote Access) Temperatur Abfrage Der einfachste Weg, den ich gefunden habe, die Temperatur von CPU und GPU abzurufen, ist per Script. Das Script ist recht einfach gestrickt: #!/bin/bash while true do   cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)   cpuTemp1=$(($cpuTemp0/1000))   cpuTemp2=$(($cpuTemp0/100))   clear   echo "CPU temp=$cpuTemp1.$cpuTempM'C"   echo "GPU $(/usr/bin/vcgencmd measure_temp)"   sleep 1 done Ich habe das Script unter temp.sh gespeichert und mit chmod +755 temp.sh mit den Rechten zur Ausführung versehen. Mit ./temp.sh kann das Script dann gestarte

Die Idee

Ich betreibe schon seit ein paar Jahren Blogs mit eigener Verwaltung und Wartung. Mir geht es allerdings zunehmend auf die Nerven, mich um die Updates etc. selbst zu kümmern. Deshalb habe ich einfach beschlossen, einen Blog auf Blogger zu starten, und werde hier beginnen, den Blog mit Inhalten zu füllen. Ich möchte hier, wie schon mal auch in der Vergangenheit, auch Themen ansprechen, die mich irgendwie stören oder Gedanken, die mir durch den Kopf gehen. Ebenso aber auch mit "sinnvollen" Content füllen. Themen für diesen Blog, die mir im ersten Gedanken dazu eingefallen sind, wären z. B.: Alltägliches (News aus den verschiedensten Themen Bereichen) Privates & Gedanken (Dinge aus meinem Umfeld, Gedanken, die ich mir zu bestimmten Themen gemacht habe, usw.) IT (Informationstechnologie - quer durch die Bank, mit was auch immer ich mich halt eben beschäftige) Gaming & Unterhaltung (Switch, PC-Games, Filme, Serien, ...) Rezensionen von Produkten (Bücher, Hardware, sonstige