Warum schlägt das Anhängen von Block Storage for Classic mit einem Fehler bei der Dateisystemprüfung fehl?
Behebung von Problemen bei der Dateisystemprüfung für Speichervolumes.
Klassische Infrastruktur
Wenn Sie die Pod-Protokolle für Pods anzeigen, die verwenden Block Storage for Classic, wird eine Fehlermeldung ähnlich der folgenden angezeigt.
UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.(i.e., without -a or -p
options)
Die Platte ist beschädigt. Eine Festplattenbeschädigung tritt auf, wenn ein Persistent Volume (PV) aktiv im Lese-/Schreibmodus ist und der zugehörige Pod zwangsweise gelöscht wird oder der Knoten neu gestartet/neu geladen wird, bevor der Pod ordnungsgemäß entfernt wurde oder wenn das Volume noch verbunden war. In diesen Szenarien wird der Vorgang zum Aufheben der Bindung nicht ordnungsgemäß abgeschlossen, sodass das Volume in einem inkonsistenten Zustand verbleibt. Dies geschieht in der Regel bei Workflows, die unmittelbar nach dem Entleeren ein Neuladen oder Aktualisieren der Knoten durchführen, ohne zu überprüfen, ob alle Pods migriert und Volumes getrennt wurden.
Führen Sie die folgenden Befehle aus, um den persistenten Datenträger zu patchen, an den der Pod angehängt wird.
-
Rufen Sie die Details des ausgefallenen Pods ab und notieren Sie sich den PV und den PVC, die angehängt werden.
kubectl get pods -
Patchen Sie die PV, um die Anmerkung
"ibm.io/autofix-fsckErr":"true"hinzuzufügen.kubectl patch pv PVNAME -p '{"metadata": {"annotations":{"ibm.io/autofix- fsckErr":"true"}}}' -
Löschen Sie Ihren App-Pod und erstellen Sie ihn erneut, um das Anhängen des persistenten Datenträgers zu wiederholen. Nach dem Löschen und erneuten Erstellen des Pods wiederholt Kubernetes die Mountoperation und der Block Storage for Classic-Treiberpod versucht, das Problem basierend auf der Annotation
"ibm.io/autofix-fsckErr":"true"automatisch zu beheben. -
Nachdem der Pod erfolgreich bereitgestellt und ausgeführt wurde, führen Sie den folgenden Befehl aus, um den persistenten Datenträger zu bearbeiten:
kubectl edit pv PVNAME -
Entfernen Sie die Annotation
"ibm.io/autofix-fsckErr: true"aus dem PV und speichern Sie sie. -
Wenn das Problem weiterhin auftritt, wenden Sie sich bitte an den Support. Öffnen Sie einen Supportfall. Stellen Sie in den Falldetails sicher, dass alle relevanten Protokolldateien, Fehlernachrichten oder Befehlsausgaben enthalten sind.