ich betreibe seit geraumer Zeit einen Debian 11 Server mit Software RAID1. Es läuft auch alles gut. Nur kam mir jetzt eine Frage in den Sinn, über die ich mir bislang noch überhaupt keine Gedanken gemacht habe.
Zur Situation:
Code: Alles auswählen
- Debian 11
- zwei SATA Platten /dev/sda und /dev/sdb
- diese sind wie folgt eingebunden:
/dev/md0 mit /dev/sda1 und /dev/sdb1
/dev/md1 mit /dev/sda5 und /dev/sdb5 (swap)
- grub ist auf sda und sdb
sieben mal eine /dev/sdb, welche am zweiten Controller (SATA2) via Wechselrahmen angeschlossen ist. Also für Montag, Dienstag, Mittwoch... jeweils eine andere Platte.
Ich mache das, damit zum Einen die Daten als RAID gespiegelt sind und ich zusätzlich jeweils täglich eine aktuelle Spiegelung auf einer Platte habe, welche dann extern gelagert werden kann. Also schlage ich so quasi zwei Fliegen mit einer Klappe
Ich tausche also täglich die Platte (sdb) im Wechselrahmen aus und habe somit beim booten immer ein "kaputtes" RAID.
Code: Alles auswählen
cat /proc/mdstat
md1 : active (auto-read-only) raid1 sda5[2]
3926016 blocks super 1.2 [2/1] [U_]
md0 : active raid1 sda1[2]
484322304 blocks super 1.2 [2/1] [U_]
bitmap: 4/4 pages [16KB], 65536KB chunk
Auf sda sind - da fix angeschlossen - immer die aktuellsten Daten drauf. Auf z.B. sdb -Montag sind am darauffolgenden Montag logischerweise die Daten vom Montag der Vorwoche drauf, welche nun überschrieben werden sollen.
Woher weiß ist denn aber, von welche Platte aus gebootet wurde?? Eigentlich sollte immer von sda gebootet werden, weil diese am ersten Controller hängt. Aber rein theoretisch ist auf sdb auch ein grub vorhanden und die Platte könnte auch booten. Es ist ja ein komplettes System der Vorwoche drauf. In dem Fall würde ich mir nämlich die Daten der Vorwoche von sdb auf die eigentlich aktuelle sda überschreiben.
Bisher hat das immer einwandfrei funktioniert. Heute habe ich aber folgendes gesehen:
Code: Alles auswählen
cat /proc/mdstat
md1 : active raid1 sdb5[3] sda5[2]
3926016 blocks super 1.2 [2/1] [U_]
[>....................] recovery = 1.7% (68672/3926016) finish=1.8min speed=34336K/sec
md0 : active raid1 sdb1[3] sda1[2]
484322304 blocks super 1.2 [2/1] [U_]
resync=DELAYED
bitmap: 4/4 pages [16KB], 65536KB chunk
Vor Einhängen der zweiten Platte hat er allerdings (s. oben) nur die sda erkannt und wohl auch davon gebootet. Zumindet ist meine Testdatei, welche nur auf sda war, immer noch vorhanden.
Die UUID von sda1 und sdb1 etc. sind identisch.
Wie kann ich feststellen, won welcher Platte also tatsächlich gebootet wurde. Und was hat das mit der Reihenfolge sda und sdb (=> md1 : active raid1 sdb5[3] sda5[2]) hier auf sich. Warum steht (zumindest manchmal) sdb er erster Stelle?
Danke schonmal für eure Hilfe
Simon