gpart: the secondary GPT table is corrupt

BrainPain

Well-Known Member
Hallo zusammen,

mir ist aufgefallen dass ich folgende Fehlermeldung (dmesg) erhalte:
GEOM: mirror/gm0: the secondary GPT table is corrupt or invalid.
GEOM: mirror/gm0: using the primary only -- recovery suggested.

gpart status liefert dann:
# gpart status
Name Status Components
mirror/gm0p1 CORRUPT mirror/gm0
mirror/gm0p2 CORRUPT mirror/gm0
mirror/gm0p3 CORRUPT mirror/gm0
mirror/gm0p4 CORRUPT mirror/gm0
mirror/gm0p5 CORRUPT mirror/gm0
mirror/gm0p6 CORRUPT mirror/gm0

Also habe ich brav recover ausgeführt:

# gpart recover mirror/gm0
mirror/gm0 recovered
# gpart status
Name Status Components
mirror/gm0p1 OK mirror/gm0
mirror/gm0p2 OK mirror/gm0
mirror/gm0p3 OK mirror/gm0
mirror/gm0p4 OK mirror/gm0
mirror/gm0p5 OK mirror/gm0
mirror/gm0p6 OK mirror/gm0

Jedoch ist trotz dmesg -c die gleiche meldung nach dem reboot wieder da.

Zu meiner Konfiguration:
Ich habe einen trivialen mirror gebaut, in gm0 hängen also direkt die beiden Platten:
# gmirror label -vb round-robin gm0 /dev/ada[01]

Ich habe auch schon gesehen dass anstatt eines einzelnen mirror für jede partition ein eigener slice+mirror angelegt wird, jedoch habe ich nicht verstanden warum man es so umständlich macht. Gibt es dafür eine sinnvolle Begründung? Hängt das mit meinem Problem zusammen?
Beispiel:
https://www.ateamsystems.com/tech-blog/installing-freebsd-9-gmirror-gpt-partitions-raid-1/

Wie würdet Ihr das System aufsetzen? Ich habe 2 x 3TB und dachte eigentlich dass so ein Raid-1 eine sichere Sache ist. Leider wurde ich eines besseren belehrt da nun plötzlich beide Platten gleichzeitig defekt ware und ich natürlich kein Backup hatte. Da ich nun wieder von vorn anfangen muss könnte ich das Ganze vielleicht gleich stabiler bauen. Der gpart-Fehler fühlt sich schonmal nicht so gut an. :)
 

nakal

Anfänger
Das Problem hängt sehr wahrscheinlich damit zusammen. Mirror solltest Du nicht auf der rohen Platte machen. Wenn Du nämlich gpart innerhalb von gmirror anlegst, dann wird das Partitionslayout mit herumkopiert. Ein Wunder, dass das Konstrukt überhaupt startet, wenn das BIOS 2 Platten mit gleichen GPT-IDs sieht.

Mach zuerst ein Partitionslayout auf jeder Platte, dann erst Mirrors darauf, auch wenn's mehr Aufwand beim Austausch ist.

Andere Frage, nebenbei: wieso nimmst Du nicht ZFS? gmirror ist relative stupide und nicht weiter geschützt.
 

BrainPain

Well-Known Member
Ok, dann weis ich jetzt wenigstens Bescheid für das nächste Mal wenn es wieder gmirror+UFS werden sollte. Jetzt bin ich erst einmal mit ZFS unterwegs.
Vielen Dank!
 
Oben