Instance-Speicher-Swap-Volumes - Amazon Elastic Compute Cloud

Instance-Speicher-Swap-Volumes

Unter Linux können Auslagerungsbereiche verwendet werden, wenn ein System mehr Speicherplatz benötigt, als ihm physisch zugeordnet ist. Wenn der Auslagerungsbereich aktiviert ist, können Linux-Systeme selten verwendete Speicherseiten aus dem physischen Speicher als Auslagerungsbereich kennzeichnen (entweder eine dedizierte Partition oder eine Auslagerungsdatei in einem bestehenden Dateisystem) und diesen Speicherplatz für Speicherseiten freigeben, die schnellen Zugriff benötigen.

Anmerkung

Die Verwendung des Auslagerungsbereichs für Speicherseiten ist nicht so schnell oder effizient wie die Verwendung von RAM. Wenn Ihre Workload regelmäßig Speicherplatz in den Auslagerungsbereich verschiebt, sollten Sie erwägen, zu einem größeren Instance-Typ mit mehr RAM-Speicher zu migrieren. Weitere Informationen finden Sie unter Ändern des Instance-Typs.

Die Instance-Typen c1.medium und m1.small verfügen nur über eine begrenzte Menge an physischem Speicher und sind zum Startzeitpunkt mit einem Auslagerungsvolumen von 900 MiB ausgestattet, das als virtueller Speicher für Linux-AMIs fungiert. Obwohl der Linux-Kernel diesen Auslagerungsbereich als Partition auf dem Root-Gerät erkennt, ist er eigentlich ein separates Instance-Speicher-Volume, unabhängig vom Root-Gerätetyp.

Amazon Linux aktiviert und nutzt diesen Auslagerungsbereich automatisch, aber Ihr AMI benötigt möglicherweise einige zusätzliche Schritte, um diesen Bereich zu erkennen und zu nutzen. Verwenden Sie den Befehl swapon -s, um festzustellen, ob Ihre Instance den Auslagerungsbereich nutzt.

[ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

Bei der obigen Instance ist ein Swap-Volume mit 900 MiB angefügt und aktiviert. Wenn nach Eingabe dieses Befehls kein Swap-Volume angezeigt wird, müssen Sie möglicherweise den Auslagerungsbereich für das Gerät aktivieren. Überprüfen Sie Ihre verfügbaren Laufwerke mit dem lsblk-Befehl.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk

Hier ist das Swap-Volume xvda3 für die Instance verfügbar, aber es ist nicht aktiviert (beachten Sie, dass das Feld MOUNTPOINT leer ist). Sie können das Swap-Volume mit dem Befehl swapon aktivieren.

Anmerkung

Sie müssen /dev/ dem Gerätenamen voranstellen, der von lsblk aufgelistet wird. Möglicherweise hat Ihr Gerät eine andere Bezeichnung, beispielsweise sda3, sde3 oder xvde3. Verwenden Sie im nachfolgenden Befehl den Gerätenamen für Ihr System.

[ec2-user ~]$ sudo swapon /dev/xvda3

Jetzt sollte der Auslagerungsbereich in der Ausgabe von lsblk und swapon -s angezeigt werden.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk [SWAP] [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1

Sie müssen auch die Datei /etc/fstab bearbeiten, damit dieser Auslagerungsbereich bei jedem Starten des Systems automatisch aktiviert wird.

[ec2-user ~]$ sudo vim /etc/fstab

Hängen Sie die folgende Zeile an die Datei /etc/fstab an (und verwenden Sie dabei den Swap-Gerätenamen für Ihr System):

/dev/xvda3 none swap sw 0 0

So nutzen Sie ein Instance-Speicher-Volume als Auslagerungsbereich

Jedes Instance-Speicher-Volume kann als Auslagerungsbereich verwendet werden. Beispielsweise enthält der Instance-Typ m3.medium ein SSD-Instance-Speicher-Volume von 4 GB, das als Auslagerungsbereich geeignet ist. Wenn Ihr Instance-Speicher-Volume erheblich größer ist (z. B. 350 GB), können Sie das Volume in eine kleinere Auslagerungspartition von 4-8 GB und den Rest als Daten-Volume partitionieren.

Anmerkung

Dieses Verfahren kann nur bei Instance-Typen angewendet werden, die Instance-Speicher unterstützen. Eine Liste mit unterstützten Instance-Typen finden Sie unter Instance-Speicher-Volumes.

  1. Auflisten der an Ihre Instance angefügten Blockgeräte, um den Gerätenamen für Ihr Instance-Speicher-Volume zu ermitteln.

    [ec2-user ~]$ lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/xvdb 202:16 0 4G 0 disk /media/ephemeral0 /dev/xvda1 202:1 0 8G 0 disk /

    In diesem Beispiel ist das Instance-Speicher-Volume /dev/xdvb. Da dies eine Amazon Linux-Instance ist, wird das Instance-Speicher-Volume formatiert und auf /media/ephemeral0 gemountet; nicht alle Linux-Betriebssysteme tun dies automatisch.

  2. (Optional) Wenn Ihr Instance-Speicher-Volume gemountet ist (es wird ein MOUNTPOINT in der lsblk-Befehlsausgabe aufgeführt), müssen Sie mit dem folgenden Befehl das Mounting aufheben.

    [ec2-user ~]$ sudo umount /dev/xvdb
  3. Einrichten eines Linux-Auslagerungsbereichs auf dem Gerät mit dem Befehl mkswap.

    [ec2-user ~]$ sudo mkswap /dev/xvdb mkswap: /dev/xvdb: warning: wiping old ext3 signature. Setting up swapspace version 1, size = 4188668 KiB no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
  4. Aktivieren Sie den neuen Auslagerungsbereich.

    [ec2-user ~]$ sudo swapon /dev/xvdb
  5. Überprüfen Sie, ob der neue Auslagerungsbereich verwendet wird.

    [ec2-user ~]$ swapon -s Filename Type Size Used Priority /dev/xvdb partition 4188668 0 -1
  6. Bearbeiten Sie die Datei /etc/fstab so, dass dieser Auslagerungsbereich bei jedem Starten des Systems automatisch aktiviert wird.

    [ec2-user ~]$ sudo vim /etc/fstab

    Wenn Ihre /etc/fstab-Datei einen Eintrag für /dev/xvdb (oder /dev/sdb) hat, ändern Sie ihn so, dass er mit der unten stehenden Zeile übereinstimmt. Wenn die Datei keinen Eintrag für dieses Gerät hat, hängen Sie die folgende Zeile an Ihre /etc/fstab-Datei an (und verwenden Sie dabei den Swap-Gerätenamen für Ihr System):

    /dev/xvdb none swap sw 0 0
    Wichtig

    Instance-Speicher-Volume-Daten gehen verloren, wenn eine Instance angehalten oder in den Ruhezustand versetzt wird. Dies beinhaltet auch die Formatierung des Instance-Speicher-Auslagerungsbereichs, der in erstellt wurd Schritt 3. Wenn Sie eine Instance anhalten und erneut starten, die für die Verwendung eines Instance-Speicher-Auslagerungsbereichs konfiguriert wurde, müssen Sie Schritt 1 bis Schritt 5 auf dem neuen Instance-Speicher-Volume wiederholen.