Erweitern eines Linux-Dateisystems nach Anpassung der Volume-Größe - Amazon Elastic Compute Cloud

Erweitern eines Linux-Dateisystems nach Anpassung der Volume-Größe

Nachdem Sie die Größe eines EBS-Volumes erhöht haben, müssen Sie die dateisystemspezifischen Befehle verwenden, um die Größe des Dateisystems an die erweiterte Größe anzupassen. Sie können die Größe des Dateisystems anpassen, sobald das Volume den Status optimizing erreicht hat.

Wichtig

Bevor Sie ein Dateisystem mit wichtigen Daten ändern, ist eine bewährte Methode das Anlegen eines Snapshots des Volumes, falls Sie Ihre Änderungen rückgängig machen möchten. Weitere Informationen finden Sie unter Erstellen von Amazon EBS-Snapshots. Wenn Ihr Linux-AMI das Partitionierungsschema MBR verwendet, können Sie nur eine Boot-Volume-Größe von max. 2 TiB verwenden. Weitere Informationen erhalten Sie unter Anforderungen für Linux-Volumes und Einschränkungen der Größe und Konfiguration eines EBS-Volumes.

Der Prozess zur Erweiterung eines Dateisystems unter Linux:

  1. Ihr EBS-Volume hat möglicherweise eine Partition, die das Dateisystem und die Daten enthält. Durch die Vergrößerung eines Volumes wird die Größe der Partition nicht erhöht. Bevor Sie das Dateisystem auf einem größenangepassten Volume erweitern, überprüfen Sie, ob das Volume eine Partition hat, die auf die neue Größe des Volumes erweitert werden muss.

  2. Verwenden Sie einen systemspezifischen Befehl, um die Größe jedes Dateisystems an die neue Volume-Kapazität anzupassen.

Weitere Informationen zum Erweitern eines Windows-Dateisystems finden Sie unter Extending a Windows File System after Resizing a Volume im Amazon EC2-Benutzerhandbuch für Windows-Instances.

Die folgenden Beispiele führen Sie durch den Prozess der Erweiterung eines Linux-Dateisystems. Anweisungen für andere Dateisysteme und Partitionierungsschemata als die hier gezeigten finden Sie in der Dokumentation zu diesen Dateisystemen und Partitionierungsschemata.

Anmerkung

Wenn Sie logische Volumes auf dem Amazon EBS-Volume verwenden, müssen Sie Logical Volume Manager (LVM) verwenden, um das logische Volume zu erweitern. Anweisungen hierzu finden Sie unter Extend the logical volume im Knowledge-Center-Artikel How do I create an LVM logical volume on an entire EBS volume? AWS  

Beispiel: Erweitern des Dateisystems von NVMe-EBS-Volumes

Nehmen Sie für dieses Beispiel an, Sie haben eine Instance, die auf dem Nitro-System, aufgebaut ist, z. B. eine M5-Instance. Sie haben die Größe des Boot-Volumes von 8 GB auf 16 GB und ein zusätzliches Volume von 8 GB auf 30 GB geändert. Gehen Sie folgendermaßen vor, um das Dateisystem der veränderten Volumes zu erweitern.

So erweitern Sie das Dateisystem von NVMe-EBS-Volumes

  1. Verbinden Sie sich mit der Instance.

  2. Verwenden Sie den df -hT-Befehl, um das Dateisystem für jedes Volume zu überprüfen.

    [ec2-user ~]$ df -hT

    Das folgende Beispiel zeigt eine Ausgabe für eine Instance, die ein Boot-Volume mit einem XFS-Dateisystem und ein zusätzliches Volume mit einem XFS-Dateisystem hat. Die Benennungskonvention /dev/nvme[0-26]n1 gibt an, dass die Volumes als NVMe-Blockgeräte verfügbar gemacht werden.

    [ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 xfs 8.0G 33M 8.0G 1% /data ...
  3. Um zu überprüfen, ob das Volume eine Partition hat, die erweitert werden muss, verwenden Sie den lsblk-Befehl, um Informationen zu den NVMe-Blockgeräten anzuzeigen, die an Ihre Instance angeschlossen sind.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part

    Diese Beispielausgabe zeigt Folgendes:

    • Das Stamm-Volume /dev/nvme0n1 hat eine Partition /dev/nvme0n1p1. Während die Größe des Stamm-Volumes die neue Größe von 16 GB wiedergibt, gibt die Größe der Partition die Originalgröße von 8 GB wieder. Sie muss erweitert werden, bevor Sie das Dateisystem erweitern können.

    • Das Volume /dev/nvme1n1 hat keine Partitionen. Die Größe des Volumes gibt die neue Größe von 30 GB wieder.

  4. Verwenden Sie für Volumes mit einer Partition, z. B. das im vorherigen Schritt gezeigte Root-Volume, den Befehl growpart, um die Partition zu erweitern. Beachten Sie, dass zwischen dem Gerätenamen und der Partitionsnummer ein Leerzeichen ist.

    [ec2-user ~]$ sudo growpart /dev/nvme0n1 1
  5. (Optional) Sie können überprüfen, ob die Partition die erhöhte Volume-Größe wiedergibt, indem Sie den lsblk-Befehl erneut verwenden.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
  6. Verwenden Sie den Befehl df -h, um die Größe des Dateisystems für jedes Volume zu überprüfen. In dieser Beispielausgabe spiegeln beide Dateisysteme die ursprüngliche Volume-Größe (8 GB) wider.

    [ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 8.0G 33M 8.0G 1% /data ...
  7. Um das Dateisystem auf jedem Volume zu erweitern, verwenden Sie den richtigen Befehl für Ihr Dateisystem wie folgt:

    • [XFS-Dateisystem] Verwenden Sie den xfs_growfs-Befehl, um das XFS-Dateisystem auf jedem Volume zu erweitern. In diesem Beispiel sind / und /data die Mounting-Punkte für Volumes, die in der Ausgabe für df -h angezeigt werden.

      [ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data

      Wenn die XFS-Tools nicht bereits installiert sind, können Sie sie folgendermaßen installieren.

      [ec2-user ~]$ sudo yum install xfsprogs
    • [ext4-Dateisystem] Verwenden Sie den resize2fs-Befehl, um das Dateisystem auf jedem Volume zu erweitern.

      [ec2-user ~]$ sudo resize2fs /dev/nvme0n1p1 [ec2-user ~]$ sudo resize2fs /dev/nvme1n1
    • [Anderes Dateisystem] Um das Dateisystem auf jedem Volume zu erweitern, finden Sie Anweisungen in der Dokumentation für Ihr Dateisystem.

  8. (Optional) Sie können überprüfen, ob das jeweilige Dateisystem die erhöhte Volume-Größe wiedergibt, indem Sie den df -h-Befehl erneut verwenden.

    [ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 16G 1.6G 15G 10% / /dev/nvme1n1 30G 33M 30G 1% /data ...

Beispiel: Erweitern Sie das Dateisystem von EBS-Volumes

Nehmen Sie für die folgenden Aufgaben beispielsweise an, dass Sie die Größe des Boot-Volumes einer Instance, z. B. einer T2-Instance, von 8 GB auf 16 GB und eines zusätzlichen Volumes von 8 GB auf 30 GB erhöht haben. Gehen Sie folgendermaßen vor, um das Dateisystem der veränderten Volumes zu erweitern.

So erweitern Sie das Dateisystem von EBS-Volumes

  1. Verbinden Sie sich mit der Instance.

  2. Verwenden Sie den df -hT-Befehl, um das für das jeweilige Volume verwendete Dateisystem zu überprüfen.

    [ec2-user ~]$ df -hT

    Das folgende Beispiel zeigt eine Instance, die ein Boot-Volume mit einem ext4-Dateisystem und ein zusätzliches Volume mit einem XFS-Dateisystem hat.

    [ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 8.0G 1.9G 6.2G 24% / /dev/xvdf1 xfs 8.0G 45M 8.0G 1% /data ...
  3. Um zu überprüfen, ob das Volume eine Partition hat, die erweitert werden muss, verwenden Sie den lsblk-Befehl, um Informationen zu den Blockgeräten anzuzeigen, die an Ihre Instance angeschlossen sind.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 8G 0 part /data

    Diese Beispielausgabe zeigt Folgendes:

    • Das Stamm-Volume /dev/xvda hat eine Partition /dev/xvda1. Während die Größe des Volumes 16 GB beträgt, ist die Größe der Partition immer noch 8 GB, weswegen sie erweitert werden muss.

    • Das Volume /dev/xvdf hat eine Partition /dev/xvdf1. Während die Größe des Volumes 30 GB beträgt, ist die Größe der Partition immer noch 8 GB, weswegen sie erweitert werden muss.

  4. Verwenden Sie für Volumes, die eine Partition haben, z. B. die im vorherigen Schritt gezeigten Volumes, den Befehl growpart, um die Partition zu erweitern. Beachten Sie, dass zwischen dem Gerätenamen und der Partitionsnummer ein Leerzeichen ist.

    [ec2-user ~]$ sudo growpart /dev/xvda 1 [ec2-user ~]$ sudo growpart /dev/xvdf 1
  5. (Optional) Sie können überprüfen, ob die Partitionen die erhöhte Volume-Größe wiedergeben, indem Sie den lsblk-Befehl erneut verwenden.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 30G 0 part /data
  6. Verwenden Sie den Befehl df -h, um die Größe des Dateisystems für jedes Volume zu überprüfen. In dieser Beispielausgabe spiegeln beide Dateisysteme die ursprüngliche Volume-Größe (8 GB) wider.

    [ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 1.9G 6.2G 24% / /dev/xvdf1 8.0G 45M 8.0G 1% /data ...
  7. Um das Dateisystem auf jedem Volume zu erweitern, verwenden Sie den richtigen Befehl für Ihr Dateisystem wie folgt:

    • [XFS-Volumes] Verwenden Sie den xfs_growfs-Befehl, um das Dateisystem auf jedem Volume zu erweitern. In diesem Beispiel sind / und /data die Mounting-Punkte für Volumes, die in der Ausgabe für df -h angezeigt werden.

      [ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data

      Wenn die XFS-Tools nicht bereits installiert sind, können Sie sie folgendermaßen installieren.

      [ec2-user ~]$ sudo yum install xfsprogs
    • [ext4-Volumes] Verwenden Sie den resize2fs-Befehl, um das Dateisystem auf jedem Volume zu erweitern.

      [ec2-user ~]$ sudo resize2fs /dev/xvda1 [ec2-user ~]$ sudo resize2fs /dev/xvdf1
    • [Anderes Dateisystem] Um das Dateisystem auf jedem Volume zu erweitern, finden Sie Anweisungen in der Dokumentation für Ihr Dateisystem.

  8. (Optional) Sie können überprüfen, ob das jeweilige Dateisystem die erhöhte Volume-Größe wiedergibt, indem Sie den df -h-Befehl erneut verwenden.

    [ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 16G 1.9G 14G 12% / /dev/xvdf1 30G 45M 30G 1% /data ...