インスタンス・ストレージの管理
インスタンス・ストレージは、クラウド・ネイティブのワークロード (またはアプリやサービス) のパフォーマンスを改善するために役立つ、安価で高速な一時ストレージを提供します。 詳しくは、インスタンス・ストレージについてを参照してください。
仮想サーバー・インスタンスを使用してインスタンス・ストレージ・ディスクをプロビジョンするには、インスタンス・ストレージを含むプロファイルを選択します。 インスタンス ストレージ ディスク デバイスは、インスタンス プロファイルの一部として購入されるため、ライブ接続またはライブ切断はできません。 汎用プロファイル・ファミリー (平衡型、コンピュート、メモリー) および一部の専用プロファイル・ファミリー (非常に高いメモリーとストレージ最適化) には、すべてインスタンス・ストレージのプロファイル・オプションがあります。 すべての第3世代インスタンス・プロファイルにはインスタンス・ストレージが含まれています。 詳細は、 第3世代インスタンス・プロファイルを 参照。 インスタンス・ストレージの量は、プロファイルに割り当てられている vCPU の数に比例して割り振られます。 プロファイルの詳細については、 x86-64 インスタンス・プロファイルを 参照してください。
コンソールでインスタンスストレージを備えた仮想サーバーインスタンスのプロビジョニング
インスタンス・ストレージを備えた仮想サーバー・インスタンスを作成する前に、IBM Cloud VPC を作成しておく必要があります。
インスタンス・ストレージと一緒にプロビジョンするには、以下の手順を実行します。
- IBM Cloud コンソールで、 Navigation Menu icon
> Infrastructure
> Compute > Virtual server instances と進みます。
- VPC の仮想サーバーインスタンスページで、 [作成] をクリックし、必要な情報を入力します。 具体的なフィールドについて詳しくは、仮想サーバーの作成を参照してください。
- インスタンス ストレージ プロファイルを選択するには、 [すべてのプロファイルを表示] をクリックします。 すべての 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 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およびvdcは 600 GB のインスタンス ストレージ ディスクです。 Linux®では、インスタンス・ストレージ・ディスクはブート・ボリュームの後に続き、最初のディスクは/dev/vdbになります。 lsblkコマンドは「G」単位を base-2 ギビバイトとして表示するため、サイズは として表示されます 558.8GiBs。 セクター・サイズ列の値は、オペレーティング・システムまたはプロファイルの生成によって異なる場合があります。 例えば、x3dインスタンス・プロファイル・ファミリーは、ローカル・ディスク用に 512 バイトのセクター・サイズでプロビジョンすることができます。vddおよびvdeは、インスタンスに接続されたリモートデータボリュームです。 これらのデータ量は、表示lsblk単位と同じ単位で要求されるため、そのサイズはそのまま全体 GiBs (50)のままです。vdfおよびvdgは、インスタンスの cloud-init 設定に使用される小さなブロックボリュームです。
メタデータ・サービスを使用したインスタンス・ストレージのリスト
インスタンス内からメタデータ・サービスを使用して、インスタンスに関する情報 (インスタンス・ストレージ・ディスクを含む) を取得できます。 メタデータ情報を取得するには、インスタンスのプロビジョン時に、または後でインスタンスを更新することによって、メタデータ・サービス機能を有効にする必要があります。 有効化および使用手順について詳しくは、 インスタンスからのメタデータへのアクセス を参照してください。
Metadata サービスが有効になっているインスタンスがある場合、以下のステップは、 Linux 仮想サーバーからインスタンス・ストレージ・メタデータを使用する例を示しています。
-
存続期間の短いインスタンス ID トークンを取得します。
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)'`セキュアメタデータサービスエンドポイントが有効な場合は 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 次区画にパーティション化し、それらを別々のファイル・システムでフォーマットし、マウントした後の出力を示しています。 正規表現を使用した grep コマンドは、メタデータ・サービス(前のセクションを参照)を通じて取得された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
インスタンスストレージの一時的な性質のため、VM /etc/fstabLinux® のファイル内のマウントエントリをオプション nofail 付きで設定するか、マウントエントリを完全に除外してください。 この設定により、ブート中のマウント障害を回避できます。
以下の例は、 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のインスタンスストレージブロックデバイスが2台(合計1200 GB)接続されています。
特定の状況では、インスタンスプロファイルまたは接続済みインスタンスディスクに対してインターフェースタイプ(通常は 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