Wie finde ich heraus, welcher Teil meines ec2-Speichers kurzlebig ist?


10

Dies kann eine dumme Frage sein, entschuldigen Sie meine Unwissenheit.

Ich habe eine Instanz wie folgt: AWs Konsole

Bedeutet Root Device: EBS, dass mein gesamtes System auf EBS läuft?

Ich habe hier Apache und eine Perl-App konfiguriert. Alle meine Konfigurationen und Dateien werden nicht entfernt, oder?

Woher weiß ich, was auf kurzlebigem Speicher ausgeführt wird und was auf EBS ausgeführt wird? Wenn ich in der Verwaltungskonsole auf die Instanz klicke und mir die Details unten ansehe, heißt es: EBS Optimized: falseWas genau bedeutet das?

So sieht mein Speicher aus:

[ec2-user@<MY_IP> ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  1.7G  6.2G  22% /
tmpfs                 298M     0  298M   0% /dev/shm

[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

2
Die t1.micro-Instanz hat keinen kurzlebigen Speicher, nur m1.small oder höher.
Nummer 5

Ah schön. Wusste das nicht. Kein Wunder, dass ich keine Optionen sehe.
Gideon

Antworten:


4

Root-Gerät ist Ihr '/'. In diesem Fall ist es / dev / xvda1 und es ist ein EBS-Laufwerk.

Vergängliche Geräte sind (wie ich weiß):

  • sdb (xvdb)
  • sdc (xvdc)
  • sdd (xvdd)
  • sde (xvde)

Sie können jederzeit überprüfen, welche Geräte EBS-Laufwerke sind, indem Sie die AWS-Benutzeroberfläche verwenden: EC2 -> Instanzen -> [wählen Sie Ihre] -> Geräte blockieren


Genial. Thanks :) Was alle sysfs1, devptund was nicht.
Gideon

1
tmpfs ähnelt ramfs und ermöglicht das Speichern von Dateien im schnellen RAM. devpts und sysfs sind "virtuelle" Linux-Dateisysteme, die Zugriff auf einige Kerneldaten bieten. Sie können mehr auf Google überprüfen - es gibt viele Artikel über sie.
Tomasz Olszewski

xvda1 Xvdd xvdc xvdbDies sind EBS-Volumes. Wie können Sie sagen, dass diese vergänglich sind?

3
Die obige Antwort ist nicht korrekt und sollte nicht als "die Antwort" überprüft werden
Andrew S

Das ist falsch!!
eyeApps LLC

12

Ephemere und ebs-Geräte können nahezu jeden mit Buchstaben versehenen Gerätedateinamen annehmen. Verlassen Sie sich daher nicht nur auf den Gerätenamen. Der Gerätename ist wichtig, um festzustellen, ob er kurzlebig ist oder nicht, wie ich weiter unten erläutern werde. Es ist ebenfalls nicht zuverlässig, sich auf einen Mountpunktnamen mit den Worten "kurzlebig" oder "ebs" zu verlassen.

Obwohl ein Teil davon über die EC2-GUI ausgeführt werden kann, müssten noch einige Befehle auf dem Server selbst ausgeführt werden. Daher gebe ich Ihnen hier nur eine "All-Command-Line" -Methode. Ich werde Ihnen Beispiele aus einem von m3.medium CentOS minimal 6.5 Instance Store (dh kurzlebigen) unterstützten AMI geben.

1) Installieren Sie das Dienstprogramm wget mit yum install -y wget

2) Ausführen wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

In diesem Beispiel wird AMI mit Instanzspeicher gespeichert. Die Ausgabe an Befehl 2 oben lautet:

ami ephemeral0

Zu Vergleichszwecken finden Sie unten eine Beispielausgabe von einem von EBS unterstützten CentOS-Server mit nur EBS-Volumes (keine kurzlebigen Laufwerke):

ami ebs2 ebs3

Ich werde später mit EBS-Volumes zur von EBS unterstützten Instanz zurückkehren. Lassen Sie uns zunächst mit dem AMI-Beispiel fortfahren, das vom ursprünglichen Instanzspeicher unterstützt wird und ein kurzlebiges Laufwerk zeigt.

Um herauszufinden, welche Gerätedatei Ihrem kurzlebigen Laufwerk zugeordnet ist, führen Sie wget erneut aus und fügen Sie diesmal den Namen des kurzlebigen Laufwerks, wie in Nr. 2 oben beschrieben, zur URL hinzu:

3) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -

und in diesem Beispiel ist / war die Ausgabe:

sdb

Dies unterstreicht meinen obigen Punkt, dass Sie nicht davon ausgehen können, dass / dev / sdb bis / dev / sde ebs-Geräte sind. Es mag sein, dass / dev / xvdb bis / dev / xvde ebs sind - aber meine Systeme beginnen immer mit / dev / xvde1 , sodass das Vorhandensein dieser Gerätebuchstaben wahrscheinlich vom verwendeten Betriebssystem, der Region, dem AMI usw. abhängt. Abgesehen davon können Sie # 3 gegen 'ebs'-Namen ausführen, falls vorhanden (z. B. ebs2), und eine ähnliche Ausgabe erzielen.

4) Führen Sie als Nächstes aus lsblk

In diesem Fall sieht die Ausgabe folgendermaßen aus:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk

Dies unterstreicht meinen Punkt von oben, dass Sie sich nicht auf einen Einhängepunkt verlassen können, um festzustellen, ob ein Gerät kurzlebig ist oder nicht.

Sie werden auch feststellen, dass die Zuordnung zwischen den Volumenbuchstaben des EC2-Geräts und den Zuordnungsbuchstaben des Betriebssystems nicht übereinstimmt. Eine kleine gute Nachricht ist, dass die Laufwerksbuchstaben in derselben Reihenfolge erhöht werden, auch wenn die Buchstaben selbst nicht übereinstimmen. Lassen Sie uns also den 'anderen' Laufwerksbuchstaben aus unseren Metadaten für Gerätezuordnungen abrufen. Wie Sie oben gesehen haben, gab es zwei Gerätezuordnungen, eine aufgerufene amiund eine aufgerufene ephemeral0. Wir haben ephemeral0 bereits untersucht, also lasst uns ami untersuchen:

5) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -

Die Ausgabe ist / war wie folgt:

sda1

Wir können sicher schließen, dass der niedrigste Buchstabe in der Betriebssystemzuordnung der niedrigste Buchstabe der EC2-Blockgerätezuordnung ist, und wir können von dort aus nach oben erhöhen. Somit:

/dev/sda1 = /dev/xvde1 und /dev/sdb = /dev/xvdf

Last but not least - Sie werden feststellen, dass sich die Blockgerätezuordnung aminicht sofort dafür eignet, ob sie von EBS oder Instance Store unterstützt wird. Wir müssen noch einen Befehl ausführen.

6) wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -

Ich bin sicher, dass von EBS unterstützte AMIs keinen Manifestpfad haben, da nur Instanzspeicher-Volumes ein Manifest haben (das Manifest listet die Namen und den Pfad der Bundle-Segmente des AMI in S3 auf). In Fällen, die ich überprüft habe, ist das Ergebnis von # 6 oben, wenn es gegen ami und den Instanzspeicher ami ausgeführt wird, ähnlich wie:

someamibucketname/someamidescription/someamidescription.manifest.xml

Wenn # 6 gegen einen von EBS unterstützten AMI ausgeführt wird, erhalten Sie:

(unknown)


1

sudo lsblksollte Ihnen einige Hinweise geben. IE

[ec2-user@ec2-host ~]$ sudo lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk 
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0   4G  0 disk /media/ephemeral0
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.