wake-up-neo.com

EC2 Lautstärke kann nach Vergrößerung nicht verändert werden

Ich habe die Schritte zum Ändern der Größe eines EC2-Volumes ausgeführt

  1. Instanz gestoppt
  2. Machte einen Schnappschuss der aktuellen Lautstärke
  3. Erstellt aus dem vorherigen Snapshot ein neues Volume mit einer größeren Größe in derselben Region
  4. Hängte das alte Volume von der Instanz ab
  5. Hängte das neue Volume an derselben Stelle an die Instanz an

Das alte Volume war 5 GB groß und das von mir erstellte ist 100 GB groß. Wenn ich nun die Instanz neu starte und df -h I sehe das immer noch

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvde1            4.7G  3.5G 1021M  78% /
tmpfs                 296M     0  296M   0% /dev/shm

Das bekomme ich beim Laufen

Sudo resize2fs /dev/xvde1

The filesystem is already 1247037 blocks long.  Nothing to do!

Wenn ich cat /proc/partitions Aha

 202       64  104857600 xvde
 202       65    4988151 xvde1
 202       66     249007 xvde2

Nach dem, was ich verstehe, wenn ich die richtigen Schritte befolgt habe, sollte xvde die gleichen Daten wie xvde1 haben, aber ich weiß nicht, wie ich es verwenden soll

Wie kann ich stattdessen das neue Volume oder umount xvde1 und mount xvde verwenden?

Ich kann nicht verstehen, was ich falsch mache

Ich habe auch versucht Sudo ifs_growfs /dev/xvde1

xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem

Übrigens eine Linux-Box mit Centos 6.2 x86_64

Vielen Dank im Voraus für Ihre Hilfe

82

Vielen Dank, Wilman. Ihre Befehle haben ordnungsgemäß funktioniert. Eine kleine Verbesserung muss in Betracht gezogen werden, wenn wir EBSs in größere Größen umwandeln

  1. Stoppen Sie die Instanz
  2. Erstellen Sie einen Schnappschuss vom Volume
  3. Erstellen Sie ein neues Volume, indem Sie den Snapshot vergrößern
  4. Überprüfen Sie den Volume-Mount-Punkt des aktuellen Volumes (d. H. /dev/sda1)
  5. Aktuelle Lautstärke trennen
  6. Hängen Sie das kürzlich erstellte Volume an die Instanz an, und legen Sie den genauen Einhängepunkt fest
  7. Starten Sie die Instanz neu
  8. Greifen Sie über SSH auf die Instanz zu und führen Sie fdisk /dev/xvde

    ACHTUNG: DOS-kompatibler Modus ist veraltet. Es wird dringend empfohlen, den Modus auszuschalten (Befehl 'c') und die Anzeigeeinheiten in Sektoren zu ändern (Befehl 'u')

  9. Schlagen p um aktuelle Partitionen anzuzeigen

  10. Schlagen d um aktuelle Partitionen zu löschen (wenn es mehr als eine gibt, müssen Sie jeweils eine löschen) HINWEIS: Sorgen Sie sich nicht, dass keine Daten verloren gehen
  11. Schlagen n um eine neue Partition zu erstellen
  12. Schlagen p um es als primär festzulegen
  13. Schlagen 1 den ersten Zylinder einstellen
  14. Stellen Sie den gewünschten neuen Platz ein (wenn leer, ist der gesamte Platz reserviert)
  15. Schlagen a um es bootfähig zu machen
  16. Schlagen 1 und w Änderungen zu schreiben
  17. Starten Sie die Instanz neu OR verwenden Sie partprobe (aus dem Paket parted), um den Kernel über die neue Partitionstabelle zu informieren
  18. Melden Sie sich über SSH an und führen Sie resize2fs/dev/xvde1 aus
  19. Überprüfen Sie abschließend den neuen Speicherplatz, auf dem df -h ausgeführt wird
66
dcf

Es ist nicht mehr erforderlich, die Instanz zu stoppen und das EBS-Volume zu trennen, um die Größe zu ändern!

13.02.2017 Amazon gab bekannt: " Amazon EBS Update - Neue elastische Volumes ändern alles "

Der Prozess funktioniert auch dann, wenn das zu erweiternde Volume das Root-Volume der ausgeführten Instanz ist!





enter image description here

enter image description here

enter image description here




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

Wie Sie sehen, ist/dev/xvda1 immer noch 8 GiB Partition auf einem 16 GiB Gerät und es gibt keine anderen Partitionen auf dem Volume. Lassen Sie uns "growpart" verwenden "um die Größe der 8G-Partition auf 16G zu ändern:

# install "cloud-guest-utils" if it is not installed already
apt install cloud-guest-utils

# resize partition
growpart /dev/xvda 1

Lassen Sie uns das Ergebnis überprüfen (Sie können sehen, dass/dev/xvda1 jetzt 16G ist):

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

Viele SO) Antworten schlagen vor, fdisk mit delete/recreate-Partitionen zu verwenden. Dies ist ein unangenehmer, riskanter und fehleranfälliger Prozess, insbesondere, wenn wir das Boot-Laufwerk wechseln.


# Check before resizing ("Avail" shows 1.1G):
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  6.3G  1.1G  86% /

# resize filesystem
resize2fs /dev/xvda1

# Check after resizing ("Avail" now shows 8.7G!-):
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       16G  6.3G  8.7G  42% /

So haben wir keine Ausfallzeiten und viel neuen Platz zur Verfügung.
Genießen!

248

Präfekt Kommentar von jperelli oben.

Ich stand heute vor dem gleichen Problem. In der AWS-Dokumentation wird growpart nicht klar erwähnt. Ich habe es auf die harte Tour gebracht und die beiden Befehle funktionierten auf M4.large und M4.xlarge mit Ubuntu perfekt

Sudo growpart /dev/xvda 1
Sudo resize2fs /dev/xvda1
32
Sachin Shintre

[Gelöst]

Das musste getan werden

  1. Stoppen Sie die Instanz
  2. Erstellen Sie einen Schnappschuss vom Volume
  3. Erstellen Sie ein neues Volume, indem Sie den Snapshot vergrößern
  4. Überprüfen und merken Sie sich den Volume-Mount-Punkt des aktuellen Volumes (d. H./Dev/sda1).
  5. Aktuelle Lautstärke trennen
  6. Hängen Sie das kürzlich erstellte Volume an die Instanz an, und legen Sie den genauen Einhängepunkt fest
  7. Starten Sie die Instanz neu
  8. Greifen Sie über SSH auf die Instanz zu und führen Sie fdisk /dev/xvde Aus.
  9. Schlagen p um aktuelle Partitionen anzuzeigen
  10. Schlagen d um aktuelle Partitionen zu löschen (wenn es mehr als eine gibt, müssen Sie jeweils eine löschen) HINWEIS: Sorgen Sie sich nicht, dass keine Daten verloren gehen
  11. Schlagen n um eine neue Partition zu erstellen
  12. Schlagen p um es als primär festzulegen
  13. Schlagen 1 den ersten Zylinder einstellen
  14. Stellen Sie den gewünschten neuen Platz ein (falls leer, ist der gesamte Platz reserviert)
  15. Schlagen a um es bootfähig zu machen
  16. Schlagen 1 und w Änderungen zu schreiben
  17. Instanz neu starten
  18. Logge dich über SSH ein und starte resize2fs /dev/xvde1
  19. Überprüfen Sie abschließend den neuen Speicherplatz, der ausgeführt wird df -h

Das ist es

Viel Glück!

15
  1. melden Sie sich bei der AWS-Webkonsole an -> EBS -> klicken Sie mit der rechten Maustaste auf das Feld, dessen Größe Sie ändern möchten -> "Volume ändern" -> ändern Sie das Feld "Größe" und klicken Sie auf die Schaltfläche [Ändern]

  2. growpart /dev/xvda 1

  3. resize2fs /dev/xvda1

Dies ist eine aktuelle Version der Antwort von Dmitry Shevkoplyas. In der AWS-Dokumentation wird der Befehl growpart nicht angezeigt. Dies funktioniert in Ordnung für Ubuntu AMI.

6
jperelli
  1. Sudo growpart/dev/xvda 1
  2. Sudo resize2fs/dev/xvda1

mit den beiden oben genannten Befehlen konnte ich Zeit für AWS ubuntu ec2-Instanzen sparen.

6
HD298

Haben Sie eine Partition auf diesem Volume erstellt? In diesem Fall müssen Sie zuerst die Partition vergrößern.

2
chantheman

Dies funktioniert für das xfs-Dateisystem. Führen Sie einfach diesen Befehl aus

xfs_growfs /

Nur für den Fall, wenn jemand hier für GCP Google Cloud-Plattform ist,
Versuche dies:

Sudo growpart /dev/sdb 1
Sudo resize2fs /dev/sdb1
2
yunus

Das bootfähige Flag (a) hat in meinem Fall nicht funktioniert (EC2, centos6.5), daher musste ich das Volume aus dem Snapshot neu erstellen. Nachdem alle Schritte mit Ausnahme des bootfähigen Flags wiederholt wurden, funktionierte alles einwandfrei, so dass ich in der Lage war, die Größe von 2Fs danach zu ändern. Vielen Dank!

1
sandr

Ich habe nicht genug Repräsentanten, um oben zu kommentieren. Beachten Sie jedoch gemäß den obigen Kommentaren, dass Sie Ihre Instanz beschädigen können, wenn Sie bei 1 beginnen. Wenn Sie nach dem Start von fdisk 'u' drücken, bevor Sie Ihre Partitionen mit 'p' auflisten, erhalten Sie die richtige Startnummer, damit Sie Ihre Volumes nicht beschädigen. Für Centos 6.5 AMI war auch wie oben erwähnt 2048 für mich richtig.

0
Reece

Für den Fall, dass jemand das Problem hatte, bei dem er auf dieses Problem mit 100% iger Auslastung stieß, und keinen Platz mehr hatte, um den Befehl growpart auszuführen (da eine Datei in/tmp erstellt wird).

Hier ist ein Befehl, den ich gefunden habe, der umgeht, auch wenn das EBS-Volume verwendet wird, und auch wenn auf Ihrem ec2 kein Platz mehr vorhanden ist und Sie sich bei 100% befinden.

/sbin/parted ---pretend-input-tty /dev/xvda resizepart 1 yes 100%

sehen Sie diese Seite hier:

https://www.elastic.co/blog/autoresize-ebs-root-volume-on-aws-amis

0
CodeJunkie

Danke, @Dimitry, es hat wie ein Zauber funktioniert, mit einer kleinen Änderung, die zu meinem Dateisystem passt.

quelle: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux

Verwenden Sie dann den folgenden Befehl, um den Mount-Punkt des Dateisystems zu ersetzen (XFS-Dateisysteme müssen gemountet werden, um ihre Größe zu ändern):

[ec2-user ~]$ Sudo xfs_growfs -d /mnt
meta-data=/dev/xvdf              isize=256    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
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 262144 to 26214400

Hinweis Wenn Sie eine fehlgeschlagene xfsctl erhalten: Speicherfehler kann nicht zugeordnet werden, müssen Sie möglicherweise den Linux-Kernel auf Ihrer Instanz aktualisieren. Weitere Informationen finden Sie in der Dokumentation zu Ihrem Betriebssystem. Wenn Sie eine erhalten Das Dateisystem ist bereits nnnnnnn Blöcke lang. Nichts zu tun! Fehler, siehe Erweitern einer Linux-Partition.

0
user2125117