Wie erkenne ich, bei welchen Volumes, die an meine Amazon EC2 Linux-Instance angehängt sind, es sich um Instance-Store-Volumes (ephemeral) handelt?

Lesedauer: 4 Minute
0

Ich habe eine Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance, an die sowohl Amazon Elastic Block Store (Amazon EBS)-Volumes als auch Instance-Store-Volumes (ephemeral) angehängt sind. Ich möchte die angehängten Volumes identifizieren, bei denen es sich um Instance-Speicher-Volumes handelt.

Kurzbeschreibung

Um Instance-Speicher-Volumes auf Amazon EC2 Linux-Instances zu identifizieren, überprüfen Sie zunächst, ob der Instance-Typ Instance-Speicher-Volumes unterstützt. Wenn die Instance Instance-Speicher-Volumes unterstützt, überprüfen Sie den Typ der Instance-Speicher-Volumes, die sie unterstützt. Überprüfen Sie anschließend die Informationen des Volumes im Betriebssystem (OS).

Behebung

  1. Überprüfen Sie, welche Art von Instance-Speicher-Volume (HDD, SSD oder NVMe SSD) Ihre Instance gegebenenfalls unterstützt. Unter Instance-Speicher-Volumes finden Sie die Menge-, Größen-, Typ- und Leistungsoptimierungen der Instance-Speicher-Volumes, die für jeden unterstützten Instance-Typ verfügbar sind.
  2. Ermitteln Sie, welche der angehängten Volumes Ihrer Instance Instance-Speicher-Volumes sind. Die verwendete Identifikationsmethode hängt davon ab, ob Sie über NVMe-SSD- oder HDD/SSD-Instance-Speicher-Volumes verfügen.

NVMe SSD-Instance-Speicher-Volumes

  1. Stellen Sie eine Verbindung zu Ihrer Instance her.

  2. Installieren Sie das NVMe-Befehlszeilenpaket nvme-cli. Verwenden Sie die Paketverwaltungstools für Ihre Linux-Distribution. Verwenden Sie für Amazon Linux-Instances den Befehl yum, um das nvme-cli-Paket zu installieren. Anweisungen zum Herunterladen und Installieren für andere Distributionen finden Sie in der GitHub-Dokumentation für nvme-cli oder in der für Ihre Distribution spezifischen Dokumentation.

  3. Führen Sie den Befehl nvme list als privilegierter Benutzer aus:

    $ sudo nvme list

    In der Spalte Modell im folgenden Ausgabebeispiel wird aufgeführt, ob es sich bei jedem angeschlossenen Gerät um Amazon Elastic Block Store oder Amazon EC2 NVMe Instance Storage handelt. Die Beispielausgabe stammt von einem Instance-Typ, der ein NVMe-SSD-Gerät unterstützt:

    $ sudo nvme list
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     vol0923757ba05df9515 Amazon Elastic Block Store               1           0.00   B /   8.59  GB    512   B +  0 B   1.0
    /dev/nvme1n1     AWS1A4FC25FB16B79F76 Amazon EC2 NVMe Instance Storage         1          50.00  GB /  50.00  GB    512   B +  0 B   0

HDD- oder SSD-Instance-Speicher-Volumes

Rufen Sie für HDD- oder SSD-Instance-Speicher-Volumes die Liste der angeschlossenen Blockgeräte vom Betriebssystem ab. Rufen Sie dann den Abschnitt Blockgeräte-Mapping aus den Instanz-Metadaten ab.

  1. Stellen Sie eine Verbindung zu Ihrer Instance her.

  2. Führen Sie den Befehl lsblk aus. Wenn der Befehl lsblk nicht vorhanden ist, installieren Sie das Paket util-linux mithilfe der Paketverwaltungstools für Ihre Linux-Distribution. Für Amazon Linux-Instances installieren Sie das Paket util-linux mit dem Befehl yum install. Anweisungen zum Herunterladen und Installieren für andere Distributionen finden Sie in der für Ihre Distribution spezifischen Dokumentation:

    $ sudo lsblk

    Dieses Ausgabebeispiel zeigt die Liste der Blockgeräte einer Instanz mit vielen Laufwerken. Diese Instance läuft auf einem Instance-Typ, der SSD-Instance-Speicher-Volumes unterstützt:

    $ 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 745.2G  0 disk
    xvdc    202:32   0 745.2G  0 disk
    xvdd    202:48   0 745.2G  0 disk
    xvde    202:64   0 745.2G  0 disk
  3. Stellen Sie fest, ob xvdb aus der vorherigen Beispielausgabe ein kurzlebiges Laufwerk ist. Rufen Sie dazu die Block-Device-Mapping-Metadaten ab. Verwenden Sie die Basis-URL für alle Anfragen zu Instanz-Metadaten (http://169.254.169.254/latest/meta-data/block-device-mapping):

    $ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
    sdb
    $ ls -l /dev/sdb
    lrwxrwxrwx 1 root root 4 Aug 27 13:07 /dev/sdb -> xvdb

    In diesem Beispiel erfolgt die Blockgerätezuweisung für ephemeral0 auf sdb. Dies ist ein symbolischer Link zu xvdb. Das bedeutet, dass xvdb ein kurzlebiges Gerät ist.

  4. (Optional) Sie können diese Befehle auch verwenden, um den Vorgang zur Anzeige der kurzlebigen Geräte Ihrer Instanz zu automatisieren:

    Identifizieren Sie die Betriebssystem-Blockgeräte:

    OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")

    Stellen Sie die URL für die Blockgerät-Zuweisung ein:

    BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"

    Durchsuche die Betriebssystemgeräte und finde die Zuordnung in der Blockgerät-Zuweisung:

    for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral

    Dieses Beispiel zeigt diese drei Befehle und eine Ausgabe:

    $ OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")
    $ BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"
    $ for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral
    ephemeral0 is xvdb
    ephemeral1 is xvdc
    ephemeral2 is xvdd
    ephemeral3 is xvde
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten