Instanzspeicher verwalten

Der Instanzspeicher bietet schnellen und kosteneffizienten temporären Speicher zur Verbesserung der Leistungswerte für bestimmte cloudnative Workloads (bzw. Apps oder Services). Weitere Informationen finden Sie unter Informationen zum Instanzspeicher.

Um eine Instanzspeicherplatte mit Ihrer virtuellen Serverinstanz bereitzustellen, wählen Sie ein Profil aus, das Instanzspeicher enthält. Die Instanzspeicher-Festplattengeräte können nicht live angeschlossen oder getrennt werden, da sie als Teil des Instanzprofils selbst erworben wurden. Die allgemeinen Profilfamilien (Balanced, Compute und Memory) und einige spezielle Profilfamilien (Very High Memory und Storage Optimized) verfügen alle über Profiloptionen mit Instanzspeicher. Alle Instanzprofile der 3. Generation enthalten Instanzspeicher. Weitere Informationen finden Sie unter Instanzprofile der 3. Generation. Die Menge des Instanzspeichers ist proportional auf die Anzahl der zugeordneten vCPUs des Profils abgestimmt. Weitere Informationen über Profile finden Sie unter x86-64 instance profiles.

Bereitstellen einer virtuellen Serverinstanz mit Instanzspeicher in der Konsole

Bevor Sie eine virtuelle Serverinstanz mit Instanzspeicher erstellen, müssen Sie IBM Cloud VPCerstellen.

Führen Sie die folgenden Schritte aus,um eine Virtual Server-Instanz mit Instanzspeicher bereitzustellen:

  1. Gehen Sie in der Konsole IBM Cloud auf Navigation - Menü- Symbol - Menü - Symbol > Infrastruktur - VPC - Symbol > Compute > Virtuelle Serverinstanzen.
  2. Klicken Sie auf der Seite „Virtuelle Serverinstanzen für VPC“ auf „Erstellen“ und geben Sie die erforderlichen Informationen ein. Weitere Informationen zu bestimmten Feldern finden Sie unter Virtuelle Server erstellen.
  3. Um Ihr Instanzspeicherprofil auszuwählen, klicken Sie auf „ Alle Profile anzeigen “. Alle ox2-Profile und -Profile mit dem Buchstaben "d" an der vierten Position des Profilnamens enthalten Instanzspeicher. Beispiele für Profile mit Instanzspeicher sind bx2d-2x8 und ox2-2x16. Verwenden Sie die Kontrollkästchen, um die Liste zu filtern. Eine Liste der Instanzprofile finden Sie unter x86-64-Instanzprofile.
  4. Wählen Sie das Profil aus, das Sie verwenden möchten, und klicken Sie auf Speichern. Die Instanzspeicherplatten werden der Virtual Server-Instanz nach dem Bootdatenträger und vor den remote angeschlossenen Blockspeicherdatenträgern (falls vorhanden) zugeordnet.
  5. Wenn Ihre Instanz für die Bereitstellung vorbereitet ist, klicken Sie auf Virtual Server-Instanz erstellen.

Nächste Schritte

Nachdem die Instanz erstellt wurde, ordnen Sie der Instanz eine variable IP-Adresse zu. Anschließend können Sie eine Verbindung zu Ihrer Instanz herstellen. Weitere Informationen finden Sie unter Verbindung zu Linux-Instanz herstellen oder Verbindung zu Windows-Instanz herstellen. Wenn Sie über eine Instanz mit variabler IP-Adresse verfügen, ist es nicht erforderlich, eine zweite variable IP einer anderen Instanz zuzuweisen. Sie können eine Verbindung zur ersten Instanz mit variabler IP-Adresse herstellen und dann über SSH eine Verbindung zur zweiten Instanz unter Verwendung der privaten Teilnetz-IP-Adresse herstellen, die der Instanz automatisch zugeordnet wird.

Bereitstellen einer virtuellen Serverinstanz mit Instanzspeicher über die CLI

Um eine virtuelle Serverinstanz mit Instanzspeicher bereitzustellen, befolgen Sie die Anweisungen unter Virtuelle Server über die Befehlszeilenschnittstelle erstellen. Wählen Sie ein Profil aus, das eine Instanzspeicherplatte enthält. Weitere Informationen zu Profilen finden Sie unter Instanzprofile.

Virtual Server-Instanz mit Instanzspeicher mithilfe der API bereitstellen

Um eine virtuelle Serverinstanz mit Instanzspeicher bereitzustellen, befolgen Sie die Anweisungen unter REST-APIs zum Erstellen von VPC-Ressourcen verwenden. Wählen Sie ein Profil aus, das eine Instanzspeicherplatte enthält. Weitere Informationen zu Profilen finden Sie unter Instanzprofile.

Die API (oder CLI) ist nützlich, um den Schnittstellentyp zu bestimmen, der zum Zuordnen der Instanzspeicherplatten verwendet wird. Das Instanzobjekt, das von einer Erstellungsoperation (oder get) zurückgegeben wird, meldet die Instanzplatten im Array disks, wie in der folgenden Beispielteilausgabe dargestellt.

  "disks": [
    {
      "created_at": "2022-04-19T17:13:28Z",
      "href": "https://sample-region.iaas.cloud.ibm.com/v1/instances/vsi_aba03916-8804-46ae-9275-b7dc196e94b3/disks/c4e4d137-a44f-47b8-beb0-a22dc8f8c6ea",
      "id": "c4e4d137-a44f-47b8-beb0-a22dc8f8c6ea",
      "interface_type": "virtio_blk",
      "name": "babbling-drove-grove-catnap",
      "resource_type": "instance_disk",
      "size": 600
    }]

Dieses Beispiel zeigt den Schnittstellentyp virtio_blk.

Angepasste Images mit Instanzspeicherplatte verwenden

Wenn Sie angepasste Images verwenden, stellen Sie sicher, dass im Image die richtigen Einheitentreiber für die Verwendung der Platten geladen werden.

Wenn Ihre Instanzspeichereinheit den Schnittstellentyp virtio_blk aufweist, muss der Treiber libvirt virtio installiert sein. Der libvirt virtio Treiber wird automatisch mit allen IBM bereitgestellten Betriebssystemen installiert. Alle allgemeinen Profile mit Instanzspeicher bieten nur virtio_blk-Verbindungen.

Instanzspeicher über Ihre Instanz verwenden

Blockeinheiten in Ihrer Instanz auflisten

Nach der Anmeldung bei Ihrer Instanz können Sie mit dem lsblk Befehl die Linux® Blockgeräte auflisten. Im folgenden Beispiel verfügt die bereitgestellte Instanz über zwei Instanzplatten mit je 600 GB und über zwei Datenträger mit je 50 GiB. Eine Liste benutzerdefinierter Spalten wird für den lsblk Befehl angegeben, um einige Unterschiede zwischen Instanzspeicher und Remote Block Storage hervorzuheben.

Instanzfestplatten werden in Gigabyte (GB) gemessen, aber lsblk zeigt die Größe in Gibibyte ( GiB ) an.

$ lsblk -o NAME,SIZE,MAJ:MIN,TYPE,PHY-SEC,LOG-SEC,MOUNTPOINT
NAME          SIZE MAJ:MIN TYPE PHY-SEC LOG-SEC MOUNTPOINT
vda           100G 252:0   disk     512     512
├─vda1          1G 252:1   part     512     512 /boot
└─vda2         99G 252:2   part     512     512
  ├─cl-root    97G 253:0   lvm      512     512 /
  └─cl-swap   2.1G 253:1   lvm      512     512
vdb         558.8G 252:16  disk    4096    4096
vdc         558.8G 252:32  disk    4096    4096
vdd            50G 252:48  disk     512     512
vde            50G 252:64  disk     512     512
vdf           366K 252:80  disk     512     512
vdg            44K 252:96  disk     512     512

In diesem Beispiel sind alle Geräte Block Storagevirtio_blk Geräte:

  • vda ist das Startvolume.
  • vdb und vdc sind die 600-GB-Instanzspeicherfestplatten. Unter Linux®folgen Instanzspeicherplatten dem Bootdatenträger mit dem ersten Datenträger /dev/vdb. Da der Befehl lsblk „G“-Einheiten als base-2 Gibibyte anzeigt, wird die Größe als 558.8GiBs angezeigt. Die Spaltenwerte für die Sektorgröße können je nach Betriebssystem oder Profilgenerierung unterschiedlich sein. Beispielsweise können x3d-Instanzprofilfamilien mit einer Sektorgröße von 512 Byte für lokale Platten bereitstellen.
  • vdd und vde sind Remote-Datenvolumes, die an die Instanz angehängt sind. Da diese Datenmengen in denselben Einheiten angefordert werden, wie lsblk sie angezeigt werden, bleibt ihre Größe unverändert GiBs (50).
  • vdf und vdg sind kleine Blockvolumes, die für die Cloud-Init-Konfiguration der Instanz verwendet werden.

Verwenden des Metadatenservice zum Auflisten von Instanzspeicher

Der Metadatenservice kann innerhalb der Instanz verwendet werden, um Informationen zur Instanz abzurufen, einschließlich Instanzspeicherplatten. Zum Abrufen von Metadateninformationen muss die Metadatenservicefunktionalität aktiviert werden, wenn die Instanz bereitgestellt wird oder indem die Instanz später aktualisiert wird. Weitere Informationen zum Aktivieren und Verwenden von Prozeduren finden Sie unter Auf Metadaten aus einer Instanz zugreifen.

Wenn Sie eine Instanz mit aktiviertem Metadatenservice haben, zeigen die folgenden Schritte ein Beispiel für die Verwendung von Instanzspeichermetadaten aus einem virtuellen Linux-Server.

  1. Rufen Sie ein kurzlebige Instanzidentitätstoken ab.

    instance_identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2022-03-01" -H "Metadata-Flavor: ibm" -H "Accept: application/json" -d '{ "expires_in": 300}' | jq -r '(.access_token)'`
    

    Verwenden Sie HTTPS anstelle von, HTTP wenn der Endpunkt für den sicheren Metadatendienst aktiviert ist. Möglicherweise müssen Sie die Pakete curl oder jq installieren, bevor Sie den Befehl curl ausführen. jq ist ein Drittanbieter-Tool, das unter der MIT-Lizenz steht.

  2. Verwenden Sie das Token, um Instanzmetadaten abzurufen, wählen Sie den Abschnitt disks aus und speichern Sie die JSON in einer Bash-Variablen.

    disks=$(curl -sS -X GET "http://api.metadata.cloud.ibm.com/metadata/v1/instance?version=2024-02-20" -H "Authorization: Bearer $instance_identity_token" | jq -r '.disks')
    
  3. Führen Sie eine Schleife über virtio-Einheiten in /dev/disk/by-id aus und korrelieren Sie Einheitenpfade mit den im vorherigen Schritt gespeicherten Instanzplatteninformationen.

    for ln in $(ls /dev/disk/by-id/virtio*); do b=$(basename $ln); s=${b#virtio-}; disk=$(echo $disks | jq -r ".[] | select(.id | startswith(\"$s\"))"); if [ -n "$disk" ]; then echo "$ln $(readlink -f $ln) $(echo $disk | jq -r '(.size|tostring) + " " + .name')";fi;done
    

Im Folgenden sehen Sie eine Beispielausgabe des vorherigen Befehls, bei dem die Spaltenreihenfolge (1) nach ID-Pfad, (2) symlink-Einheitenziel, (3) Größe in GB und (4) den Cloud-UI/CLI/API-Plattennamen lautet:

/dev/disk/by-id/virtio-0736-35db69bb-d09b-4 /dev/vdc 600 palmtree-vacuumed-judiciary-wharf
/dev/disk/by-id/virtio-0736-874803ac-2593-4 /dev/vdb 600 lunacy-dismantle-dotted-fiddling

In diesem Fall sind die Plattennamen die zufällig generierten Namen mit vier Wörtern, aber diese können so bearbeitet werden, dass sie benutzerdefinierte Namen enthalten. Weitere Informationen finden Sie unter Standardnamen aktualisieren.

Instanzspeicherplatten partitionieren, formatieren und anhängen

Die Instanzspeicherplatten können auf die gleiche Art partitioniert, mit einem Dateisystem formatiert und an ein hierarchisches Dateisystem angehängt werden wie die remote angeschlossenen Blockdatenträger.

Das folgende lsblk-Beispiel zeigt die Ausgabe nach der Anmeldung bei einer bx3d-48x240-Instanz und der Partitionierung vdc in zwei primäre Partitionen, wobei sie mit separaten Dateisystemen formatiert und angehängt werden. Der Befehl grep mit regulärem Ausdruck wird verwendet, um die Ausgabe auf die vdb- und vdc-Geräte zu beschränken, die über den Metadatendienst bezogen werden (siehe vorheriger Abschnitt).

$ lsblk | grep -E "NAME|vd[b|c]"
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
vdb     252:16   0 726.4G  0 disk
vdc     252:32   0 726.4G  0 disk
├─vdc1  252:33   0   200G  0 part /mnt/localdisk1
└─vdc2  252:34   0 526.4G  0 part /mnt/localdisk2

Aufgrund der Kurzlebigkeit des Instanzspeichers sollten Sie den Mount-Eintrag in der Datei Linux® /etc/fstab der VM mit der nofail Option konfigurieren oder den Mount-Eintrag ganz weglassen. Durch diese Einstellung wird ein Mountfehler beim Booten vermieden.

Das folgende Beispiel zeigt einen Mounteintrag mit der Option nofail.

/dev/vdb1 /mnt/inststg1 ext4 defaults,nofail 0 0

Instanzspeicherdetails eines Instanzprofils suchen

Suchen Sie in der Web-Benutzeroberfläche oder der CLI nach der Spalte „Instanzspeicher“, wenn Sie Instanzprofile filtern. Sie kann Storage(GB) heißen.

Die folgenden Beispiele zeigen mögliche Spaltenwerte und ihre Bedeutung:

  • 1 x 150 GB – Eine einzelne Blockeinheit mit 150 GB wird der Virtual Server-Instanz als Instanzspeicher zugeordnet.
  • 2 x 600 GB – Zwei Instanzspeicher-Blockgeräte mit jeweils 600 GB (insgesamt 1200 GB) sind angeschlossen.

In einigen Kontexten wird möglicherweise ein Schnittstellentyp (in der Regel virtio_blk) für ein Instanzprofil oder für eine angehängte Instanzfestplatte angezeigt. Das folgende Beispiel zeigt Details, die von der Befehlszeilenschnittstelle für ein bestimmtes Instanzprofil abgerufen wurden.

ibmcloud is in-pr bx2d-48x192
Getting instance profile bx2d-48x192 under account YYYYYY as user vpc-user@myco.com...

Name                     bx2d-48x192
Architecture             amd64
vCPU Manufacturer        intel
Family                   balanced
vCPUs                    48
Memory(GiB)              192
GPU                      Model   Manufacturer   Count   Memory(GiB)
                         -       -              -       -

Numa Count               -
Bandwidth(Mbps)          80000
Volume bandwidth(Mbps)   -
Instance Storage Disks   Quantity   Size   Supported interface types
                         2          900    virtio_blk

Min NIC Count            1
Max NIC Count            10

Instanzspeicherinformationen melden

Im folgenden CLI-Beispiel werden Instanzspeicherinformationen für Ihre Virtual Server-Instanz gemeldet. Ersetzen Sie Ihre eigene Instanz-ID oder Ihren Namen.

ibmcloud is instance-disks 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488
Listing disks of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID                                          Name                               Size   Interface Type
0716-6ebed02f-c421-4b06-a73b-f334413e84b3   clunky-refocus-tidings-underpaid   600    virtio_blk
0716-54ee0659-d92a-4d4c-ac6b-8f03cb178a07   linguini-epiphany-lush-preschool   600    virtio_blk

Einen Standardnamen aktualisieren

Sie können die benutzerdefinierten Namen der Instanzspeicherfestplatten mit dem folgenden CLI-Befehl aktualisieren. Ersetzen Sie die letzten beiden Parameter durch Ihre eigene Instanz-ID und Platten-ID.

ibmcloud is instance-disk-update 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 0716-6ebed02f-c421-4b06-a73b-f334413e84b3 --name my-instance-disk1
Updating instance disk 0716-6ebed02f-c421-4b06-a73b-f334413e84b3 of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...

ID               0716-6ebed02f-c421-4b06-a73b-f334413e84b3
Name             my-instance-disk1
Size             600
Interface Type   virtio_blk
Created          2020-10-29T22:57:15-05:00

$ ibmcloud is instance-disks 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488
Listing disks of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID                                          Name                               Size   Interface Type
0716-6ebed02f-c421-4b06-a73b-f334413e84b3   my-instance-disk1                  600    virtio_blk
0716-54ee0659-d92a-4d4c-ac6b-8f03cb178a07   linguini-epiphany-lush-preschool   600    virtio_blk