Wie komme ich sicher aus dieser Situation heraus?
Details sind wie folgt:
Einem Xen-Server sind Blockgeräte für VMs zugewiesen. Diese Geräte wurden jedoch auch in Xen eingebunden.
Tatsächlich wurden 44 dieser Blockgeräte so montiert. Um die Sache noch schlimmer zu machen, wird jedes physische Gerät über 4 Pfade gesehen, und jeder dieser Pfade wird auf einem separaten Mountpunkt gemountet. Mit anderen Worten, die Geräte werden tatsächlich jeweils fünfmal montiert.
Das VM-Gastbetriebssystem sieht den Pfad über ein PowerPath-Pseudogerät (der domU als phy: Block-Gerät zugewiesen).
Einige der Geräte sind als ext2 und reiserfs formatiert.
Es ist nicht nötig, mir die Korruptionsrisiken des Dateisystems zu erklären.
Ich befürchte, dass bereits das Abmelden der Dateisysteme zu Beschädigungen führen kann, und halte es derzeit für die sicherste Option, die Stromversorgung des Hosts zu unterbrechen .
Beachten Sie, dass die Anwendungen, hauptsächlich Oracle-Datenbanken, auf allen VMs noch ausgeführt und verwendet werden.
Ich habe dies entdeckt, als ich die hohe CPU-Auslastung auf dem dom0 untersuchte. Es gibt einen unkillable "find" -Prozess mit cwd -> / media / disk-12, der von / dev / sdf1 eingehängt wird, das zu / dev / emcpowerr gehört
Bevor jemand fragt, kann ein Prozess, den ich einmal gesehen habe, nicht beendet werden und verwendet weiterhin CPU und RAM (im Gegensatz zu einem defekten / Zombie-Prozess), wenn ausstehende festgeschriebene E / A-Vorgänge vorliegen, z . Dies tritt häufiger bei Band-E / A auf.
Vorschläge!?
PS Ich hätte erwartet, dass Geräte nach dem Mounten "reserviert" werden, um so etwas zu verhindern. Oder ist das unter Linux nicht möglich?
EDIT: Erstens bin ich überzeugt, dass KDE innerhalb des Hypervisors der Schuldige ist. Es sieht so aus, als ob KDE die Geräte bereitstellt, die es bei der Protokollierung verwenden kann, um Desktopsymbole zu erstellen. Dasselbe passiert jedoch nicht auf anderen Xen-Servern, aber auf allen anderen Servern wird eine viel ältere Version von SLES und KDE ausgeführt.
Außerdem sind zwei nicht kritische VMs hängen geblieben. Nach dem Herunterfahren würden sie aufgrund einer Beschädigung des Dateisystems nicht mehr hochfahren. Die Haupt- / Produktions-VM läuft noch und die Datenbank darauf funktioniert noch, aber dies ist eindeutig eine Zeitbombe. Der Kunde versucht, die Umgebung auf einer anderen VM auf einem anderen Server neu zu erstellen, steckt aber bei Problemen mit der Konfiguration einiger Komponenten fest. Wir warten also ...
Auf jeden Fall habe ich das Gefühl, dass keine der Antworten mehr war als "Best Practice wird immer ordnungsgemäß beendet". Und ich hoffe auf etwas Konkreteres ... Ich bin auf jeden Fall der Meinung, dass diese Situation etwas sorgfältiger sein könnte Denken. Werden beim Herunterfahren ausstehende E / A-Vorgänge, insbesondere Dateisystem-Metadatenaktualisierungen vom Hypervisor, synchronisiert und möglicherweise größere Dateisystemschäden verursacht?