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.
Ü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 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.
$ 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.
Machen Sie einen Schnappschuss des Zieldatenträgers und ändern Sie den Datenträger.
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.
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.
$ 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!