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

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

FTP-Remoteverbindung zu Linux über SSH

Installieren Sie zunächst SSH in Linux. Nehmen Si...

vue+element-ui implementiert die Kopfnavigationsleistenkomponente

In diesem Artikel wird der spezifische Code von v...

Detaillierte Analyse von Absturzfällen bei MySQL-Instanzen

[Problembeschreibung] Unsere Produktionsumgebung ...

Beispiel zum Einbetten von H5 in die Webansicht des WeChat-Applets

Vorwort WeChat-Miniprogramme bieten neue offene F...

Index in MySQL

Vorwort Kommen wir gleich zur Sache. Die folgende...

Bedeutung der Hintergrundfarbdeklaration beim Schreiben von Stilen

Wie der Titel schon sagt, kann andernfalls bei ein...

Eine Frage zum Verständnis mehrerer Parameter des Sortierbefehls in Linux

Der Sortierbefehl wird sehr häufig verwendet, ver...

Lösung für den Fehler beim Importieren von MySQL Big Data in Navicat

Die von Navicat exportierten Daten können nicht i...