Ich arbeite derzeit an einem Remote-Ubuntu-18.04-Server, auf dem ich ein neues RAID-Array (RAID1) einrichten und es dann als verfügbare Partition in das aktive Dateisystem einbinden muss. Der erste Schritt für mich besteht darin, zu verstehen, was gerade vor sich geht. Ich weiß, dass sich im aktiven System zwei Festplatten befinden, die in einem RAID-1-Array verbunden sind. Ich habe den lsblk
Befehl verwendet, um einige Informationen zu sammeln. Die Ausgabe lautet wie folgt:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 894,3G 0 disk
├─nvme0n1p1 259:1 0 4G 0 part
│ └─md0 9:0 0 4G 0 raid1 [SWAP]
├─nvme0n1p2 259:2 0 512M 0 part
│ └─md1 9:1 0 511,4M 0 raid1 /boot
└─nvme0n1p3 259:3 0 889,8G 0 part
└─md2 9:2 0 889,6G 0 raid1 /
Bedeutet das, dass mein physisches Gerät das mit dem Namen ist nvme0n1
? Und dieses ist in 3 Teile partitioniert (Swap, Boot und /). Wenn es dasselbe physische Gerät ist ( nvme0n1
), warum sind die Partitionen ( nvme0n1p1,nvme0n1p2,nvme0n1p3
) dann zusätzlich in unterteilt md0,md1,md2
? Was ist der Unterschied zwischen nvme0n1p1
und md0
?
Wenn ich cat /proc/mdstat
das mache bekomme ich außerdem folgende Ausgabe:
md2 : active raid1 nvme0n1p3[1]
932840768 blocks super 1.2 [2/1] [_U]
bitmap: 7/7 pages [28KB], 65536KB chunk
md1 : active raid1 nvme0n1p2[1]
523712 blocks super 1.2 [2/1] [_U]
md0 : active raid1 nvme0n1p1[1]
4190208 blocks super 1.2 [2/1] [_U]
Hier werden 3 aktive Raidblöcke angezeigt. Ich habe nur ein Raid-Array laufen. Ich kann die Ausgabe nicht interpretieren... ich brauche Hilfe.
Danke
Antwort1
Wenn dies die vollständige lsblk
Ausgabe ist, wird leider nur ein physisches Speichergerät angezeigt nvme0n1
.
Ihr nvme0n1
Computer ist in drei Partitionen aufgeteilt, die jeweils einzeln für die Software-RAID1-Spiegelung eingerichtet sind. Dadurch erhalten Sie drei Software-RAID-Geräte: md0
, md1
und md2
. Jedes davon entspricht einer einzelnen Software-RAID-Partition, nicht einer ganzen Festplatte.
Wenn Sie RAID pro Partition auf diese Weise einrichten, erkennt das BIOS die Festplatte als partitionierte Festplatte, auch wenn das BIOS Linux-Software-RAID überhaupt nicht erkennt. Dies kann das Booten und einige Wiederherstellungsszenarien vereinfachen und bei Bedarf eine einfache Rückkehr zu einer Nicht-RAID-Konfiguration ermöglichen.
In einem normalen, gespiegelten Zustand md0
würde sich auf den gespiegelten Satz von nvme0n1p1
+ nvme1n1p1
, md1
auf den Satz von nvme0n1p2
+ nvme1n1p2
usw. beziehen. Sie würden die Dateisysteme mounten und den Swap mithilfe der md0
, md1
und md2
-Geräte aktivieren: Sobald diese Geräte zur Verwendung geöffnet werden, würde das Software-RAID-Subsystem die darunterliegenden physischen Partitionen für den exklusiven Zugriff sperren und erfordern, dass sämtliche Zugriffe auf die Partitionen über die RAID-Schicht erfolgen, während das RAID aktiv ist.
Allerdings fehlt jedem dieser Software-RAID-Sets die zweite Hälfte eines RAID1-Paares.Dies kann bedeuten, dass das System mit Software-RAID auf zwei identischen NVMe-Geräten eingerichtet wurde, eines davon aber (wahrscheinlich nvme1n1
) bereits ausgefallen ist.Oder vielleicht wurde das System auf einer einzelnen NVMe-Festplatte als Hälfte eines RAID1-Sets eingerichtet, um einen einfachen Übergang zu echtem RAID1 zu ermöglichen, sobald ein zweites NVMe-Gerät verfügbar war … aber aus irgendeinem Grund geschah dies nie.
Ihre erste Priorität sollte wahrscheinlich darin bestehen, das fehlerhafte NVMe zu ersetzen (oder das fehlende hinzuzufügen) und dann die vorhandenen RAID-Paare wiederherzustellen:
- Kopieren Sie die Partitionstabelle von der vorhandenen Festplatte auf die neue Festplatte.
- Initialisieren Sie die Partitionen auf der neuen Festplatte als Ersatzpartitionen für das entsprechende
mdN
Gerät - Starten Sie die RAID1-Wiederherstellung auf jedem Paar
- Installieren Sie eine zweite Kopie des Bootloaders auf der zweiten Festplatte, da sich MBR und Teile von GRUB außerhalb der gespiegelten Partitionen befinden.
- Damit der Ausfall eines physikalischen Gerätes nicht erneut unbemerkt bleibt, richten Sie eine Überwachung der RAID-Geräte ein.
Sobald dies erledigt ist, können Sie über Ihre ursprüngliche Aufgabe nachdenken, nämlich die Einrichtung eines neuen RAID-Arrays. Dazu benötigen Sie mehr physischen Speicher, da der vorhandene anscheinend nvme0n1
vollständig belegt ist (und das gilt auch für das entsprechende Spiegelbild, sobald die aktuellen Halbspiegel vollständig wiederhergestellt wurden).
Antwort2
Ja, die Ausgabe zeigt nur ein physisches Gerät (nvme0n1).
Ja, die Ausgabe zeigt, dass es 3 Partitionen hat.
Der interessante Teil ist die Information von /proc/mdstat
, wo es zeigt,3konfigurierte RAID-Geräte, die alle anzeigen [_U]
. In einem fehlerfreien System sollte dort stehen [UU]
. Die 3 RAID-Geräte sind als RAID1 (gespiegelt) konfiguriert, sodass der (vermutete) Ausfall des zweiten Laufwerks noch keinen Datenverlust verursacht hat. Natürlich kann es sein, dass das zweite Laufwerk nicht erkannt wird, weil es entfernt wurde.
Eine Untersuchung des Boot-Protokolls kann Ihnen möglicherweise einen Hinweis darauf geben, ob überhaupt ein zweites Laufwerk erkannt wird.
nvme0n1p1 ist eine Partition. Sie hat am Anfang einen RAID-Header. Die restlichen Sektoren in der Partition werden als Daten für das Gerät md0 verwendet. Wenn ein zweites Laufwerk angeschlossen wäre, bei dem es sich möglicherweise um eine herkömmliche spinning rust
Festplatte handelt, wäre zu erwarten, dass es mindestens 3 Partitionen hat. Eine davon (konventionell wäre sie die erste, also /dev/hda1) hätte auch einen RAID-Header und die restlichen Sektoren würden verwendet, um eine zweite Kopie der Daten für das Gerät /dev/md0 zu speichern.