Ich habe einen Server, auf dem die neuesten Ubuntu-AMIs von Canonical ausgeführt werden. Die Größe des EBS-Startvolumes beträgt 8 GB. Ich weiß, dass ich die Größe von EBS-Volumes ändern kann, indem ich einen Snapshot mache, ein neues Volume erstelle und die Partition darauf erweitere. Wie kann ich das Volume bei laufendem Computer vergrößern? Wenn dies nicht möglich ist, welche Methode wird bevorzugt, um das Startvolumen bei minimalen Ausfallzeiten zu erhöhen?
72
Antworten:
Leider ist es nicht möglich, die Größe eines Amazon EBS- Root-Gerätespeichervolumens zu erhöhen, während die Amazon EC2- Instanz ausgeführt wird. Eric Hammond hat einen ausführlichen Artikel über die Größenänderung der Root-Festplatte geschrieben auf einer laufenden EBS Boot EC2-Instanz :
Wenn Sie die von ihm beschriebenen Schritte richtig vorbereiten (ich empfehle dringend, sie zuerst mit einer wegwerfbaren EC2-Instanz zu testen, um sich mit dem Verfahren vertraut zu machen), sollten Sie in der Lage sein, den Vorgang nur mit einigen Minuten Ausfallzeit abzuschließen.
Viel Glück!
quelle
Wir können die Volume-Größe mit den neuen EBS Feature Elastic-Volumes erhöhen. Nachdem Sie die folgenden Schritte ausgeführt haben, müssen Sie die folgenden Schritte ausführen
Angenommen, Ihr Volumen war 16 GB und Sie haben es auf 32 GB erhöht.
Um xvda1 von 16 GB auf 32 GB zu erweitern, benötigen wir growpart. Growpart ist als Teil von Cloudutils erhältlich
Führen Sie nach der Installation der Cloud-Utils den Befehl growpart aus
Jetzt wird lsblk zeigen
aber df -h zeigt nur 16GB
Der letzte Befehl zum Erweitern von xvda1 auf 32 GB lautet
Im Falle eines XFS-Dateisystems
sudo xfs_growfs /dev/xvda1
Danke Eiquelle
sudo xfs_growfs /dev/xvdal
anstelle von lautenresize2fs
.Eine späte Antwort auf diese 5-jährige Frage
AWS hat gerade eine neue EBS-Funktion namens Elastic Volumes angekündigt , mit der Sie die Volume-Größe erhöhen, die Leistung anpassen oder den Volume-Typ ändern können, während das Volume verwendet wird.
Weitere Informationen finden Sie im AWS-Blog hier .
quelle
aws ec2 modify-volume --region us-west-2 --volume-id vol-0123456789 --size 20
und bekam diesen Fehler:An error occurred (InvalidParameterValue) when calling the ModifyVolume operation: Volume type EBS Magnetic is not supported.
Sie müssen nur zuerst den Snapshot erstellen und aus diesem Snapshot ein anderes Volume erstellen. Sobald das neue Volume fertig ist, trennen Sie das alte Volume von der Instanz und hängen Sie das neue Volume an. Stellen Sie sicher, dass Sie die Instanz stoppen, bevor Sie diesen Prozess starten, und starten Sie die Instanz neu, sobald sie abgeschlossen ist.
Siehe http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html
quelle
Dies funktioniert für das xfs-Dateisystem. Führen Sie einfach diesen Befehl aus
xfs_growfs /
quelle
Ich habe festgestellt, dass ich beim Versuch, die Root-Partition / dev / sda1 zu erhöhen, die auf centos6 als / dev / xvda1 gemeldet wurde, das Volume nicht aushängen konnte, um die Partition zu erweitern.
Ich habe dies umgangen, indem ich mein ursprüngliches Volume als / dev / sda1 und meinen Snapshot als / dev / sdb gemountet habe. Ich habe dann das Image neu gestartet und die Größe der Partition / dev / sdb1 mithilfe von parted geändert.
Nachdem die Größe der Partition / dev / sdb1 geändert wurde, habe ich beide Volumes getrennt und das neue Volume erneut an / dev / sda1 angehängt und resize2fs / dev / xvda1 ausgeführt.
quelle
Du kannst das nicht machen. Wenn Sie sich jedoch mehr auf Ausfallzeiten als auf Kosten konzentrieren, können Sie möglicherweise Ihre Hauptinstanz klonen, ein größeres EBS-Speichergerät auf Ihrem System bereitstellen, die Daten kopieren und dann den Datenverkehr auf Ihre neue Instanz umleiten.
Wenn Sie möchten, verfügt eine Methode, die ich in letzter Zeit mit S3 verwende, über ein Medium zur Sicherung und Bereitstellung auf anderen Systemen. So läuft beispielsweise Ihr vorhandenes System. Legen Sie ein Skript fest, um Ihre Daten alle N Minuten / Stunden / Tage auf s3 hochzuladen. Schreiben Sie dann ein Skript, das beim Starten neuer Instanzen zum Herunterladen dieser Daten verwendet werden soll. Wenn Ihre Daten nicht ständig aktualisiert werden, sollte dies gut funktionieren (für mich verwende ich dies, um die aktualisierte Version meiner Codebasis zu verteilen, während die Daten selbst auf einem ec2-Datenbankserver verwaltet werden).
Hoffentlich hilft das.
quelle