Ubuntu VM "Nur-Lese-Dateisystem" behoben?

9

Ich wollte VMWare-Tools auf einer virtuellen Maschine eines Ubuntu-Servers installieren, stieß jedoch auf das Problem, dass im Verzeichnis / mnt kein CD-ROM-Verzeichnis erstellt werden konnte. Ich habe dann getestet, ob es sich nur um ein Berechtigungsproblem handelt, aber ich konnte nicht einmal einen Ordner im Home-Verzeichnis erstellen. Es wird weiterhin angegeben, dass es sich um ein schreibgeschütztes Dateisystem handelt. Ich weiß ein wenig über Linux und bin noch nicht damit vertraut. Jeder Rat wäre sehr dankbar.

Angeforderte Informationen aus einem Kommentar:

Benutzername @ Servername : ~ $ mount
/ dev / sda1 on / Typ ext4 (rw, Fehler = remount-ro)
proc on / proc Typ proc (rw)
keine on / sys Typ sysfs (rw, noexec, nosuid, nodev)
keine on / sys / fs / fuse / verbindungen typ fusectl (rw)
keine auf / sys / kernel / debug typ debugfs (rw)
keine auf / sys / kernel / sicherheitstyp securityfs (rw)
udev auf / dev typ tmpfs (rw, mode = 0755)
keine auf / dev / pts Typ devpts (rw, noexec, nosuid, gid = 5, mode = 0620)
keine auf / dev / shm Typ tmpfs (rw, nosuid, nodev)
keine auf / var / run Typ tmpfs (rw , nosuid, mode = 0755)
keine auf / var / lock Typ tmpfs (rw, noexec, nosuid, nodev)
keine auf / lib / init / rw Typ tmpfs (rw, nosuid, mode = 0755) binfmt_misc auf / proc / sys / fs / binfmt_misc Typ binfmt_misc (rw, noexec, nosuid, nodev)

Sicher Root-Ausgabe.

root @ server01: ~ # mount
/ dev / sda1 on / type ext4 (rw, fehler = remount-ro)
proc on / proc type proc (rw)
keine on / sys type sysfs (rw, noexec, nosuid, nodev)
keine on / sys / fs / fuse / verbindungen typ fusectl (rw)
keine auf / sys / kernel / debug typ debugfs (rw)
keine auf / sys / kernel / sicherheitstyp securityfs (rw)
udev auf / dev typ tmpfs (rw, mode = 0755)
keine auf / dev / pts Typ devpts (rw, noexec, nosuid, gid = 5, mode = 0620)
keine auf / dev / shm Typ tmpfs (rw, nosuid, nodev)
keine auf / var / run Typ tmpfs (rw , nosuid, mode = 0755)
keine auf / var / lock Typ tmpfs (rw, noexec, nosuid, nodev)
keine auf / lib / init / rw Typ tmpfs (rw, nosuid, mode = 0755) binfmt_misc auf / proc / sys / fs / binfmt_misc Typ binfmt_misc (rw, noexec, nosuid, nodev)

Alt-Text

Alt-Text

David
quelle
1
Können Sie bitte die Ausgabe des Befehls "mount" drucken? (keine Parameter erforderlich)
Pgruetter
Zur Antwort hinzugefügt. Vielen Dank, dass Sie um hilfreiche Informationen gebeten haben.
David
Nur um sicher zu gehen: "sudo mkdir / mnt / cdrom" schlägt fehl, oder?
Janne Pikkarainen
Was mich verwirrt, ist, dass es sich um ein schreibgeschütztes Dateisystem handelt. Die Ausgabe des Befehls gibt "rw" an, das Lese- / Schreibdateisystem. Das Dateisystem selbst sollte also in Ordnung sein. In welchen Ordner möchten Sie schreiben? Können Sie auch die Ausgabe von "ls -la <der_Ordner>" angeben?
Pgruetter
Ich habe unten ein Bild hinzugefügt, das zeigt, was ich bekomme, wenn ich den angeforderten Befehl ausführe. Lassen Sie mich wissen, wenn ich etwas anderes tun muss. :)
David

Antworten:

16

Obwohl dies eine relativ alte Frage ist, ist die Antwort immer noch dieselbe. Sie haben eine virtuelle Maschine (die auf einem physischen Host ausgeführt wird) und eine Art Speicher (entweder gemeinsam genutzter Speicher - ein FC SAN, ein iSCSI-Speicher, eine NFS-Freigabe - oder ein lokaler Speicher).

Bei der Virtualisierung versuchen viele virtuelle Maschinen, gleichzeitig auf dieselben physischen Ressourcen zuzugreifen. Aufgrund physischer Einschränkungen (Anzahl der Lese- / Schreibvorgänge - IOPS; Durchsatz; Latenz) kann es zu Problemen kommen, alle Speicheranforderungen aller physischen Maschinen gleichzeitig zu erfüllen. Was normalerweise passiert: In den Betriebssystemen Ihrer virtuellen Maschinen werden "SCSI-Wiederholungsversuche" und fehlgeschlagene SCSI-Vorgänge angezeigt. Wenn Sie in einem bestimmten Zeitraum zu viele Fehler / Wiederholungsversuche erhalten, setzt der Kernel die bereitgestellten Dateisysteme schreibgeschützt, um Schäden am Dateisystem zu vermeiden.

Um es kurz zu machen: Ihr physischer Speicher ist nicht "leistungsfähig" genug. Es gibt zu viele Prozesse (virtuelle Maschinen), die gleichzeitig auf das Speichersystem zugreifen, Ihre virtuellen Maschinen erhalten die Antwort vom Speicher nicht schnell genug und das Dateisystem ist schreibgeschützt.

Es gibt nicht besonders viele Dinge, die Sie tun können. Die offensichtliche Lösung ist besserer / zusätzlicher Speicher. Sie können auch die Parameter für SCSI-Zeitüberschreitungen im Linux-Kernel ändern. Details sind zB beschrieben in:

http://kb.vmware.com/selfservice/microsites/search.do?language=de_DE&cmd=displayKC&externalId=1009465

http://www.cyberciti.biz/tips/vmware-esx-server-scsi-timeout-for-linux-guest.html

Dies "verschiebt" jedoch nur Ihre Probleme, da der Kernel nur mehr Zeit erhält, bevor das Dateisystem schreibgeschützt wird. (Das heißt, Sie lösen die Ursache des Problems nicht.)

Meine Erfahrung (mehrere Jahre mit VMware) zeigt, dass dieses Problem nur bei Linux-Kerneln (wir verwenden RHEL und SLES) und nicht bei Windows-Servern auftritt. Dieses Problem tritt auch bei allen Arten von Speicher auf - FC, iSCSI, lokaler Speicher. Für uns ist die Speicherung die kritischste (und teuerste) Komponente in unserer virtuellen Infrastruktur. (Wir verwenden jetzt HP LeftHand mit 1-Gbit / s-iSCSI-Verbindungen und hatten seitdem keine Speicherprobleme mehr. Wir haben LeftHand (gegenüber herkömmlichen FC-Lösungen) aufgrund seiner Skalierbarkeit ausgewählt.

Josef
quelle
Beeindruckend! Gute Antwort. Ich habe diese Frage völlig vergessen. Ich habe Ihre Antwort als akzeptiert markiert. Das Rechenzentrum, mit dem ich derzeit zusammenarbeite (das ein großer VMWare-Partner ist), hat kürzlich seinen Speicher auf einen Hitachi Pod aktualisiert. Wir fügen der Umgebung tatsächlich einen weiteren Pod hinzu, um das Laden von IOPs zu erleichtern, da wir anfingen, auf zusätzliche Probleme mit IOPs zu stoßen (wobei betont wurde, dass wir die SAN-Ressourcen aktualisieren oder erweitern mussten). In der Vergangenheit haben wir unsere SAN-Ressourcen wieder erhöht.
David
4

Eine wahrscheinliche Erklärung ist, dass ein Hardwareproblem vorliegt (teilweiser Festplattenfehler) und dass der Kernel das Root-Dateisystem als schreibgeschützt erneut bereitgestellt hat, sobald er das Problem erkannt hat, um das Problem zu minimieren. Eine zuverlässigere Methode zum Überprüfen der aktuellen Mount-Optionen ist cat /proc/mounts( grep ' / ' /proc/mountsignorieren Sie für das Root-Dateisystem eine rootfs / …Zeile, die ein Artefakt des Startvorgangs ist). Sie werden vermutlich feststellen, dass rw,errors=remount-rosich dies geändert hat ro(andere Optionen werden möglicherweise zusätzlich angezeigt).

Die Kernel-Protokolle enthalten wahrscheinlich die Nachricht Remounting filesystem read-only, der Festplattenzugriffsfehler vorangestellt sind. Die Protokolle befinden sich normalerweise in /var/log/kern.log. Wenn sich dies jedoch in einem jetzt schreibgeschützten Dateisystem befindet, wird die Meldung dort nicht angezeigt, obwohl die vorhergehenden Fehler dies sollten. Mit dem dmesgBefehl können Sie auch die neuesten Kernelfehler anzeigen .

Abgesehen davon befindet sich unter Ubuntu der übliche Platz für Mount-Punkte (der von der Desktop-Oberfläche verwendet wird) unter /media(z. B. /media/cdrom0), obwohl Sie ihn verwenden können /mntoder /mnt/cdromwenn Sie möchten.

¹ berichtet von . Wenn das Root-Dateisystem schreibgeschützt ist, kann es nicht auf dem neuesten Stand gehalten werden. mount/etc/mtab/etc/mtab

Gilles 'SO - hör auf böse zu sein'
quelle
Das einzige an schlechter Hardware ist, dass dies eine virtuelle Maschine ist, daher könnte es kein Hardwareproblem sein, da sich Hunderte von virtuellen Maschinen auf den physischen Hosts befinden und meine die einzige mit einem Problem ist. Ich werde die Kernel-Protokolle überprüfen und versuchen, einen Screenshot davon in die Frage aufzunehmen.
David
Wenn Ihre virtuelle Festplatte eine Größenbeschränkung aufweist und diese voll ist, kann Ubuntu nicht wie oben gezeigt schreiben. Sie könnten überprüfen.
CarlF
@David: Die Protokolle zeigen, dass Linux auf ein Hardwareproblem gestoßen ist, nur die Hardware ist virtuell. Ich finde die Hypothese von CarlF sehr plausibel.
Gilles 'SO - hör auf böse zu sein'
3

Vor kurzem gab es im Rechenzentrum einen Stromausfall. Seitdem habe ich meinen Server nicht mehr berührt. Sobald unser Rechenzentrum die Stromversorgung verliert, lässt VSphere das Ubuntu-Dateisystem schreibgeschützt, bis es neu gestartet wird. Ich hätte versucht, neu zu starten, aber ich wollte nicht, dass die gesamte Überwachung verrückt wird. Ich habe Nagios (Überwachungsdienst) zum Schweigen gebracht und nach dem Neustart des Systems funktioniert alles einwandfrei. Vielen Dank für alle Beiträge. Es wird sehr geschätzt.

David
quelle
1

Könnte offensichtlich sein, aber sind Sie "Root" -Benutzer, wenn Sie dies versuchen? / mnt gehört root und kann nur von root geschrieben werden. Sie können auch überprüfen, ob beim Booten Fehler aufgetreten sind. Ihre obige Ausgabe besagt, dass / (und damit / mnt) schreibgeschützt erneut bereitgestellt werden sollte, wenn beim Startvorgang Fehler auftreten. Sie können dies mit dem Befehl mount ändern (dh erneut als r / w bereitstellen), aber ich würde dies nur tun, wenn Sie sicher sind, dass die Ursache des Fehlers nicht schwerwiegend ist.

hotei
quelle
Ich war vielleicht nicht zufällig in einer Wurzel, als ich das tat, aber ich denke, dass die Ausgabe es gleich ist. Die sichere Root-Ausgabe liegt unter der ersten Ausgabe.
David