インスタンス・ストレージの管理
インスタンス・ストレージは、クラウド・ネイティブのワークロード (またはアプリやサービス) のパフォーマンスを改善するために役立つ、安価で高速な一時ストレージを提供します。 詳しくは、インスタンス・ストレージについてを参照してください。
仮想サーバー・インスタンスを使用してインスタンス・ストレージ・ディスクをプロビジョンするには、インスタンス・ストレージを含むプロファイルを選択します。 インスタンス・ストレージ・ディスク・デバイスは、インスタンス・プロファイル自体の一部として購入されるため、ライブ・アタッチまたはデタッチすることはできません。 汎用プロファイル・ファミリー (平衡型、コンピュート、メモリー) および一部の専用プロファイル・ファミリー (非常に高いメモリーとストレージ最適化) には、すべてインスタンス・ストレージのプロファイル・オプションがあります。 すべての 3rd 世代のインスタンス・プロファイルには、インスタンス・ストレージが含まれています。 詳しくは、 3rd 世代別インスタンス・プロファイル を参照してください。 インスタンス・ストレージの量は、プロファイルに割り当てられている vCPU の数に比例して割り振られます。 プロファイルについて詳しくは、 x86-64 インスタンス・プロファイル を参照してください。
UI でのインスタンスストレージを使用した仮想サーバーインスタンスのプロビジョニング
インスタンス・ストレージを備えた仮想サーバー・インスタンスを作成する前に、IBM Cloud VPC を作成しておく必要があります。
インスタンス・ストレージと一緒にプロビジョンするには、以下の手順を実行します。
- IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
仮想サーバーインスタンス に進みます。
- VPCの仮想サーバーインスタンス]ページで[ 作成 ]をクリックし、必要な情報を入力します。 具体的なフィールドについて詳しくは、仮想サーバーの作成を参照してください。
- インスタンス・ストレージ・プロファイルを選択するには、 View all profilesをクリックします。 すべての ox2 プロファイルと、プロファイル名の 4 番目の位置に文字「d」があるプロファイルには、インスタンス・ストレージが含まれます。 インスタンス・ストレージを含むプロファイルの例は、 bx2d-2x8 および ox2-2x16です。 リストをフィルターに掛けるには、チェック・ボックスを使用します。 インスタンス・プロファイルのリストについては、 x86-64 インスタンス・プロファイル を参照してください。
- 使用するプロファイルを選択し、**「保存」**をクリックします。 インスタンス・ストレージのディスクが仮想サーバー・インスタンスに接続されるのは、ブート・ボリュームの後、かつリモート・ブロック・ストレージ・ボリューム (存在する場合) の前です。
- インスタンスをプロビジョンする準備ができたら、**「仮想サーバー・インスタンスの作成 (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 仮想サーバーからインスタンス・ストレージ・メタデータを使用する例を示しています。
-
存続期間の短いインスタンス 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
パッケージをインストールする必要があるかもしれない。jq
は MIT ライセンスでライセンスされたサードパーティツールである。 -
このトークンを使用してインスタンス・メタデータを取得し、
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')
-
/dev/disk/by-id
でvirtio
デバイスをループし、デバイス・パスを前のステップで保管したインスタンス・ディスク情報に相関させます。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 ワードの名前ですが、カスタム名を持つように編集することができます。 詳しくは、 デフォルト名のいずれかの更新 を参照してください。
インスタンス・ストレージのディスクのパーティショニング、フォーマット、およびマウント
インスタンス・ストレージのディスクは、リモート・ブロック・ボリュームと同じように、パーティション化し、ファイル・システムを指定してフォーマットし、階層ファイル・システムにマウントすることができます。
- Linux®の手順については、 使用する Block Storage for VPC データ・ボリュームのセットアップ(Linux) または cloud-config スクリプトを使用した単一ディスク・インスタンス・ストレージの構成 を参照してください。
- Windows®の場合は、コンピュータ管理UIを使用して、ブロックボリュームをオンラインにし、パーティションを切り、フォーマットします。 詳しくは、 Block Storage for VPC データ・ボリュームのセットアップ(Windows) を参照してください。
以下の 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