Wie kann ich mit einem ebs-Root-Gerät auf den Instanzspeicher einer Windows EC2-Instanz zugreifen?

8

Ich habe ein AMI erstellt, möchte jedoch den Instanzspeicher für einige wissenschaftliche Programme verwenden, die ich ausführen möchte. Sie lesen im Grunde genommen ein paar Dinge von der Festplatte, schreiben sie wieder auf die Festplatte und fassen diese Ergebnisse dann zusammen. Dies muss unter Windows erfolgen, da dies die Plattform ist, für die diese Programme geschrieben wurden. Ich muss nicht, dass die Dateien bestehen bleiben, und es ist mir egal, ob ich sie verliere. Daher möchte ich den Instanzspeicher dafür verwenden und keine Gebühren für E / A erheben.

Also starte ich mein AMI, aber wenn ich remote bin, sehe ich nur mein EBS-Root-Gerät. Wie kann ich den Instanzspeicher (kurzlebig) bereitstellen, der mir zur Verfügung steht?

oob
quelle
2
Sie müssen entweder die Blockgerätezuordnungen angeben (z. B. -b /dev/xvdb=ephemeral0), indem Sie sie an übergeben ec2-run-instances, oder sie müssen Teil Ihrer AMI sein (dh hinzugefügt mit ec2-register). In der Dokumentation finden Sie Details dazu, wie viel Instanzspeicher verfügbar ist und von welchem ​​Gerät / Mountpoint aus Sie darauf zugreifen können.
Cyberx86
1
@ cyberx86 danke. Block Device Mapping ist der Begriff, den ich brauchte. Jetzt bekomme ich jede Menge Google-Ideen dazu. Ich werde es mir ansehen. Vielen Dank! Ihre Antwort scheint mir eher eine Antwort als ein Kommentar zu sein.
oob
Es ist eine schlechte Angewohnheit von mir, Antworten als Kommentare zu veröffentlichen (Kommentare sind schneller und einfacher zu schreiben und haben keine Strafe dafür, dass sie falsch sind). Obwohl ich häufig EC2 verwende, verwende ich keine Windows-Server - daher der Grund für den Kommentar. Ich habe es jedoch als generische Antwort gepostet.
Cyberx86

Antworten:

8

Während alle Instanzen außer t1.micro eine Zuweisung von 'Instanzspeicher' (dh kurzlebiger Speicher) haben, ist dieser Speicher nicht unbedingt standardmäßig angehängt. In den meisten Fällen sind Instanzen mit einem EBS-Root-Volume null oder ein kurzlebiges Volume zugeordnet.

Die einer Instanz zur Verfügung stehenden kurzlebigen Datenträger sind gekennzeichnet ephemeral[0-3]. Sie können diese nach dem Start NICHT an eine Instanz anhängen. (Auf der anderen Seite können Sie einer Instanz EBS-Volumes hinzufügen, während sie ausgeführt wird.)

Da kurzlebige Festplatten zusammen mit EBS-Volumes Blockgeräte sind, ruft AWS die Zuordnung dieser Festplatten zu den Geräten einer Instanz als "Blockgerätezuordnungen" auf. Diese können entweder mit den Parametern -boder --block-device-mappingangegeben werden (die Sie mehrmals verwenden können).

Um die an die Instanz angehängten kurzlebigen Datenträger zu ändern, müssen Sie entweder:

  1. Starten Sie die Instanz, indem Sie die kurzlebigen Festplattenzuordnungen ODER explizit angeben

    ec2-run-Instanzen ami-xxxxxxxx -b / dev / xvdb = kurzlebig0 -b / dev / xvdc = kurzlebig1 -b / dev / xvdd = kurzlebig2 -b / dev / xvde = kurzlebig3
  2. Registrieren Sie eine neue AMI, indem Sie die kurzlebigen Festplattenzuordnungen (und einen EBS-Stamm) explizit angeben:

    ec2-register -n Bildname -d Bildbeschreibung - Wurzel-Gerätename / dev / xvda1 -b / dev / xvda1 = snap-xxxxxxxx -b / dev / xvdb = kurzlebig0 -b / dev / xvdc = kurzlebig1 -b / dev / xvdd = kurzlebig2 -b / dev / xvde = kurzlebig3

Beachten Sie, dass Sie auf einer Windows-Instanz das Gerät als / dev / xvdX angeben, während Sie es auf Linux-Instanzen als / dev / sdX angeben (obwohl moderne Linux-Kernel dieses Gerät weiterhin als / dev / xvdX mit einem Symlink anzeigen zu / dev / sdX). Darüber hinaus formatieren Windows-Instanzen die Instanzspeicher-Volumes in NTFS (obwohl die Volumes standardmäßig als ext3 formatiert sind).

AWS beschreibt den verfügbaren Instanzspeicher und die Zuordnungen in der Dokumentation .

cyberx86
quelle