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

Liste der HTML-Tags und Hinweise zur Verwendung

Liste der HTML-Tags markieren Typ Name oder Bedeu...

So ändern Sie schnell das Hostattribut eines MySQL-Benutzers

Wenn Sie sich remote bei MySQL anmelden, gelten f...

So erstellen Sie mit Docker ein Basisimage der Python-Laufzeitumgebung

1. Vorbereitung 1.1 Laden Sie das Python-Installa...

Lösung zur Deinstallation von Python und Yum im CentOs-System

Hintergrund des Unfalls: Vor einigen Tagen habe i...

MySQL REVOKE zum Löschen von Benutzerberechtigungen

In MySQL können Sie mit der REVOKE-Anweisung best...

So installieren und konfigurieren Sie Docker nginx

Laden Sie das Nginx-Image in Docker herunter Dock...

Detaillierte Erläuterung der Mysql-Funktionsaufrufoptimierung

Inhaltsverzeichnis Funktionsaufrufoptimierung Fun...

Prototyp und Prototypenkette Prototyp und Protodetails

Inhaltsverzeichnis 1. Prototyp 2. Prototypenkette...

Tipps zum Listenaufbau für Website-Wartungsseiten

Und oft ist es für Wartungsarbeiten erforderlich, ...

jQuery erzielt Ein- und Ausblendeffekte

Bevor wir jQuery verwenden, um den Ein- und Ausbl...

Implementierung der Webpack-Codefragmentierung

Inhaltsverzeichnis Hintergrund CommonsChunkPlugin...

So deinstallieren Sie MySQL 5.7 unter CentOS7

Überprüfen Sie, was in MySQL installiert ist grep...