仮想マシン(VM)インスタンスで追加の保存容量やパフォーマンスの上限の引き上げが必要な場合に、Persistent Disk のサイズを増やすことができます。ディスクが実行中の VM にアタッチされているかどうかにかかわらず、いつでもディスクサイズを増やすことができます。
このページでは、Persistent Disk のサイズを増やす方法について説明します。Google Cloud Hyperdisk ボリュームのサイズを増やすには、Hyperdisk の設定を変更するをご覧ください。
ディスクサイズの拡張のみを行うことができ、縮小することはできません。ディスクサイズを縮小するには、小さいサイズの新しいディスクを作成する必要があります。サイズの大きい元のディスクを削除するまで、両方のディスクに対して課金されます。
カスタム Linux イメージまたはカスタム Windows イメージを作成する場合は、ブートディスクと非ブートディスクのサイズを手動で増やす必要があります。公開イメージを使用している場合、Compute Engine によってブートディスクのサイズが自動的に変更されます。
ディスクのサイズを増やしても、ディスクデータの削除や変更は行われません。ファイル システムやパーティションを変更する前に、いつもスナップショットを作成してディスクをバックアップすることをお勧めします。
永続ディスクの裏では Compute Engine がハードウェアを管理しているため、ストライピングや冗長化を扱うことなくディスクの追加やサイズ変更を行えます。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) -
サービス アカウントとして実行できる VM に接続する: サービス アカウント ユーザー(v1)(
roles/iam.serviceAccountUser
) Google Cloud コンソールで、[ディスク] ページに移動します。
プロジェクトの永続ディスクのリストで、サイズを変更するディスクの名前をクリックします。
ディスク詳細ページで、[
編集] をクリックします。必要に応じて、 [その他の操作] メニューの [編集] をクリックします。[サイズ] フィールドに、ディスクの新しいサイズを入力します。MBR パーティション分割テーブルがあるディスクのサイズは、最大 2 TB までにしか変更できません。
[保存] をクリックして、変更をディスクに適用します。
DISK_NAME
: サイズ変更するディスクの名前DISK_SIZE
: ディスクの新しいサイズ(ギビバイト(GiB)単位)。MBR パーティション テーブルがあるディスクのサイズは、最大 2 TB にまでしか変更できません。ZONE
: ゾーン Persistent Disk の場合は、ディスクが配置されているゾーンを指定します。リージョン Persistent Disk の場合は、代わりに
--region=REGION
フラグを使用して、リージョン ディスクが配置されているリージョンを指定します。PROJECT_ID
: プロジェクト ID。ZONE
: ゾーン Persistent Disk の場合: ディスクが配置されているゾーン。REGION
: リージョン Persistent Disk の場合: ディスクが配置されているリージョン。DISK_NAME
: サイズを変更するディスクの名前。DISK_SIZE
: ディスクの新しいサイズ(ギビバイト(GiB)単位)。MBR パーティション分割テーブルがあるディスクのサイズは、最大 2 TB までしか変更できません。ブートディスク: カスタム Linux イメージまたはカスタム Windows イメージを使用している場合は、ルート パーティションとファイル システムを手動でサイズ変更する必要があります。公開イメージを持つ VM の場合、ブートディスクのサイズを増やして VM を再起動すると、Compute Engine によってルート パーティションとファイル システムのサイズが自動的に変更されます。
非ブートディスク: ディスクのサイズを増やした後、追加した容量を使用するためにディスク上のファイル システムを拡張する必要があります。
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
新たにアタッチされたディスクがあるインスタンスの横の [SSH] ボタンをクリックします。インスタンスに対する端末接続がブラウザに開きます。
df
コマンドとlsblk
コマンドを使用して、ファイル システムのサイズを一覧表示し、ディスクのデバイス名を確認します。$ sudo df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 9.7G 1.2G 8.5G 12% / /dev/sdb ext4 250G 60M 250G 1% /mnt/disks/disk-1
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk └─sda1 8:1 0 10G 0 part / sdb 8:16 0 500G 0 disk /mnt/disks/disk-1
この例には、次のディスクが含まれています。
- ブートディスク:
/dev/sda1
パーティションが、20 GB にサイズ変更されたブートディスク上にあります。パーティション分割テーブルとファイル システムは、オペレーティング システムに 9.7 GB だけ提供しています。 - 非ブート データディスク:
/dev/sdb
の非ブートデータディスクにパーティション分割テーブルはありませんが、このディスクのファイル システムはオペレーティング システムに 250 GB だけ容量を提供しています。このディスクのマウント ディレクトリは/mnt/disks/disk-1
です。
df
コマンドにより、/dev/sda1
パーティションがルート ファイル システムとしてマウントされ、/dev/sdb
ディスクが/mnt/disks/disk-1
の非ブート データディスクとしてマウントされていることが示されます。[タイプ] 列をメモします。これは、ディスクがext4
ファイル システムを使用しているのか、あるいはxfs
ファイル システムを使用しているのかを示しています。- ブートディスク:
パーティション タイプを確認します。
特定のディスクに関する情報のみを表示するには:sudo parted -l
[パーティション テーブル] フィールドを探します。値がsudo parted -l /dev/DEVICE_NAME
msdos
の場合、ディスクのタイプは MBR パーティションです。つまり、このようなディスクの最大サイズは 2 TB になります。ブートディスクのルート パーティションとファイル システムのサイズを変更します。この例では、VM イメージがルート パーティショニングとファイル システムの自動サイズ変更をサポートしていないことを前提としています。
parted
を使用してルート パーティションのサイズを変更します。たとえば、次のコマンドは、/dev/sda
のパーティション1
を可能な最大サイズに拡張します。/dev/sda
パーティションでparted
を開きます。sudo parted /dev/sda
(parted)
プロンプトで、次のように入力します。resizepart
Partition number?
プロンプトで、次のように入力します。1
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
プロンプトで、次のように入力します。Yes
End?
プロンプトで、次のコマンドを入力します。100%
(parted)
プロンプトで、次のように入力します。quit
partprobe
を使用して新しいパーティション テーブルを読み取ります。sudo partprobe /dev/sda
ファイル システムを拡張します。
ext4
を使用している場合、resize2fs
コマンドを使用します。sudo resize2fs /dev/sda1
xfs
を使用している場合、xfs_growfs
コマンドを使用します。sudo xfs_growfs -d /
btrfs を使用している場合は、
btrfs
コマンドを使用します。sudo btrfs filesystem resize max /
非ブート データディスク上のファイル システムのサイズを変更します。
ext4
を使用している場合は、resize2fs
コマンドを使用してファイル システムを拡張します。sudo resize2fs /dev/DEVICE_NAME
DEVICE_NAME
は、ディスクのデバイス名に置き換えます。この例では、/dev/sdb
がデバイス名です。xfs
を使用している場合は、xfs_growfs
コマンドを使用してファイル システムを拡張します。sudo xfs_growfs MOUNT_DIR
MOUNT_DIR は、デバイスのマウント ポイントに置き換えます。マウント ポイントは、
lsblk
コマンドの出力のMOUNTPOINT
列に表示されます。btrfs を使用している場合は、
btrfs
コマンドを使用してファイル システムを拡張します。sudo btrfs filesystem resize max MOUNT_DIR
MOUNT_DIR は、デバイスのマウント ポイントに置き換えます。マウント ポイントは、
lsblk
コマンドの出力のMOUNTPOINT
列に表示されます。
df
コマンドを使用して、ファイル システムが拡張されたことを確認します。次に例を示します。df -h /dev/sdb Filesystem Size Used Avail Use% Mounted on /dev/sdb 493G 70M 492G 1% /mnt/disks/disk-1
Google Cloud コンソールで [VM インスタンス] ページに移動します。
サイズを変更したディスクが含まれるインスタンスの横にある [RDP] ボタンをクリックします。ブラウザ上でインスタンスに対する RDP 接続が開きます。
Windows の [スタート] ボタンを右クリックし、[ディスクの管理] を選択してディスク管理ツールを開きます。
Powershell を実行して、ディスク パーティション タイプを表示します。
[Partition Style] 列の値が [MBR] の場合、ディスクのタイプは MBR パーティションです。つまり、このようなディスクの最大サイズは 2 TB になります。Get-Disk
ディスク管理ツールを更新して、ゾーン永続ディスクの追加容量を認識できるようにします。[ディスクの管理] ウィンドウの上部にある [アクション] をクリックして [更新] を選択します。
サイズを変更したディスクで、フォーマットされたパーティションを右クリックし、[ボリュームの拡張] を選択します。
ボリュームの拡張ウィザードの指示に従って、既存のパーティションを活用して、追加のディスク領域を含めます。既存のパーティションが NTFS でフォーマットされている場合、パーティションの最大サイズはクラスタサイズの設定によって制限されます。
ウィザードが完了してボリュームのフォーマットが終了したら、接続されたディスクのリストで
Status
列を調べて、新しいディスクがHealthy
ステータスとなっていることを確認します。
Terraform
ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロールと権限
Persistent Disk のサイズ変更に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、Persistent Disk のサイズ変更に必要な
compute.disks.update
権限が含まれています。カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
ディスクのサイズを増やす
ブートディスクまたは非ブートディスクのディスクのサイズを増やすには、次の手順を使用します。
コンソール
ディスクのリストに新しいディスクサイズが表示されます。
gcloud
gcloud compute disks resize
コマンドを使用して、--size
フラグを指定し、新しいディスクサイズをギガバイト(GiB)単位で設定します。gcloud compute disks resize DISK_NAME \ --size DISK_SIZE \ --zone=ZONE
次のように置き換えます。
Terraform
ゾーンディスクまたはリージョン Persistent Disk のサイズを変更するには、次のいずれかのオプションを選択します。
ゾーンディスク
Persistent Disk のサイズを変更するには、
google_compute_disk
リソースとsize
パラメータを使用します。size
パラメータをimage
パラメータまたはsnapshot
パラメータとともに指定する場合、size
の値はイメージまたはスナップショットのサイズ以上にする必要があります。image
パラメータとsnapshot
パラメータを省略した場合、size
パラメータは既存のディスクサイズよりも小さく設定できます。この操作を行うと、Terraform によってディスクが破棄され、新しい空の Persistent Disk が作成されます。リージョン Persistent Disk
リージョン Persistent Disk のサイズを変更するには、
google_compute_region_disk
リソースとsize
パラメータを使用します。size
パラメータをimage
パラメータまたはsnapshot
パラメータとともに指定する場合、size
の値はイメージまたはスナップショットのサイズ以上にする必要があります。image
パラメータとsnapshot
パラメータを省略した場合、size
パラメータは既存のディスクサイズよりも小さく設定できます。この操作を行うと、Terraform によってディスクが破棄され、新しい空の RegionalPersistent Disk が作成されます。REST
Persistent Disk のサイズを変更するには、
compute.disks.resize
メソッドにPOST
リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize { "sizeGb": "DISK_SIZE" }
リージョン Persistent Disk のサイズを変更するには、
compute.regionDisks.resize
メソッドに対するPOST
リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize { "sizeGb": "DISK_SIZE" }
次のように置き換えます。
ファイル システムとパーティションのサイズの変更
ディスクのサイズを増やした後、ファイル システムとパーティションのサイズ変更が必要になることがあります。次のリストは、ブートディスクと非ブートディスクの追加情報を示しています。
次の例では、ブートディスクのルート パーティションとファイル システムのサイズを手動で変更する方法と、パーティション分割テーブルがない非ブート データディスクのファイル システムのサイズを手動で変更する方法を示します。この例では、ディスクが SCSI を使用して接続され、すでにフォーマットされ、マウントされていることを前提としています。
Persistent Disk が NVMe を使用して接続されている場合は、NVMe に接続されたディスクの出力の例については、ファイル システムとパーティションのサイズを変更するをご覧ください。
Linux VM
Windows VM
Windows インスタンスでは、Windows の [ディスクの管理] ユーティリティを使用してパーティションのサイズを変更します。
このプロセスの完了後に VM を再起動する必要はありません。これで、追加されたディスク容量をデータの保存に使用できます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-