Aus irgendeinem Grund musst du deinen EC2 Linux-Server ohne Neustart und sicher erweitern. In diesem Beitrag erfahrst du, wie du deine EC2 Linux-Festplatte auf AWS erweitern kannst.

In diesem Beispiel siehst du die Erweiterung der Festplattengrosse von 80GiB auf 120GiB.

Schritt 1: Volume andern


Melde dich bei deiner AWS-Konsole an und finde das Volume (die Festplatte) deiner EC2-Instanz. Hier ist der Tipp: Im linken Bereich gibt es Elastic Block Store > Volumes. Klicke mit der rechten Maustaste auf dein Volume und wahle dann die Option "Volume andern". Es sieht aus wie das Bild unten. Wahle deine richtige Grosse und klicke auf die Schaltflache Andern.


Schritt 2: Festplattengrosse prufen

Zuerst solltest du root oder sudo auf dem Server sein, bevor du die Befehle ausfuhrst. Als Erstes werden wir die Festplattengrosse prufen, sie sollte die Grosse vor der Anderung des Volumes anzeigen. In diesem Beispiel sollte es also 80 GiB sein.

[root@server ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  416K  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/nvme0n1p1   80G   51G   30G  64% /
tmpfs           1.6G     0  1.6G   0% /run/user/0

Ja, es zeigt, dass die gesamte Festplattengrosse 80 GiB betragt, das stimmt. Jetzt uberprufen wir die Liste der Blockgerate. Die Befehlsausgabe sollte die neue Festplattengrosse auf dem Gerat /dev/nvme0n1 zeigen.

[root@server ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0  120G  0 disk
├─nvme0n1p1   259:1    0   80G  0 part /
└─nvme0n1p128 259:2    0    1M  0 part

Ja! Es zeigt, dass nvme0n1p1 80GiB ist, aber nvme0n1 120GiB ist. Das bedeutet, wir konnen unsere nvme0n1p1-Partition von 80GiB auf 120GiB erweitern.

Schritt 3: Lass uns erweitern

Hier ist die Magie;

[root@server ~]# growpart /dev/nvme0n1 1
CHANGED: partition=1 start=4096 old: size=167768031 end=167772127 new: size=251654111 end=251658207

Der growpart-Befehl hat gerade unsere Festplattenpartition erweitert, er speichert noch nicht und jetzt haben wir immer noch keine 120GiB-Festplatte. Wir mussen die Anderung jetzt sofort im Dateisystem speichern.

[root@server ~]# xfs_growfs /
meta-data=/dev/nvme0n1p1         isize=512    agcount=41, agsize=524159 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0
data     =                       bsize=4096   blocks=20971003, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 20971003 to 31456763

Schritt 4: Festplattengrosse erneut prufen

Zeit, deine neue Festplattengrosse zu bestatigen. Hier sind die Befehle erneut zur Uberprufung.

[root@server ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  412K  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/nvme0n1p1  120G   51G   70G  42% /
tmpfs           1.6G     0  1.6G   0% /run/user/0

[root@server ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 120G 0 disk ├─nvme0n1p1 259:1 0 120G 0 part / └─nvme0n1p128 259:2 0 1M 0 part

Gluckwunsch! Du hast erfolgreich deinen AWS EC2 Linux-Server ohne Neustart und/oder Datenverlust auf dem EBS (Elastic Block Storage) erweitert.