Ich habe die Schritte zum Ändern der Größe eines EC2-Volumes ausgeführt
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
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
/dev/sda1
)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')
Schlagen p um aktuelle Partitionen anzuzeigen
partprobe
(aus dem Paket parted
), um den Kernel über die neue Partitionstabelle zu informieren 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!
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!
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
[Gelöst]
Das musste getan werden
fdisk /dev/xvde
Aus.resize2fs /dev/xvde1
df -h
Das ist es
Viel Glück!
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]
growpart /dev/xvda 1
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.
mit den beiden oben genannten Befehlen konnte ich Zeit für AWS ubuntu ec2-Instanzen sparen.
Haben Sie eine Partition auf diesem Volume erstellt? In diesem Fall müssen Sie zuerst die Partition vergrößern.
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
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!
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.
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
Danke, @Dimitry, es hat wie ein Zauber funktioniert, mit einer kleinen Änderung, die zu meinem Dateisystem passt.
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.