IBM Cloud Docs
インスタンス・ストレージの管理

インスタンス・ストレージの管理

インスタンス・ストレージは、クラウド・ネイティブのワークロード (またはアプリやサービス) のパフォーマンスを改善するために役立つ、安価で高速な一時ストレージを提供します。 詳しくは、インスタンス・ストレージについてを参照してください。

仮想サーバー・インスタンスを使用してインスタンス・ストレージ・ディスクをプロビジョンするには、インスタンス・ストレージを含むプロファイルを選択します。 インスタンス・ストレージ・ディスク・デバイスは、インスタンス・プロファイル自体の一部として購入されるため、ライブ・アタッチまたはデタッチすることはできません。 汎用プロファイル・ファミリー (平衡型、コンピュート、メモリー) および一部の専用プロファイル・ファミリー (非常に高いメモリーとストレージ最適化) には、すべてインスタンス・ストレージのプロファイル・オプションがあります。 すべての 3rd 世代のインスタンス・プロファイルには、インスタンス・ストレージが含まれています。 詳しくは、 3rd 世代別インスタンス・プロファイル を参照してください。 インスタンス・ストレージの量は、プロファイルに割り当てられている vCPU の数に比例して割り振られます。 プロファイルについて詳しくは、 x86-64 インスタンス・プロファイル を参照してください。

UI でのインスタンスストレージを使用した仮想サーバーインスタンスのプロビジョニング

インスタンス・ストレージを備えた仮想サーバー・インスタンスを作成する前に、IBM Cloud VPC を作成しておく必要があります。

インスタンス・ストレージと一緒にプロビジョンするには、以下の手順を実行します。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPCアイコン 仮想サーバーインスタンス に進みます。
  2. VPCの仮想サーバーインスタンス]ページで[ 作成 ]をクリックし、必要な情報を入力します。 具体的なフィールドについて詳しくは、仮想サーバーの作成を参照してください。
  3. インスタンス・ストレージ・プロファイルを選択するには、 View all profilesをクリックします。 すべての ox2 プロファイルと、プロファイル名の 4 番目の位置に文字「d」があるプロファイルには、インスタンス・ストレージが含まれます。 インスタンス・ストレージを含むプロファイルの例は、 bx2d-2x8 および ox2-2x16です。 リストをフィルターに掛けるには、チェック・ボックスを使用します。 インスタンス・プロファイルのリストについては、 x86-64 インスタンス・プロファイル を参照してください。
  4. 使用するプロファイルを選択し、**「保存」**をクリックします。 インスタンス・ストレージのディスクが仮想サーバー・インスタンスに接続されるのは、ブート・ボリュームの後、かつリモート・ブロック・ストレージ・ボリューム (存在する場合) の前です。
  5. インスタンスをプロビジョンする準備ができたら、**「仮想サーバー・インスタンスの作成 (Create virtual server instance)」**をクリックします。

次のステップ

インスタンスが作成されたら、浮動 IP アドレスをそのインスタンスに関連付けます。 その後、インスタンスに接続できます。 詳しくは、Linux インスタンスへの接続または Windows インスタンスへの接続を参照してください。 既存のインスタンスに浮動 IP アドレスがある場合は、別のインスタンスに新たに浮動 IP を割り当てる必要はありません。 最初に浮動 IP があるものに接続してから、自動的に割り当てられたプライベート・サブネット IP アドレスを使用して、2 つ目のインスタンスに SSH 接続できます。

CLI からのインスタンスストレージ付き仮想サーバーインスタンスのプロビジョニング

インスタンス・ストレージを使用して仮想サーバー・インスタンスをプロビジョンするには、 CLI を使用した仮想サーバーの作成 の手順に従います。 インスタンス・ストレージ・ディスクを含むプロファイルを選択してください。 プロファイルについて詳しくは、インスタンス・プロファイルを参照してください。

API を使用してインスタンス・ストレージを備えた仮想サーバー・インスタンスをプロビジョンする

インスタンス・ストレージを使用して仮想サーバー・インスタンスをプロビジョンするには、 REST API を使用した VPC リソースの作成 の手順に従います。 インスタンス・ストレージ・ディスクを含むプロファイルを選択してください。 プロファイルについて詳しくは、 インスタンス・プロファイルを参照してください。

API (または CLI) は、インスタンス・ストレージ・ディスクの接続に使用されるインターフェース・タイプを判別するのに役立ちます。 作成操作 (または取得) から返されるインスタンス・オブジェクトは、以下の部分出力例に示すように、 disks アレイ内のインスタンス・ディスクを報告します。

  "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
    }]

この例は、 virtio_blk のインターフェース・タイプを示しています。

インスタンス・ストレージのディスクでカスタム・イメージを使用する

カスタム・イメージを使用する場合は、ディスクを使用するための適切なデバイス・ドライバーをイメージの中にロードしてください。

インスタンス・ストレージ・デバイスのインターフェース・タイプが virtio_blk の場合は、 libvirt virtio ドライバーをインストールする必要があります。 libvirt virtio ドライバは、 IBM が提供するすべてのオペレーティングシステムに自動的にインストールされます。 インスタンス・ストレージを使用するすべての汎用プロファイルは、 virtio_blk 接続のみを提供します。

インスタンスからインスタンス・ストレージを使用する

インスタンスでのブロック・デバイスのリスト表示

Linux® では、インスタンスにログインした後、 lsblk コマンドを使用してブロック・デバイスをリストすることができます。 以下の例でプロビジョンされるインスタンスには、600 GB のインスタンス・ディスクが 2 つと 50 GiB のデータ・ボリュームが 2 つあります。 カスタム・カラムのリストは、インスタンス・ストレージとリモート Block Storage の違いを強調するために、 lsblk コマンドに指定される。

インスタンス・ディスクのサイズはギガバイト(GB)ですが、 lsblk はジビバイト( GiB )で表示されます。

$ 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

この例では、 Block Storage デバイスはすべて virtio_blk デバイスである:

  • vda はブートボリュームである。
  • vdb と は600GBのインスタンス・ストレージ・ディスクである。 vdc Linux®では、インスタンス・ストレージ・ディスクはブート・ボリュームの後に続き、最初のディスクは /dev/vdb になります。 lsblkコマンドは "G "単位を base-2 ジビバイトと表示しているので、サイズは 558.8 GiBs と表示される。 セクター・サイズ列の値は、オペレーティング・システムまたはプロファイルの生成によって異なる場合があります。 例えば、 x3d インスタンス・プロファイル・ファミリーは、ローカル・ディスク用に 512 バイトのセクター・サイズでプロビジョンすることができます。
  • vdd と はインスタンスにアタッチされているリモート・データ・ボリュームである。 vde これらのデータ量は、 lsblk が表示しているのと同じ単位で要求されるため、そのサイズは GiBs (50)全体のままである。
  • vdf と はインスタンスのクラウドイット構成に使われる小さなブロックボリュームである。 vdg

メタデータ・サービスを使用したインスタンス・ストレージのリスト

インスタンス内からメタデータ・サービスを使用して、インスタンスに関する情報 (インスタンス・ストレージ・ディスクを含む) を取得できます。 メタデータ情報を取得するには、インスタンスのプロビジョン時に、または後でインスタンスを更新することによって、メタデータ・サービス機能を有効にする必要があります。 有効化および使用手順について詳しくは、 インスタンスからのメタデータへのアクセス を参照してください。

Metadata サービスが有効になっているインスタンスがある場合、以下のステップは、 Linux 仮想サーバーからインスタンス・ストレージ・メタデータを使用する例を示しています。

  1. 存続期間の短いインスタンス ID トークンを取得します。

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

    セキュア・メタデータ・サービス・エンドポイントが有効な場合は、 HTTP の代わりに HTTPS を使用する。 curlコマンドを実行する前に、 curl または jq パッケージをインストールする必要があるかもしれない。 jqMIT ライセンスでライセンスされたサードパーティツールである。

  2. このトークンを使用してインスタンス・メタデータを取得し、 disks 部分を選択して、json を bash 変数に保管します。

    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. /dev/disk/by-idvirtio デバイスをループし、デバイス・パスを前のステップで保管したインスタンス・ディスク情報に相関させます。

    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
    

以下は、前のコマンドの出力例です。ここで、列の順序は (1) by-id path、(2) symlink device target、(3) size in GB、(4) Cloud UI/CLI/API ディスク名です。

/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

この場合、ディスク名はランダムに生成された 4 ワードの名前ですが、カスタム名を持つように編集することができます。 詳しくは、 デフォルト名のいずれかの更新 を参照してください。

インスタンス・ストレージのディスクのパーティショニング、フォーマット、およびマウント

インスタンス・ストレージのディスクは、リモート・ブロック・ボリュームと同じように、パーティション化し、ファイル・システムを指定してフォーマットし、階層ファイル・システムにマウントすることができます。

以下の lsblk の例は、 bx3d-48x240 インスタンスにログインして vdc を 2 つの 1 次区画にパーティション化し、それらを別々のファイル・システムでフォーマットし、マウントした後の出力を示しています。 reqular 式を指定した grep コマンドは、Metadata サービスを介して取得された vdb デバイスおよび vdc デバイスのみに出力をフィルタリングするために使用されます (前のセクションを参照)。

$ 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

インスタンス・ストレージの一時的な性質のため、 nofail オプションを使用して Linux® VM の /etc/fstab ファイルでマウント・エントリーを構成するか、マウント・エントリーを完全に除外したままにします。 この設定により、ブート中のマウント障害を回避できます。

以下の例は、 nofail オプションを指定したマウント・エントリーを示しています。

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

インスタンス・プロファイルのインスタンス・ストレージ詳細の検索

インスタンス・プロファイルをフィルタリングする際に、Web UIまたはCLIでインスタンス・ストレージ・カラムを探します。 これは、 Storage(GB) と呼ばれる場合があります。

以下の例は、可能な列値とその意味を示しています。

  • 1 x 150 GB – 150 GB のブロック・デバイスが 1 つ、インスタンス・ストレージとして仮想サーバー・インスタンスに接続されています。
  • 2 x 600 GB - 600 GB(合計1200)のインスタンス・ストレージ・ブロック・デバイスが2台接続されています。

コンテキストによっては、インスタンス・プロファイルまたはアタッチされたインスタンス・ディスクのインターフェイス・タイプ(通常は virtio_blk )が表示されることがあります。 以下の例は、特定のインスタンス・プロファイルについて CLI から取得された詳細を示しています。

$ 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

インスタンス・ストレージの情報の表示

以下の CLI の例を使用して、仮想サーバー・インスタンスのインスタンス・ストレージの情報を表示できます。 独自のインスタンス ID またはインスタンス名に置き換えてください。

$ 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

デフォルト名の更新

以下のCLIコマンドを使用して、インスタンス・ストレージ・ディスクのカスタム名を更新できます。 最後の 2 つのパラメーターは、それぞれ独自のインスタンス ID とディスク 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