ワークロードのニーズに合わせて、Google Cloud Hyperdisk ボリュームのプロパティを変更できます。たとえば、プロビジョニングされた IOPS またはスループットを増減させて、それぞれ費用の削減やパフォーマンスの向上を実現できます。ボリュームのアクセスモードを設定することで、VM が Hyperdisk ML、Hyperdisk Balanced、Hyperdisk Balanced High Availability の各ボリューム上のデータにアクセスする方法を指定できます。
このページでは、Hyperdisk ボリュームの容量、パフォーマンスなどの設定を変更する方法について説明します。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) -
サービス アカウントとして実行できる VM に接続する: サービス アカウント ユーザー(v1)(
roles/iam.serviceAccountUser
) - Hyperdisk ML ボリュームの場合、変更が有効になるまでに最大 20 分かかることがあります。
- マルチライター モードのディスクで、変更時にディスクが複数の VM にアタッチされていた場合、パフォーマンスの変更が有効になるまでに最大で 6 時間かかることがあります。
- ディスクのアクセスモードを設定するには、すべての VM からディスクを切断する必要があります。
- Hyperdisk ML ボリュームの場合、読み取り専用に設定したアクセスモードを読み取り / 書き込みに設定し直すことはできません。
- Hyperdisk Throughput ボリュームと Hyperdisk Extreme ボリュームのアクセスモードは設定できません。
複数のプロパティを同時に変更して、ディスク変更の遅延を回避します。たとえば、ディスクのサイズとプロビジョニングされた IOPS の両方を短時間で変更する場合は、1 つのリクエストで両方の変更を行います。
ディスクのプロビジョニングされたパフォーマンスまたはサイズに新しい値を選択する場合は、4~6 時間は新たな変更ができないことに注意してください。たとえば、500 GiB の Hyperdisk Balanced ボリュームのサイズを 1 TiB に増やしたいとします。4 時間経過するまではサイズの変更ができないため、ワークロードで今後 4 時間以内に 1 TiB を超えるディスク容量が必要にならないようにしてください。
- Hyperdisk Balanced ボリュームと Hyperdisk Balanced High Availability(プレビュー)ボリュームの場合は、マルチライター モードを有効または無効にできます。
- Hyperdisk ML ボリュームの場合は、読み取り専用モードを有効にできます。
Google Cloud コンソールで、[ディスク] ページに移動します。
プロジェクトのディスクのリストで、変更する Hyperdisk ボリュームの名前をクリックします。
ディスク詳細ページで、[
編集] をクリックします。[アクセスモード] フィールドで、目的のアクセスモードを選択します。
- 読み取り専用モードを有効にするには、[複数の VM の読み取り専用] を選択します。
- マルチライター モードを有効にするには、[複数の VM の読み取り / 書き込み] を選択します。
- (デフォルト)シングルライター モードを有効にするには、[1 つの VM の読み取り / 書き込み] を選択します。
変更を適用するには、[保存] をクリックします。
- DISK_NAME: 変更する Hyperdisk ボリュームの名前。
- DISK_ACCESS_MODE: VM がディスク上のデータにアクセスする方法。サポートされている値は次のとおりです。
READ_ONLY_MANY
: 複数の VM からの読み取り専用アクセス。READ_WRITE_MANY
: 複数の VM からの読み取り / 書き込みアクセス。- (デフォルト)
READ_WRITE_SINGLE
: 1 つの VM からの読み取り / 書き込みアクセス。
PROJECT_ID
: プロジェクト ID。ZONE
: Hyperdisk ボリュームが配置されているゾーン。DISK_NAME
: 変更する Hyperdisk ボリュームの名前。DISK_ACCESS_MODE
: VM がディスク上のデータにアクセスする方法。サポートされている値は次のとおりです。READ_ONLY_MANY
: 複数の VM からの読み取り専用アクセス。READ_WRITE_MANY
: 複数の VM からの読み取り / 書き込みアクセス。READ_WRITE_SINGLE
: 1 台の VM からの読み取り / 書き込みアクセス。
ディスクサイズを増やします。
- Hyperdisk スループットの場合: 6 時間に 1 回
- 他のすべての Hyperdisk タイプの場合: 4 時間に 1 回
プロビジョニングされた IOPS またはスループットを変更します。
- Hyperdisk ML の場合: 6 時間に 1 回
- 他のすべての Hyperdisk タイプの場合: 4 時間に 1 回
Google Cloud コンソールで、[ディスク] ページに移動します。
プロジェクトのディスクのリストで、容量またはプロビジョニングされたパフォーマンスを変更する Hyperdisk ボリュームの名前をクリックします。
ディスク詳細ページで、[編集] をクリックします。
- [サイズ] フィールドに、ディスクの新しいサイズを入力します。ディスクサイズはサポートされている値の範囲内にする必要があります。
- Hyperdisk Extreme、Hyperdisk Balanced、Hyperdisk Balanced High Availability の場合: [プロビジョニングされた IOPS] フィールドに、ボリュームの新しい IOPS 値を入力します。
- Hyperdisk Throughput、Hyperdisk ML、Hyperdisk Balanced、Hyperdisk Balanced の高可用性の場合: [プロビジョニングされたスループット] フィールドに、ボリュームの新しいスループット値を入力します。
[保存] をクリックして、変更をディスクに適用します。
- DISK_NAME: 変更する Hyperdisk ボリュームの名前。
- DISK_SIZE: 省略可: ディスクの新しいサイズ。この値は整数で、その後に GB(ギビバイト)または TB(テビバイト)のサイズ単位が続きます。ディスクサイズはサポートされている値の範囲内にする必要があります。
- REGION: 省略可。Hyperdisk Balanced High Availability ディスクが配置されているリージョン
- IOPS_LIMIT: 省略可: Hyperdisk Extreme、Hyperdisk Balanced、Hyperdisk Balanced High Availability ボリュームの IOPS 構成。値はサポートされている値の範囲内にする必要があります。
- THROUGHPUT_LIMIT: 省略可: Hyperdisk Throughput、Hyperdisk ML、Hyperdisk Balanced、Hyperdisk Balanced High Availability ボリュームのスループット構成。1 秒あたりの MiB で測定されたスループットを表す整数として指定します。値はサポートされている値の範囲内にする必要があります。
PROJECT_ID
: プロジェクト ID。ZONE
: Hyperdisk ボリュームが配置されているゾーン。REGION
: Hyperdisk Balanced High Availability ディスクの場合、これはディスクが配置されているリージョンです。DISK_NAME
: 変更する Hyperdisk ボリュームの名前。DISK_SIZE
: 省略可: ディスクの新しいサイズ。この値は整数で、その後に GB(ギビバイト)または TB(テビバイト)のサイズ単位が続きます。ディスクサイズはサポートされている値の範囲内にする必要があります。IOPS_LIMIT
: 省略可: Hyperdisk Extreme、Hyperdisk Balanced、Hyperdisk Balanced High Availability ボリュームの IOPS 構成。値はサポートされている値の範囲内にする必要があります。THROUGHPUT_LIMIT
: 省略可: Hyperdisk Balanced ボリューム、Hyperdisk ML ボリューム、Hyperdisk Balanced ボリューム、Hyperdisk Balanced High Availability ボリュームのスループット構成。1 秒あたりの MiB で測定されたスループットを表す整数として指定します。値はサポートされている値の範囲内にする必要があります。ブートディスク: カスタム Linux イメージまたはカスタム Windows イメージを使用している場合は、ルート パーティションとファイル システムを手動でサイズ変更する必要があります。公開イメージを持つ VM の場合、ブートディスクのサイズを増やして VM を再起動すると、Compute Engine によってルート パーティションとファイル システムのサイズが自動的に変更されます。
非ブートディスク: ディスクのサイズを増やした後、追加した容量を使用するためにディスク上のファイル システムを拡張する必要があります。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
新しいディスクがアタッチされたインスタンスの横にある [SSH] ボタンをクリックします。インスタンスに対するターミナル接続がブラウザに開きます。
df
コマンドとlsblk
コマンドを使用して、ファイル システムのサイズを一覧表示し、ディスクのデバイス名を確認します。$ sudo df -Th Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 3.9G 0 3.9G 0% /dev /dev/nvme0n1p1 ext4 9.7G 2.0G 7.2G 22% / /dev/nvme0n1p15 vfat 124M 12M 113M 10% /boot/efi /dev/nvme0n2 ext4 98G 24K 98G 1% /mnt/disks/data
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 20G 0 disk ├─nvme0n1p1 259:5 0 9.9G 0 part / ├─nvme0n1p14 259:6 0 3M 0 part └─nvme0n1p15 259:7 0 124M 0 part /boot/efi nvme0n2 259:4 0 100G 0 disk /mnt/disks/data
この例には、次のディスクが含まれています。
- ブートディスク:
/dev/nvme0n1p1
パーティションが、20 GB にサイズ変更されたブートディスク上にあります。パーティション分割テーブルとファイル システムは、オペレーティング システムに 9.9 GB だけ提供しています。 - 非ブート データディスク:
/dev/nvme0n2
の非ブートデータディスクにパーティション分割テーブルはありませんが、このディスクのファイル システムはオペレーティング システムに 100 GB の容量を提供しています。このディスクのマウント ディレクトリは/mnt/disks/data
です。
df
コマンド出力の Type 列の値をメモします。これは、ディスクがext4
ファイル システムまたはxfs
ファイル システムを使用しているかどうかを示します。- ブートディスク:
パーティション タイプを確認します。
sudo parted -l
ディスクのサイズを変更した後にこのコマンドを初めて実行すると、次のようなメッセージが表示されることがあります。
Warning: Not all of the space available to /dev/nvme0n1 appears to be used, you can fix the GPT to use all of the space (an extra 20971520 blocks) or continue with the current setting? Fix/Ignore?
Fix
を入力すると、OS はディスクのパーティションを自動的に再構成し、追加の容量を OS で使用できるようにします。変更する追加ディスクがない場合、最後の手順に進みます。自動修正オプションを使用しない場合、またはこのオプションを使用できない場合は、再パーティショニングするディスクの情報を確認します。
sudo parted -l /dev/DEVICE_NAME
Partition Table というフィールドを探します。値が
msdos
の場合、ディスクには MBR パーティション タイプがあります。つまり、このようなディスクの最大サイズは 2 TB になります。ブートディスクの場合は、ディスクのルート パーティションとファイル システムのサイズを変更します。この例では、VM イメージがルート パーティショニングとファイル システムの自動サイズ変更をサポートしていないことを前提としています。
parted
を使用してルート パーティションのサイズを変更します。たとえば、次のコマンドは、デバイスのパーティション 1 を可能な最大サイズに拡張します。デバイスで
parted
を開きます。sudo parted /dev/DEVICE_NAME
プロンプトで、次のコマンドを入力します。
(parted) resizepart
Partition number?
プロンプトで、次のように入力します。1
Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?
プロンプトで、次のように入力します。Yes
End?
プロンプトで、次のコマンドを入力します。100%
(parted)
プロンプトで、次のように入力します。(parted) quit
parted -l
を使用して新しいパーティション テーブルを表示します。sudo parted -l /dev/DEVICE_NAME Model: nvme_card-pd (nvme) Disk /dev/DEVICE_NAME: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 14 1049kB 4194kB 3146kB bios_grub 15 4194kB 134MB 130MB fat16 boot, esp 1 134MB 21.5GB 21.3GB ext4
ファイル システムを拡張します。
ext4
を使用している場合、resize2fs
コマンドを実行します。sudo resize2fs /dev/DEVICE_NAME
xfs
を使用している場合、xfs_growfs
コマンドを実行します。sudo xfs_growfs -d /
btrfs を使用している場合は、
btrfs
コマンドを使用します。sudo btrfs filesystem resize max /
ブートディスク以外のデータディスクの場合は、ディスク上のファイル システムのサイズを変更します。
ext4
を使用している場合は、resize2fs
コマンドを使用してファイル システムを拡張します。sudo resize2fs /dev/DATA_DEVICE_NAME
DATA_DEVICE_NAME
は、データディスクのデバイス名に置き換えます。この例では、/dev/nvme0n2
がデバイス名です。xfs
を使用している場合は、xfs_growfs
コマンドを使用してファイル システムを拡張します。sudo xfs_growfs MOUNT_DIR
btrfs を使用している場合は、
btrfs
コマンドを使用してファイル システムを拡張します。sudo btrfs filesystem resize max MOUNT_DIR
MOUNT_DIR は、デバイスのマウント ポイントに置き換えます。マウント ポイントは、
lsblk
コマンドの出力のMOUNTPOINT
列に表示されます。
df
コマンドを使用して、ファイル システムが拡張されたことを確認します。次に例を示します。df -h /dev/DATA_DEVICE_NAME Filesystem Size Used Avail Use% Mounted on /dev/DATA_DEVICE_NAME 118G 70M 118G 1% MOUNT_DIR
Google Cloud コンソールで [VM インスタンス] ページに移動します。
サイズを変更したディスクが含まれるインスタンスの横にある [RDP] ボタンをクリックします。ブラウザ上でインスタンスに対する RDP 接続が開きます。
Windows の [スタート] ボタンを右クリックし、[ディスクの管理] を選択してディスク管理ツールを開きます。
Powershell を実行して、ディスク パーティション タイプを表示します。
[Partition Style] 列の値が [MBR] の場合、ディスクは MBR パーティション タイプです。つまり、このようなディスクの最大サイズは 2 TB になります。Get-Disk
ディスク管理ツールを更新して、ゾーン永続ディスクの追加容量を認識できるようにします。[ディスクの管理] ウィンドウの上部にある [アクション] をクリックして [最新の情報に更新] を選択します。
サイズを変更したディスクで、フォーマットされたパーティションを右クリックし、[ボリュームの拡張] を選択します。
ボリュームの拡張ウィザードの指示に従って、既存のパーティションを活用して、追加のディスク領域を含めます。既存のパーティションが NTFS でフォーマットされている場合、パーティションの最大サイズはクラスタサイズの設定によって制限されます。
ウィザードが完了してボリュームのフォーマットが終了したら、接続されたディスクのリストで
Status
列を調べて、新しいディスクがHealthy
ステータスとなっていることを確認します。- Hyperdisk の詳細を確認する。
- Hyperdisk ボリュームの現在の IOPS レベルを分析する方法を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロールと権限
Hyperdisk の変更に必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、Hyperdisk の変更に必要な
compute.disks.update
権限が含まれています。カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
Hyperdisk の変更の概要
Hyperdisk ボリュームのアクセスモード、サイズ、パフォーマンス特性は変更できます。
Hyperdisk ボリュームでサポートされているサイズとパフォーマンスの変更
次の表に、各 Hyperdisk タイプでサポートされている容量とパフォーマンスの変更をまとめます。
Hyperdisk タイプ カスタマイズ可能なスループット カスタマイズ可能な IOPS VM 間で共有可能 Hyperdisk Balanced はい はい はい Hyperdisk Balanced High Availability
(プレビュー)はい はい はい Hyperdisk Extreme いいえ ○ いいえ Hyperdisk ML はい × ○
読み取り専用モードHyperdisk Throughput はい いいえ いいえ Hyperdisk ボリュームを作成または変更するときに使用する値は、ディスクあたりの Hyperdisk の上限で説明されている最大値と最小値の範囲内にする必要があります。
VM にアタッチされている Hyperdisk ボリュームのサイズを変更する場合、新しい値は VM あたりの Hyperdisk の上限を超えることはできません。
Hyperdisk ボリュームにプロビジョニングされる IOPS とスループットは、Hyperdisk の IOPS とスループットのプロビジョニングについてで説明されているルールに沿っている必要があります。
容量の変更
Hyperdisk ボリュームのサイズを変更できるのは、サイズを増やす場合のみです。Hyperdisk ボリュームの容量を減らすことはできません。Hyperdisk ボリュームのサイズを小さくする場合は、小さいボリュームを作成し、元のボリュームから小さいボリュームにデータを移行して、元のボリュームを削除する必要があります。
Hyperdisk ボリュームは、実行中の VM にアタッチされている場合でもサイズ変更できます。ただし、Hyperdisk ボリュームがマルチライター モードの場合は、サイズ変更する前にすべての VM からボリュームを切断する必要があります。
Hyperdisk Throughput ボリュームのサイズを変更できるのは、6 時間に 1 回だけです。他のすべての Hyperdisk タイプでは、プロビジョニングされた容量を 4 時間に 1 回変更できます。
最適な結果を得るには、Hyperdisk ボリュームの容量を変更するときに、次の手順を行います。
パフォーマンスの変更
ボリュームは、実行中の VM にアタッチされている場合でも、プロビジョニングされたパフォーマンスを変更できます。
プロビジョニングされた IOPS またはスループットを変更した後、変更が有効になるまで最大 15 分かかることがあります。ただし、以下の例外があります。
Hyperdisk ML を除くすべての Hyperdisk タイプで、プロビジョニングされた IOPS またはスループットを 4 時間に 1 回に変更できます。Hyperdisk ML ボリュームのプロビジョニングされたスループットは 6 時間に 1 回変更できます。
Hyperdisk ボリュームにプロビジョニングされた IOPS またはスループットを変更しても、ディスクデータは削除または変更されません。
指定された上限内で Hyperdisk ボリュームを複数回変更しようとすると、
Cannot update provisioned throughput due to being rate limited.
のようなエラー メッセージが表示されます。アクセスモードの変更
1 つの Hyperdisk ボリュームを複数の VM にアタッチするには、ユースケースに応じて、ボリュームのアクセスモードを読み取り専用モードまたはマルチライター モードに設定する必要があります。
ディスクのマルチ読み取りアクセスまたはマルチ書き込みアクセスを無効にする
Hyperdisk ボリュームで特定のアクションを実行するには、シングルライター モードにする必要があります。たとえば、マルチライター モードの Hyperdisk ボリュームからイメージやスナップショットを作成することはできません。アクセスモードをシングルライターに設定する必要があります。
マルチ読み取りアクセスまたはマルチ書き込みアクセスを無効にするには、すべての VM から切断してから、アクセスモードを設定するの手順に沿って操作する必要があります。
制限事項
ベスト プラクティス
ディスク プロパティが変更されるまでに少なくとも 4 時間待つ必要があるため、次のベスト プラクティスに従ってください。
Hyperdisk ボリュームのアクセスモードを設定する
ディスクのアクセスモードを設定するには、すべての VM からディスクを切断する必要があります。
Hyperdisk ボリュームのアクセスモードには、次の変更を加えることができます。
Hyperdisk ML ボリュームのアクセスモードを読み取り専用に設定した後、そのアクセスモードを変更することはできません。
アクセスモードは、Google Cloud コンソール、Google Cloud CLI、または REST で設定できます。
コンソール
gcloud
disks update
コマンドを実行し、--access-mode
フラグを使用してアクセスモードを指定します。gcloud compute disks update DISK_NAME \ --access-mode=DISK_ACCESS_MODE
次のように置き換えます。
REST
compute.disks.update
メソッドに対してPATCH
リクエストを作成します。リクエスト本文で、"accessMode"
パラメータを使用してアクセスモードを設定します。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/update { "accessMode": "DISK_ACCESS_MODE" }
次のように置き換えます。
Hyperdisk ボリュームのサイズまたはプロビジョニングされたパフォーマンスを変更する
ボリューム サイズを増加し、Hyperdisk ボリュームにプロビジョニングされた IOPS またはスループットを変更できます。ただし、次の制限時間があります。
Hyperdisk ボリュームのプロビジョニング サイズとパフォーマンスは、Google Cloud コンソール、gcloud CLI、または REST で変更できます。
コンソール
gcloud
disks update
コマンドを使用して、--size
フラグ、--provisioned-iops
フラグ、または--provisioned-throughput
フラグを指定します。Hyperdisk Balanced High Availability ボリュームのサイズを変更するには、
--region
フラグを指定します。gcloud compute disks update DISK_NAME \ --size=DISK_SIZE \ [--region=REGION] \ --provisioned-iops=IOPS_LIMIT \ --provisioned-throughput=THROUGHPUT_LIMIT
次のように置き換えます。
REST
compute.disks.update
メソッドに対してPATCH
リクエストを作成します。リクエストの本文で、パラメータsizeGb
、provisionedIops
、またはprovisionedThroughput
を指定します。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME { "sizeGb": "DISK_SIZE, "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT" }
Hyperdisk Balanced High Availability ボリュームを変更するには、
compute.regionDisks.update
メソッドにPATCH
リクエストを作成します。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME { "sizeGb": "DISK_SIZE, "provisionedIops": "IOPS_LIMIT", "provisionedThroughput": "THROUGHPUT_LIMIT" }
次のように置き換えます。
指定された上限内で Hyperdisk ボリュームのサイズまたはパフォーマンスを複数回変更しようとすると、
Cannot update provisioned throughput due to being rate limited
やDisk cannot be resized due to being rate limited
などのエラー メッセージが表示されます。Hyperdisk ボリュームをバックアップする
ディスクのサイズを変更しても、ディスクのデータが削除や変更されることはありませんが、常にスナップショットを作成してディスクをバックアップした後、ファイル システムやパーティションに変更を加えることをおすすめします。
ファイル システムとパーティションのサイズの変更
Hyperdisk ボリュームのサイズを増やした後、ファイル システムとパーティションのサイズ変更が必要になることがあります。
次の例では、ブートディスクのルート パーティションとファイル システムのサイズを手動で変更する方法と、パーティション分割テーブルがない非ブート データディスクのファイル システムのサイズを手動で変更する方法を示します。この例では、アタッチされたディスクがすでにフォーマットされ、マウントされていることを前提としています。
Linux VM
Windows VM
Windows インスタンスでは、Windows の [ディスクの管理] ユーティリティを使用してパーティションのサイズを変更します。
このプロセスの完了後に VM を再起動する必要はありません。これで、追加されたディスク容量をデータの保存に使用できます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-23 UTC。
-