Wie erhöhe ich die Größe meines EBS-Volumes, wenn ich die Fehlermeldung erhalte, dass auf meinem Dateisystem kein Speicherplatz mehr verfügbar ist?

Lesedauer: 4 Minute
0

Ich möchte die Größe meines Amazon Elastic Block Store (Amazon EBS)-Volumes erhöhen oder verringern. Ich habe jedoch eine Fehlermeldung erhalten, dass auf meinem Dateisystem kein Speicherplatz mehr vorhanden ist.

Kurzbeschreibung

Wenn Sie versuchen, die Root-Partition oder das Root-Dateisystem auf Ihrem EBS-Volume zu erweitern, erhalten Sie möglicherweise die Fehlermeldung Kein Speicherplatz mehr auf dem Gerät. Um diesen Fehler zu vermeiden, verwenden Sie das temporäre Dateisystem (tmpfs), das sich im virtuellen Speicher befindet. Mounten Sie das Dateisystem tmpfs unter dem Mount Point /tmp und erweitern Sie dann die Root-Partition oder das Root-Dateisystem.

Das folgende Beispiel zeigt, dass das Root-EBS-Volume-Blockgerät (/dev/nvme0n1) 9 GiB groß ist und die Root-Partition (Partition 1) bereits 8 GiB groß ist:

$ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0   9G  0 disk
├─nvme0n1p1   259:1    0   8G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part

Wenn Sie versuchen, die Root-Partition (Partition 1) zu vergrößern, erhalten Sie eine der folgenden Fehlerausgaben:

$ sudo growpart /dev/nvme0n1 1/bin/growpart: line 248: /tmp/growpart.fklt5u/dump.out: No space left on device
FAILED: failed to dump sfdisk info for /dev/nvme0n1

-oder-

$ sudo growpart /dev/nvme0n1 1CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
FAILED: failed: sfdisk --list /dev/nvme0n1

Hinweis: Bevor Sie fortfahren, empfiehlt es sich, ein Amazon Machine Image (AMI)-Backup der Instance zu erstellen. Erstellen Sie alternativ einen Snapshot des EBS-Root-Volumes, das an Ihre Instance angehängt ist. Mit einem Backup können Sie Ihre Daten nach unvorhergesehenen Problemen wiederherstellen.

Lösung

  1. Stellen Sie über SSH eine Verbindung zu Ihrer Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instance her.

  2. Verwenden Sie den Befehl df -h, um zu überprüfen, ob die unter**/** gemountete Root-Partition voll ist (100 %). Im folgenden Beispiel verwendet /dev/nvme0n1p1 100 % ihres Speicherplatzes:

    $ df -hFilesystem      Size  Used Avail Use% Mounted on
    devtmpfs        460M     0  475M   0% /dev
    tmpfs           478M     0  492M   0% /dev/shm
    tmpfs           478M  432K  492M   1% /run
    tmpfs           478M     0  492M   0% /sys/fs/cgroup
    /dev/nvme0n1p1  8.0G  8.0G  664K 100% /
    tmpfs            96M     0   99M   0% /run/user/1000

    Führen Sie die folgenden Befehle aus, um Details über Ihre angeschlossenen Blockgeräte und den Root-Mount-Point / zu sammeln:

    $ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   9G  0 disk
    ├─nvme0n1p1   259:1    0   8G  0 part /
    └─nvme0n1p128 259:2    0   1M  0 part
    
    $ lsblk -fNAME          FSTYPE LABEL           UUID                                 MOUNTPOINT
    nvme0n1
    ├─nvme0n1p1   xfs    /               afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 /
    └─nvme0n1p128

    In dieser Beispielausgabe hat das EBS-Root-Volume insgesamt 9 GiB Speicherplatz. Die Root-Partition (/dev/nvme0n1p1) oder Partition 1 ist jedoch nur 8 GiB groß. Der Dateisystemtyp ist XFS.

  3. Um einen Fehler des Typs Kein Speicherplatz mehr auf den Blockgerät zu vermeiden, mounten Sie das temporäre Dateisystem tmpfs an den Mount Point /tmp. Dadurch wird ein 10 M großes tmpfs erstellt, das in /tmp gemountet ist:

    $ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
  4. Um die Root-Partition oder Partition 1 zu vergrößern, führen Sie den Befehl growpart aus. Ersetzen Sie /dev/nvme0n1 durch die Root-Partition:

    $ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
  5. Um zu überprüfen, ob Sie die GiB von Partition 1 auf 9 GiB erweitert haben, führen Sie den Befehl lsblk aus:

    $ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   9G  0 disk
    ├─nvme0n1p1   259:1    0   9G  0 part /
    └─nvme0n1p128 259:2    0   1M  0 part
  6. Erweitern Sie das Dateisystem. Lesen Sie Schritt 3, um das Dateisystem Ihrer Root-Partition / zu überprüfen. Im folgenden Beispiel wird ein Dateisystem vom Typ XFS erweitert:

    $ sudo xfs_growfs -d /data blocks changed from 2096635 to 2358779
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    log      =internal               bsize=4096   blocks=2560, version=2
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
             =                       sunit=0      swidth=0 blks
    data     =                       bsize=4096   blocks=2096635, imaxpct=25
             =                       crc=1        finobt=1 spinodes=0
             =                       sectsz=512   attr=2, projid32bit=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    meta-data=/dev/nvme0n1p1         isize=512    agcount=4, agsize=524159 blks

    Im folgenden Beispiel wird ein EXT2/EXT3/EXT4-Dateisystem auf Partition 1 erweitert:

    $ sudo resize2fs /dev/nvme0n1p1
  7. Nachdem Sie das Dateisystem erweitert haben, überprüfen Sie mit dem Befehl df -h, ob das Betriebssystem den zusätzlichen Speicherplatz sehen kann:

    $ df -hFilesystem      Size  Used Avail Use% Mounted on
    devtmpfs        960M     0  960M   0% /dev
    tmpfs           978M     0  978M   0% /dev/shm
    tmpfs           978M  392K  978M   1% /run
    tmpfs           978M     0  978M   0% /sys/fs/cgroup
    /dev/nvme0n1p1  9.0G  8.0G 1022M  89% /
    tmpfs           196M     0  196M   0% /run/user/1000
    tmpfs            10M     0   10M   0% /tmp
  8. Um das Mounten des Dateisystems tmpfs zu beenden, führen Sie den Befehl unmount aus:

    $ sudo umount /tmp
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten