Was tun, wenn der Inode unter EC2 Linux erschöpft ist?

Es scheint nicht genügend Speicherplatz auf Ihrem System zu sein, um fertig zu werden!

Eines Tages wurde der Dienst des Unternehmens eingestellt, und als ich die Ursache untersuchte, trat der oben genannte Fehler auf und ich konnte keine neue Datei erstellen. Als ich dann den Speicherplatz überprüfte, stellte sich heraus, dass es kein Problem mit dem freien Speicherplatz gab, aber der Inode war erschöpft. Hier ist ein Memorandum zur Behandlung dieses Problems.

inode Freier Speicherplatz prüfen

Überprüfen Sie den freien Speicherplatz von inode mit dem Befehl df -i

/dev/xvda1     217227 217227 217227   100% /

Nach Bestätigung beträgt die Nutzungsrate 100%. Damit kann keine neue Datei erstellt werden und der Dienst wird beendet, wenn das Protokoll geschrieben wird.

Überprüfen Sie das Dateisystem

Überprüfen Sie das Dateisystem mit dem Befehl df -T

/dev/xvda1 ext4 Abkürzung

Diesmal war es ext4. In ext4 kann die Größe der Inode-Tabelle (wahrscheinlich) nicht dynamisch geändert werden. Erstellen Sie daher entweder das Dateisystem neu oder erhöhen Sie die Festplattengröße, und verwenden Sie gleichzeitig die Methode zum Ändern der Größe der Inode-Tabelle. Da die Festplattengröße in EC2 leicht erweitert werden kann, wird die Festplattengröße unter Berücksichtigung der Zukunft erweitert.

Erweiterung der Volumengröße

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  8G  0 disk 
└─xvda1 202:1    0  8G  0 part /

Überprüfen Sie die Volumengröße. Klicken Sie dann im EC2-Dashboard auf die EBS-ID der betreffenden Instanz, um zur Seite EBS-Volume zu gelangen. スクリーンショット 2020-07-10 2.26.59.png

Machen Sie einen Schnappschuss des Zieldatenträgers und ändern Sie den Datenträger. スクリーンショット 2020-07-10 2.31.20.png

Geben Sie hier einen Wert an, der größer als die zuvor bestätigte Datenträgergröße ist, und stellen Sie eine Änderungsanforderung. Diese Änderung kann bis zu 5 Minuten dauern.

Wenn Sie es ändern können, ist es wie folgt.

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  20G  0 disk 
└─xvda1 202:1    0  8G  0 part /

Wenn es sich auch nach einer Weile nicht ändert, wird es durch Neustart der Instanz geändert. Da die Root-Partition jedoch immer noch 8G ist und nicht geändert wurde, erweitern Sie sie mit dem folgenden Befehl.

$ sudo growpart /dev/xvda 1

(`mkdir: cannot create directory '/tmp/growpart.1959': No space left on device Wenn FAILED: Fehler beim Erstellen des temporären Verzeichnisses angezeigt wird, ist kein Speicherplatz vorhanden und die tmp-Datei kann nicht erstellt werden. Bereinigen Sie sie daher vor der Ausführung.)

Erneut überprüfen

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  20G  0 disk 
└─xvda1 202:1    0  20G  0 part /

Dies hat die Größe auf das Maximum erweitert.

Dateisystemerweiterung

Erweitern Sie abschließend das Dateisystem

$ sudo resize2fs /dev/xvda1
$ df -i
/dev/xvda1     1310720 217227 1093493   17% /

Die Inode-Nutzung wurde auf 17% reduziert. Das ist das Ende.

Bonus

$ dpkg --get-selections | grep linux-
linux-base					install
linux-headers-4.4.0-121				install
linux-headers-4.4.0-121-generic			install
linux-headers-4.4.0-124				install
linux-headers-4.4.0-124-generic			install
linux-headers-4.4.0-127				install
linux-headers-4.4.0-127-generic			install
linux-headers-4.4.0-128				install
linux-headers-4.4.0-128-generic			install
linux-headers-4.4.0-130				install
linux-headers-4.4.0-130-generic			install
linux-headers-4.4.0-133				install
linux-headers-4.4.0-133-generic			install
linux-headers-4.4.0-134				install
linux-headers-4.4.0-134-generic			install
linux-headers-4.4.0-137				install
linux-headers-4.4.0-137-generic			install
linux-headers-4.4.0-138				install
linux-headers-4.4.0-138-generic			install
linux-headers-4.4.0-139				install
linux-headers-4.4.0-139-generic			install
linux-headers-4.4.0-151				install
linux-headers-4.4.0-151-generic			install
linux-headers-4.4.0-154				install
linux-headers-4.4.0-154-generic			install
linux-headers-4.4.0-157				install
linux-headers-4.4.0-157-generic			install
linux-headers-4.4.0-159-generic			install
linux-headers-generic				install
linux-headers-virtual				install
linux-image-4.4.0-101-generic			deinstall
linux-image-4.4.0-104-generic			deinstall
linux-image-4.4.0-108-generic			deinstall
linux-image-4.4.0-109-generic			deinstall
linux-image-4.4.0-112-generic			deinstall
linux-image-4.4.0-116-generic			deinstall
linux-image-4.4.0-141-generic			deinstall
linux-image-4.4.0-142-generic			deinstall
linux-image-4.4.0-143-generic			deinstall
linux-image-4.4.0-151-generic			install
linux-image-4.4.0-154-generic			install
linux-image-4.4.0-157-generic			install
linux-image-4.4.0-159-generic			install
linux-image-4.4.0-92-generic			deinstall
linux-image-4.4.0-93-generic			deinstall
linux-image-4.4.0-96-generic			deinstall
linux-image-4.4.0-97-generic			deinstall
linux-image-4.4.0-98-generic			deinstall
linux-image-virtual				install
linux-libc-dev:amd64				install
linux-modules-4.4.0-143-generic			deinstall
linux-modules-4.4.0-151-generic			install
linux-modules-4.4.0-154-generic			install
linux-modules-4.4.0-157-generic			install
linux-modules-4.4.0-159-generic			install
linux-virtual					install

Als ich es überprüfte, waren noch viele alte Kernel übrig. Wenn Sie dies bereinigen, vergrößert sich der Speicherplatz. Wenn also kein Speicherplatz vorhanden ist, sollten Sie dies überprüfen. Entfernen Sie den Kernel, den Sie definitiv nicht verwenden werden

Führen Sie einen Löschtest mit der folgenden Option "--dry-run" durch und löschen Sie, wenn kein Problem vorliegt.

$ apt-get autoremove --purge linux-*-4.4.0-{121,124,127,128,130,133,134,137,138,139}* --dry-run

Damit ist der Vorgang abgeschlossen. Danke für Ihre Unterstützung!

Recommended Posts

Was tun, wenn der Inode unter EC2 Linux erschöpft ist?
Was tun, wenn Sie unter Linux kein WLAN verwenden können?
Was tun, wenn bei Verwendung von ts-node-dev unter Linux der Fehler "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM" angezeigt wird?
Was tun, wenn die Pipenv-Umgebung durch Aktualisierung von Homebrew beschädigt wird?
Was tun, wenn Sie während der Anaconda-Installation unter Linux nicht weiterkommen?
Was tun, wenn die SciPy-Installation unter CentOS fehlschlägt?
Überprüfen Sie, ob das LAN-Kabel unter Linux nicht angeschlossen ist
Was tun, wenn pyenv nicht aktiviert ist (zsh)
Was tun, wenn die japanische Unterstützung unter Ubuntu 16.04 nicht vollständig installiert ist?
Was tun, wenn (Basis) am Anfang des Mac-Terminals angezeigt wird?
Was tun, wenn der Microsoft Store geöffnet wird, auch wenn Sie Python unter Windows ausführen?
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
Was tun, wenn Pythons IntelliSense in VS Code unter Windows nicht angezeigt wird?
Verfahren, die durchgeführt werden müssen, wenn Japanisch nicht in matplotlib angezeigt wird
Was tun, wenn die Paketabhängigkeit nicht repariert werden kann?
[AWS EC2] Einstellungen, die Sie unter Amazon Linux 2 vornehmen möchten
Was tun, wenn `pip install matplot lib` auf dem Mac fehlschlägt?
Was tun, wenn Linux VLC nicht mehr rotieren kann?
Was tun, wenn die Installation von pip mysqlclient unter MacOS fehlschlägt?
Einfache Lösung, wenn Sie Ihr EC2-Schlüsselpaar verlieren
Was tun, wenn Yum kaputt geht?
[* Es wird CentOS 6.10 sein] Was tun, wenn Sie das IUS Community Project-Repository in CentOS 6.5 (VirtualBox) nicht hinzufügen können?
Was tun, wenn das Bild nicht mit matplotlib usw. im Docker-Container angezeigt wird?
Was tun, wenn Modem Manager unter Linux das Schreiben von Keymaps auf Ihre eigene Tastatur stört?
Was tun, wenn Python unter Git für Windows nicht funktioniert?
Was ist, wenn RHEL unter Azure das Dateisystem erweitern muss?
Was tun, wenn "Unbenannt: 0" in_csv-> read_csv von Pandas hinzugefügt wird?
Was tun, wenn PyAudio unter Python 3.7, 3.8, 3.9 unter Windows nicht installiert werden kann?
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
Was tun, wenn Sie eine Binärdatei katzen oder verfolgen und das Terminal verstümmelt ist?
Was tun nach der Installation von Linux (Ubuntu)
Was tun, wenn der Benutzername geändert wird und der Pfad der pyenv-Bibliothek nicht übergeben wird?
Was tun, wenn in python json .dumps eine Dezimalstelle enthalten ist?
Was tun, wenn der Befehl yum das Gebietsschema nicht festlegen kann? Standardmäßig ist C.
Was tun, wenn der Chainer (Windows) -Beispielverzeichnis mit WinError 183 beendet wird?
Was tun, wenn der Server nicht mit dem Runserver python manage.py startet?
Was tun, wenn in der Anaconda-Umgebung die Warnung "Die Umgebung ist konsistent ..." angezeigt wird
Was tun, wenn bei der Installation von CentOS auf VirtualBox die Meldung "Die Sitzung konnte nicht geöffnet werden" angezeigt wird
Was ist Linux?
Was ist Linux?
Was ist Linux?
Was ist Linux?
Was tun, wenn bei der Installation von wxPython unter Mac OS X die Meldung "~ .pkg" beschädigt wird und nicht geöffnet werden kann?
Was tun, wenn die Pipenv-Shell nicht mehr möglich ist?
Was tun, wenn mod_fcgid UnicodeEncodeError nicht auflösen kann?
Was tun, wenn die Schienen nicht funktionieren?
Was tun, wenn pip nicht installiert werden kann?
Es ist ein Mac. Was ist der Linux-Befehl Linux?
Was tun, wenn die Autocomplete-Python von Atom nicht funktioniert?
(Linux-Anfänger) Was ist das Zauberwort aux?
Was tun, wenn die Docker-Synchronisierung plötzlich nicht mehr funktioniert?
Was ist der Unterschied zwischen Unix und Linux?
Lassen Sie uns aktualisiert verschlüsseln! Was tun, wenn der Befehl certbot erneuern nicht funktioniert?