In EC2 ist es für mich nur dann wirklich sinnvoll, das gesamte Volume für das Dateisystem zu verwenden, da EBS-Volumes (Elastic Block Store), die sich stark von vielen physischen Festplatten unterscheiden, in dem Sinne, dass Sie sie bereitstellen können, flexibel sind sie nach Bedarf zerstören, nach Bedarf zerstören, ohne Neustart an Instanzen anhängen und von diesen trennen sowie Snapshots erstellen und klonen, ohne den Prozessor, den Speicher oder die E / A der Instanz zu verwenden. Und ohne Partitionstabelle ist die Größenänderung, wenn Sie mehr Speicherplatz benötigen, ein Kinderspiel.
Benötigen Sie ein größeres Dateisystem? Wenn Sie das gesamte Volume ohne Partitionstabelle verwenden, ist dies sehr einfach.
Erstellen Sie mithilfe der AWS-Konsole einen EBS-Snapshot des Volumes, wobei das Volume noch bereitgestellt und verwendet wird. Sie werden diesen Schnappschuss nicht wirklich verwenden, aber vertrauen Sie mir für einen Moment. Wenn Sie kürzlich einen Schnappschuss des Volumes erstellt haben und diesen noch haben, können Sie diesen Schritt überspringen, da der Zweck hier darin besteht, den Rest der Schritte schneller zu machen.
Hängen Sie die Lautstärke aus.
Machen Sie einen zweiten Schnappschuss. Dies ist die, die Sie wollen. Wir haben den vorherigen gemacht, weil dadurch dieser Schnappschuss viel schneller wird. Wenn EBS einen Snapshot erstellt, werden die Festplatteninhalte in einem versteckten Repository in S3 gespeichert. Für jeden aufeinanderfolgenden Snapshot desselben Volumes müssen nur die geänderten Blöcke gespeichert werden. Daher wird dieser Snapshot hauptsächlich mit gespeicherten Zeigern auf den Speicherort aller bereits erfassten Daten erstellt, und nur geänderte Blöcke werden physisch gesichert oben.
Erstellen Sie mit dem letzten Snapshot ein neues Volume.
Hängen Sie das neue Volume anstelle des alten an die Instanz an und hängen Sie es ein. Überprüfen Sie die Daten nach Bedarf.
Anschließend können Sie resize2fs
das Dateisystem erweitern, um die verfügbare Größe auf dem neuen Volume zu füllen, während das Volume verwendet wird.
Löschen Sie dann den ersten Schnappschuss oben. EBS "rollt" alles vorwärts, was es enthält, das auch für den endgültigen Snapshot benötigt wird, sodass der endgültige Snapshot weiterhin gültig ist.
Als letzten Schritt möchten Sie möglicherweise die neue Lautstärke mit aufwärmen sudo dd if=/dev/xvdx of=/dev/null bs=1M
. Wenn ein Volume aus einem Snapshot erstellt wird, wird der Inhalt des Volumes "träge" aus dem Snapshot auf das tatsächliche Volume geladen. Dies bedeutet, dass das Volume vollständig verfügbar ist, bevor seine Leistung optimal ist. Wenn Sie etwas von dem Volume anfordern, das noch nicht vom Hintergrundprozess geladen wurde, erhalten Sie es fast sofort, aber nicht so schnell, als hätte der Hintergrundprozess alles geladen. Dasdd
Die obige Operation führt einen physischen Lesevorgang des gesamten Volumes durch, wodurch das Ganze schneller als sonst mit der geringstmöglichen Latenz verfügbar wird. Dies ist als etwas dokumentiert, das mit nicht gemountetem Volume durchgeführt werden sollte, aber ob Sie dies vor oder nach der Größenänderung tun, ist nicht besonders wichtig. Die verschiedenen Varianten des Vorwärmens von EBS-Volumes werden unter http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html beschrieben .
Für mich scheint die Verwendung des gesamten Volumes für das Dateisystem ohne Partitionstabelle der einzige Weg zu sein, da Ausfallzeiten und Fehlerquellen minimiert werden. Alle meine EBS-Bände (und auch die kurzlebigen) werden auf diese Weise erstellt, mit Ausnahme einiger sehr früher.
Sie können die Partitionstabelle natürlich auf die übliche Weise verwenden fdisk
oder parted
erstellen und ändern, aber meiner Meinung nach werden dadurch unnötig zusätzliche "bewegliche Teile" hinzugefügt ... was normalerweise zu mehr Fehlermöglichkeiten führt.
Wenn Sie wissen, wie Sie den X-Server Ihres lokalen Computers zum Laufen bringen und eingehende Verbindungen von der EC2-Instanz akzeptieren, um die GUI-Ausgabe lokal anzuzeigen, können Sie das grafische Tool auch problemlos gparted
für EC2-Instanzen verwenden, wobei die grafische Oberfläche auf Ihrem Computer angezeigt wird Bildschirm der lokalen Workstation - ja, das funktioniert, ich habe es getan - aber es funktioniert nicht im Rahmen dieser Frage, wenn dies funktioniert.