Stell dir vor, du aktualisierst dein (Server-) System ... und dann lassen sich auf keiner Festplatte mehr Partitionen einhängen - außer vom System selbst.
Schreck lass nach: alle Daten weg?
Bei fdisk -l sieht das dann z.B. so aus:
Disk /dev/sdb: 2,75 TiB, 3000591900160 bytes, 5860531055 sectors
Disk model: Hitachi HUS72403
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 1 4294967295 4294967295 2T ee GPT
gdisk findet die Partitionen noch, meldet aber Fehler mit der GPT:
~:# gdisk -l /dev/sdb
Main header: OK
Backup header: ERROR
Main partition table: OK
Backup partition table: ERROR
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Disk /dev/sdb: 5860531055 sectors, 2.7 TiB
Model: Hitachi HUS72403
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): xxxxxxxxxxxxxxxxxxxxxxxxxx
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 5860533134
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
1 2048 2147485695 1024.0 GiB 8300
2 2147485696 4294969343 1024.0 GiB 8300
3 4294969344 4303357951 4.0 GiB 8200
4 4303357952 5860533134 742.5 GiB 8300
Erstmal suchen wir nach möglicherweise geänderten BIOS-Einstellungen, ohne Erfolg.
Die Logik sagt: da fehlt ein Stückchen am Ende der Festplatte,
Backup-Partitionstabelle und -Header scheinen daher weg zu sein.
Was war passiert: wir hatten die Vermutung, dass beim Update auf
Ubuntu 20.04 eine alte Einstellung wieder reaktiviert wurde,
die, solange Ubuntu 18.04 installiert war, keine Beachtung fand:
die Host Protection Area (HPA).
In einer Log-Datei von vor zwei Tagen - manchmal ist es ganz gut, seine
Aktionen mitzuschreiben - finden wir die bisherigen Sektorgrößen der
Festplatten wieder:
root@server:~# grep TiB logs/sicherung.txt
Disk /dev/sdb: 3,7 TiB, 4000787030016 bytes, 7814037168 sectors
Disk /dev/sdc: 2,7 TiB, 3000592982016 bytes, 5860533168 sectors
root@server:~# hdparm -N /dev/sdb
/dev/sdb:
max sectors = 5860531055/5860533168, HPA is enabled
root@server:~# hdparm -N /dev/sdc
/dev/sdc:
max sectors = 7814035055/7814037168, HPA is enabled
Die Vermutung bestätigt sich durch Aufruf von hdparm: die erste Zahl
ist geringfügig kleiner (2113 bytes) als die eigentliche Festplattengröße.
Weitere Informationen zu HPA finden sich im Thomas-Krenn-Wiki sowie bei Wikipedia
Das System ist offensichtlich so eingestellt, dass die HPA nicht ignoriert wird:
~:# cat /sys/module/libata/parameters/ignore_hpa
0
Wir testen das Gegenteil der bei Thomas Krenn erwähnte Lösung, indem wir dem Kernel beim Booten (in /etc/default/grub)
einen neuen Parameter mitgeben:
libata.ignore_hpa=1
Was letztlich die "Erlösung" bringt: alle Daten-Partitionen sind wieder da und können
auch - als wäre nix gewesen - wie immer eingehangen werden.
Unklar bleibt, wieso das passiert ist - und ob es wirklich mit dem Upgrade auf Ubuntu 20.04 zusammenhängt. Zeit für's Feierabend-Bier ...
Update: es scheint ehr mit dem Versuch, von der falschen Festplatte zu booten, zusammen zu hängen - siehe https://superuser.com/questions/1282451/sudden-decrease-of-hard-drive-sectors
"... if you are using a Gigabyte motherboard manufactured before 2010 then you should definitely check to see
if you have HPA on any of your drives. Also, it is definitely possible to have an HPA from a previous motherboard.
If a drive has at any point in time been used with one of these HPA-inducing boards, then there's a good chance
that it still has a vestigial HPA, even if it has been formatted since."
PS: du kennst das Problem auch - und hast eine Erklärung? Schreib uns gern in den Kommentaren dazu.
PPS: Die GUID-Partition-Table wird hier gut erklärt. Quelle für das Aufmacher-Bild.