Muss ich eine Partition auf einem EBS-Volume erstellen? Was ist besser?

7

Ich füge einem vorhandenen Ubuntu-Server unter AWS EC2 ein neues EBS-Volume hinzu.

Ich habe das Volume erstellt und es ist an den Server angeschlossen. Ich kann es dort sehen. Alles ist in Ordnung.

Was ist der Bonus / die Pflicht, eine Partition auf dem Volume zu erstellen (also verwende ich sie wie "/ dev / xvdf1"), anstatt sie unverändert zu verwenden ("/ dev / xvdf") und das Dateisystem direkt auf dem Volume zu erstellen ?

diegov
quelle

Antworten:

9

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 resize2fsdas 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. DasddDie 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 fdiskoder partederstellen 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 gpartedfü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.

Michael - sqlbot
quelle
0

Heute ist mir das gleiche Problem aufgetreten, als Sie die neue ec2-Intance standardmäßig auf 8 GB eingestellt haben. Sie können die Größe des angehängten EBS ändern, ohne ein neues Intace zu erstellen, einen Snapshot zu erstellen oder das EBS zu trennen. Hier sind die drei Schritte, die Sie ausführen können:

  1. Ändern Sie die Größe des EBS-Volumes
  2. Partitionsgröße ändern
  3. Partitionsgröße ändern Gehen Sie im ersten Schritt zu Ihrer AWS-Konsole, klicken Sie auf EBS, ändern Sie die gewünschte Größe und klicken Sie auf Ändern.

Für den Rest der Schritte folgen Sie bitte diesem Artikel, wenn Sie Fragen haben, können Sie diese gerne stellen.

Vielen Dank!

Narendra Sharma
quelle
Es wird empfohlen, die Antwort in Ihren Beitrag und nicht nur in einen Link einzufügen, falls sich dieser Link in Zukunft ändert. Darf ich Ihnen dazu empfehlen?
FloT