Buffer I/O error on device sda8

Hallo,
ich habe/hatte die aktuelle Version von HA via Proxmox auf einem ThinkPad laufen. es hat über Monate hinweg gut funktioniert. Seit heute morgen ist HA nicht mehr erreichbar.
Folgende Fehlermeldung erscheint in der HA console und auf dem Proxmox Server:

Ich mache meine Backups (full) ausschließlich über HA (nicht über Proxmox. Hatte gelesen, dass man die Proxmox Snapshots löschen soll, aber ich habe keine,

Kann jemand helfen?

Man könnte jetzt den alten und harten Spruch „Kein Backup, kein Mitleid!“ bringen. Aber du hast dich ja zumindest um das Thema gekümmert.

Wie alt ist die HDD in dem Proxmox Hypervisor? Das sieht aus, als wenn die sterben würde.
Du kannst noch versuchen mit dd, ddrescue & Co etwas zu retten, aber wenn die HA Instanz schon nicht mehr erreichbar ist, ist die in jedem Fall in Mitleidenschaft gezogen.

Die nachinstallierbaren Tools

ddrescueview
ddrutility
gddrescue
dd

sind nun deine beste Chance. Falls du noch weitere VMs oder LXCs laufen hast, sind die u.U. auch betroffen.

Für die Rettungsversuche mit den o.a. Tools alle VMs /LXCs shutdown fahren und möglichst keine weiteren Schreibzugriffe auf die HDD loslassen. Das macht es nur noch schlimmer.

Grds. dauert das Backup einer HA-Instanz mit Proxmox keine 5 Minuten. Shell Script welches die VM shutdown fährt, Backup durchführt und die VM anschließend wieder startet. Solange sollte eine HA-Instanz doch Mal nicht erreichbar sein können.

Good luck!

2 „Gefällt mir“

Ja, davon würde ich auch ausgehen, die sollten schnellst getauscht werden.

Vorher nach Möglichkeit noch Snapshots aller VM’s auf ein externes Medium machen.
Proxmox selber neu installieren ist ja wenig Aufwand.

1 „Gefällt mir“

Ehrm…also entweder die o.a. Tools verwenden oder Snapshot Backups machen. Beides ist doppelt gemoppelt und kostet nur Zeit.

Anyway…du müsstest jetzt so schnell wie möglich, so viele Daten wie möglich auf ein externes Medium verfrachten.

Es gäbe noch ein paar weitere Expertentricks, aber wenn du die Fehlermeldungen nicht interpretieren kannst, bist du kein Linuxguru (ist absolut nicht böse gemeint) und dann sind die hier gemachten Vorschläge deine beste Option.

Macht die HDD denn anormale Laufgeräusche?

1 „Gefällt mir“

Ich antworte mir mal selber, damit das hier als neuer Post erscheint und der Threadopener das mitbekommt.

Was ich nicht erwähnt hatte:

  • Proxmox Hypervisor shutdown fahren.
  • Linux-Start-CD / -USB verwenden. Hier kannst du irgendeinen Debian- oder Ubuntu Bootstick verwenden.
  • Externes Speichermedium an den Rechner anschließen
  • Rechner vom Bootstick starten
  • Wenn das System hoch gefahren ist, eine Kommandozeile aufmachen
  • mkdir temp
  • mount -t ext4 (oder welches Filesystem du auch immer verwendest) /dev/sda/ ./temp
  • Dann von hier aus zunächst die Rettungsversuche mit „cp -a“ starten.
  • Wenn das nicht funktioniert, die HDD mit „umount ./temp“ wieder unmounten und mit den o.a. dd-Tools versuchen. =>> Dafür darf die zu rettende HDD dann nicht gemounted sein.
    Was ist der Vorteil bei dieser Vorgehensweise? Es erfolgen keine Schreibvorgänge mehr auf die beschädigte HDD. Das ist bei laufendem Hypervisor (Snapshots der VM erstellen) nicht gewährleistet.
1 „Gefällt mir“

Da brauchst du keine Script für, das kann die Backup-Funktion von Proxmox alleine.
Einrichten, welchen Tag / Uhrzeit und welche VM’s / LXC’s gesichert werden sollen und wohin ( natürlich extern auf NAS etc. ) und laufen lassen.
Das funktioniert super gut ( auch der Restore bevor jemand fragt )

Ich mache alle Sicherung darüber im Shutdown-Modus einmal wöchentlich in der Nacht und bei wichtigen Systemen jede Nacht.
Man kann ja mehrer Backupsjobs erstellen.

Wielange die dauern ist dann nur von der Netzwerkgeschwindigkeit zum externen Medium abhängig.

2 „Gefällt mir“

Jaaa…ich mache in dem Script aber auch noch ein paar andere Sachen… :wink:
So…und nun lass’ uns hier keine Linux-Schlacht starten…der Kollege mit der sterbenden HDD hat gerade andere Sorgen. :wink:

2 „Gefällt mir“

ja bin gerade sehr besorgt :frowning:

die Festplatte ist ca 7 Jahre alt. Habe keine anderen VMs außer HA.

Snapshot hört sich einfacher an. Kann ich das über das Proxmox GUI machen?
Ich würde dann auf USB-Stick sichern, aber wie bekomme ich diesen in Proxmox und das Backup dann auf den Stick?

Parallel bereite ich gerade den bootstick vor

Ich habe Proxmox auf einem Lenovo Thinkpad T450 laufen. Drr Stromvebrauch ist niegrig, er ist aber schon genauso alt wie die Festplatte. Würdet ihr nur die Platte tauschen oder auf homeassistant green o.ä. wechseln?

Die Backups liegen anschließende unter
/var/lib/vz/dump/
Von dort aus kannst du sie kopieren wohin du willst. USB-Stick sollte nicht gerade einer von den ganz billigen sein. Wenn es schon ein USB-Stick sein muss.

1 „Gefällt mir“

Ohne eine Grundsatzdebatte aufmachen zu wollen: Wenn das Thinkpad läuft und wenig Strom verbraucht, würde ich es weiter verwenden. Mobile-CPUs sind grds. weniger leistungshungrig. Außerdem hast du bei einem selbst aufgesetzten System im Ernstfall viel mehr Rettungsmöglichkeiten. Wie du ja in der aktuellen Situation selber gerade feststellst. …aber, es mag auch gute Gründe für ein Fertiggerät geben.

1 „Gefällt mir“

achso, also zuerst Snapshot auf die proxmox-maschine und dann auf Stick/USB-Festplatte kopiere.
Aber wenn ich es in Proxmox mit Snapshots->take Snapshot probiere, ercheint diese Fehlermeldung

snapshotting ‚drive-scsi0‘ (local-lvm:vm-101-disk-1)
WARNING: Thin pool pve/data is out of data space.
snapshot create failed: starting cleanup
TASK ERROR: lvcreate snapshot ‚pve/snap_vm-101-disk-1_b250221‘ error: Cannot create new thin volume, free space in thin pool pve/data reached threshold.

Zu wenig Speicherplatz?

Hier ist doch noch genug frei:

df -h . ergibt 60GB freier Speicher

Ich könnte, statt eine neue Festplatte zu bestellen bzw bis die neue Platte da ist, Proxmox und die neue HA VM aud sdb installieren

Darum mein Vorschlag, das mit den Rettungstools zu machen.
Über die Proxmox GUI kannst du m.W. kein alternatives Zielverzeichnis angeben. Vermutlich geht das aber über die CLI (Kommandozeile). Gib mir mal 5 Minuten…ich gucke mal schnell.

2 „Gefällt mir“

Doch, geht:

  • Mach’ mal eine Kommandozeile auf dem Proxmox auf.
  • mkdir temp
  • mount /dev/USB-Stick ~/temp
  • vzdump $VM-ID --compress=zstd --dumpdir ~/temp

$VM-ID ist die Nr. deiner VM

Nach dem Backup:
umount ~/temp

Wenn du die ~ (Tilde) auf dem Keyboard nicht findest, kannst du auch „/root/temp“ schreiben. Das ist dasselbe.

Dann hast du aber tatsächlich nur die VM gerettet. Mit der Bootstick-Methode kannst du auch noch Daten vom Proxmox selber retten. :wink:

2 „Gefällt mir“

1a, super vielen Dank!!!
Es kopiert. Ich werde berichten, ob es geklappt hat.

Welche Daten auf Proxmox wären dsa beispielsweise (Sorry habe noch wenig Erfahrung damit)?

Wenn du noch eine zweite HDD hast, würde ich das Backup auf dieser ablegen. Ist sicherer als ein USB-Stick …und schneller.

1 „Gefällt mir“

Gerne, gerne! Kein Thema! :wink:

Was sind die Vorteile eines vollständigen Backups?

Du hast im Nachgang noch Zugriff auf dein /etc/ Verzeichnis. Dort liegen alle Config-Dateien von Proxmox. Jaaa…kann man auch separat sichern…aber wenn die HDD nun völlig abraucht und dir im Nachgang noch etwas einfällt, was du noch brauchen könntest, kommst du halt nicht mehr 'ran.

Du kannst dir auch vorsichtshalber mit

dpkg -l |cut -d " " -f3 >$Pfad/Zu/Dateiname

die komplette Liste aller installierten Pakete sichern. Das kannst du dann auf dem neuen System „rückwärts“ 1:1 so wieder zurücksichern / bzw. installieren. Sofern deine /etc/apt/sources.list korrekt eingerichtet ist.

1 „Gefällt mir“

Noch ein Hinweis. Sorry…das sind alles Selbstverständlichkeiten. Darum vergesse ich das hier aufzuschreiben.

Wenn das Backup durch ist. Schickst du bitte ein

sync

ab und wartest bis das Prompt wieder zurückkommt. Erst dann den unmount-Befehl abschicken. UND DEN USB-STICK ERST ABZIEHEN, WENN DER STICK AUCH WIRKLICH AUSGEHÄNGT IST! =>> Wenn auch hier das Prompt wieder zurückkommt.

Warum? Der Rechner saugt sich die Daten aus Performancegründen so weit es geht ins RAM. Das muss anschließend noch auf das Speichermedien ge-flushed werden.
Ziehst du den USB-Stick zu früh ab, ist dein Backup Schrott!

2 „Gefällt mir“

okay, habe ich gemacht (für den Stick).
Ich wollte es auch für die andere interne HDD probieren.

mkdir /mnt/sdb2
mount /dev/sdb2 /mnt/sdb2

danach wollte ich auf der Festplatte eine backup-Verzeichnis erstellen und die Daten kopieren

mkdir -p /mnt/sdb2/proxmox_haos101_bakup
vzdump 101 --compress=zstd --dumpdir /mnt/sdb2/proxmox_haos101_bakup

Bei beiden Befehlen erscheint aber ein Fehler (Read-only file system)

total 9093316
dr-x------ 1 root root       4096 Dec 23  2023 '$Recycle.Bin'
dr-x------ 1 root root       4096 Apr 19  2019 '$SysReset'
dr-x------ 1 root root          0 Nov 15  2021 '$WinREAgent'
-r-------- 2 root root          0 Sep 12  2019 '$WINRE_BACKUP_PARTITION.MARKER'
dr-x------ 1 root root          0 Feb 13  2019  AppData
dr-x------ 1 root root          0 Nov 12  2018 'Documents and Settings'
dr-x------ 1 root root          0 Nov 13  2018  DRIVERS
-r-------- 2 root root       8192 Nov 15  2021  DumpStack.

Kann ich irgendwie Schreibzugriff erlauben? chmod funktioniert nicht. Ich würde auch gerne formatieren, aber das funktioniert aus denselben Gründen nicht

Wie war denn die Meldung nach dem Mount-Befehl? Wenn das System die zweite HDD read only mounted, gibt es dafür irgendeinen Grund.

Wenn du sdb2 in der /etc/fstab stehen hast, reicht der Mountbefehl, so wie du ihn abgesetzt hast. Wenn nicht lautet der Befehl

mount -t ext4 (bzw. dein Filesystem) /dev/sdb2 ~/temp

Probier’ das Mal aus und berichte. Ich muss mir Mal schnell etwas zu Essen organisieren und bin in ca. 15 Minuten wieder am Platz.

1 „Gefällt mir“

nimm dir Zeit :slightly_smiling_face:.
Hier der Dateiinhalt von fstab

cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/pve/root / ext4 errors=remount-ro 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0

Beim mount-Befehl kommt keine Meldung. Mit mount -t ext4 (bzw. dein Filesystem) /dev/sdb2 ~/temp habe ich leider dasselbe Problem (habe aber ntfs statt ext4 benutzt)
ntfs