Lösung für das Problem des unzureichenden Speicherressourcenpools des Docker-Servers

Lösung für das Problem des unzureichenden Speicherressourcenpools des Docker-Servers

Systemumgebung:

  • Docker-Version: 19.03.13
  • Betriebssystemversion: CentOS 7.8

1. Problembeschreibung

Als kürzlich der Docker-Befehl „run“ zum Starten des Images ausgeführt wurde, konnte der Docker-Befehl „start image“ nicht normal ausgeführt werden und die folgende Fehlermeldung wurde angezeigt:

Fehler: Fehlerantwort vom Daemon: devmapper: Thin Pool hat 163051 freie Datenblöcke, was weniger ist als die mindestens erforderlichen 163840 freien Datenblöcke. Schaffen Sie mehr freien Speicherplatz im Thin Pool oder verwenden Sie die Option dm.min_free_space, um das Verhalten zu ändern.

2. Problemanalyse

Laut Fehlermeldung liegt das Problem darin, dass der Docker Thin Pool nicht mehr genügend Speicherplatz hat. Sie müssen mehr freien Speicherplatz für den Pool schaffen oder die Option dm.min_free_space verwenden, um die Größe des freien Speicherplatzes des Pools zu ändern.

Mit dem folgenden Befehl können wir die Docker-Informationen auf dem Server anzeigen und die Ressourcennutzung beobachten:

$ Docker-Info

Der angezeigte Inhalt ist wie folgt:

...
Datenspeicherplatz gesamt: 507,4 GB
Verfügbarer Datenspeicherplatz: 100,67 GB
Verwendeter Metadatenspeicherplatz: 100,4 MB
Metadatenspeicherplatz gesamt: 20,147 GB
Verfügbarer Metadatenspeicherplatz: 20,047 GB
Minimaler freier Speicherplatz im Thin Pool: 100,74 GB
Aufgeschobene Entfernung aktiviert: true
Verzögerte Löschung aktiviert: true
Anzahl der verzögert gelöschten Geräte: 0
...

Aus den obigen Informationen können wir ersehen, dass der minimale freie Speicherplatz des Thin Pools 100,74 GB und der verfügbare Datenspeicherplatz 100,67 beträgt. Dies bedeutet, dass der verfügbare Datenspeicherplatz geringer ist als der vom Thin Pool benötigte Mindestspeicherplatz, was dazu führt, dass der Spiegel nicht normal gestartet werden kann.

3. Problemlösung

1. Überprüfen Sie die Docker-Festplattennutzung

Mit dem folgenden Befehl können wir die Festplattennutzung von Docker anzeigen:

$ Docker-System df

TYP GESAMT AKTIV GRÖSSE WIEDERVERWENDBAR
Bilder 500 12 38,31 GB 34,5 GB (90 %)
Container 64 21 157 MB 4,109 MB (2 %)
Lokale Datenträger 37 18 0B 0B
Cache erstellen 0 0  

Insgesamt sind folgende Informationen aufgeführt:

  • TYP: Ressourcentyp;
  • TOTAL: Gesamtzahl der Ressourcen;
  • AKTIV: Die Anzahl der Ressourcen im aktiven Zustand;
  • GRÖSSE: die Größe des von der Ressource genutzten Speicherplatzes;
  • WIEDERHERSTELLBAR: die Größe der wiederherstellbaren Ressourcen;

Die Komponenten sind:

  • Bilder: die Menge an Speicherplatz, die das Bild belegt;
  • Container: Die Menge an Speicherplatz, die der gestartete Container belegt
  • Lokale Volumes: Der von den lokal gemounteten Volumes verwendete Speicherplatz;
  • Build-Cache: Der vom Build-Cache belegte Speicherplatz;

Wenn Sie die Systemnutzung im Detail anzeigen möchten, können Sie den Befehl -v verwenden, um die Speichernutzungsdetails jeder Ressource anzuzeigen.

2. Bereinigungsbefehle für wiederherstellbare Speicherressourcen ausführen

Docker bietet eine Funktion zum Recycling von Speicherressourcen. Der Befehl lautet wie folgt:

Einzelheiten zum Bereinigungsbefehl finden Sie in der offiziellen Docker-Dokumentation: docker system prune.

$ Docker-System beschneiden

Dieser Befehl bereinigt alle ungenutzten Container, Netzwerke, Images (hängende und nicht referenzierte) und Volumes (optional). Warten Sie nach der Ausführung dieses Befehls eine Weile, und nachdem genügend Ressourcen wiederhergestellt wurden, wird das Docker-Image wieder in den Normalzustand zurückversetzt.

Zusammenfassen

Dies ist das Ende dieses Artikels zur Lösung des Problems des unzureichenden Speicherressourcenpools auf dem Docker-Server. Weitere Informationen zur Lösung des Problems des unzureichenden Speicherressourcenpools auf dem Docker-Server finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zum Ändern vorhandener Images durch Docker (Commit)
  • So zeigen Sie Dateien im Docker-Image an
  • Docker Ändern des Docker-Speicherorts Ändern der Größenbeschränkung für Container-Images

<<:  Eine kurze Analyse der MySQL-Kardinalitätsstatistiken

>>:  Detaillierte Erklärung der HTML-Formularelemente (Teil 1)

Artikel empfehlen

Eine kurze Diskussion über die häufig verwendeten APIs der VUE uni-app

Inhaltsverzeichnis 1. Routing und Seitensprung 2....

Diagramm zur Installation von VMware 14 unter Windows 10

Software-Download Link zum Herunterladen der Soft...

Beispiel für die Konfiguration der Timeout-Einstellung für MySQL-Datenbanken

Inhaltsverzeichnis Vorwort 1. JDBC-Timeout-Einste...

Detaillierte Erklärung zu JavaScript Anti-Shake und Throttling

Inhaltsverzeichnis Entprellen Gaspedal Zusammenfa...

Detaillierte Erläuterung des Ausführungsprozesses der MySQL-Update-Anweisung

Es gab bereits einen Artikel über den Ausführungs...

Eine kurze Diskussion über die Sortierabfrage mit angegebener MySQL-Reihenfolge

Vor kurzem habe ich an einem Großbildschirmprojek...

Verwendung des Linux-Befehls bzip2

1. Befehlseinführung bzip2 wird zum Komprimieren ...

Detaillierte Erklärung zur Verwendung der Element-el-button-Button-Komponente

1. Hintergrund Schaltflächen werden sehr häufig v...

MySQL-Reihe von Erfahrungszusammenfassungen und Analyse-Tutorials zu NULL-Werten

Inhaltsverzeichnis 1. Testdaten 2. Die Unannehmli...

Gemeinsame Eigenschaften des Framesets (Unterteilung von Frames und Fenstern)

Ein Frame ist ein Webseitenbildschirm, der in mehr...

Ursachenanalyse und Lösung des E/A-Fehlers beim Löschen einer MySQL-Tabelle

Problemphänomen Ich habe kürzlich Sysbench verwen...

MySQL Router implementiert MySQL Lese-/Schreibtrennung

Inhaltsverzeichnis 1. Einleitung 2. MySQL-Router ...