永続ディスクのサイズを増やす

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

仮想マシン(VM)インスタンスで追加の保存容量やパフォーマンスの上限の引き上げが必要な場合に、永続ディスクのサイズを増やすことができます。実行中の VM にアタッチされているかどうにかかわらず、ディスクサイズはいつでも増やすことができます。

ディスクサイズの拡張のみを行うことができ、縮小することはできません。ディスクサイズを減らすには、小さいサイズの新しいディスクを作成する必要があります。元の大きなディスクを削除するまで、両方のディスクに対して課金されます。

カスタム Linux イメージまたはカスタム Windows イメージを作成する場合は、ブートディスクと非ブートディスクのサイズを手動で増やす必要があります。公開イメージを使用している場合は、Compute Engine によってブートディスクのサイズが自動的に変更されます。

ディスクのサイズを増やしても、ディスクデータの削除や変更は行われません。ファイル システムやパーティションを変更する前に、いつもスナップショットを作成してディスクをバックアップすることをお勧めします。

永続ディスクの裏では Compute Engine がハードウェアを管理しているため、ストライピングや冗長化を扱うことなくディスクの追加やサイズ変更を行えます。

ディスクのサイズを増やす

ブートディスクまたは非ブートディスクのディスクのサイズを増やすには、次の手順を使用します。

Console

  1. Google Cloud Console で、[ディスク] ページに移動します。

    [ディスク] に移動

  2. プロジェクトの永続ディスクのリストで、サイズを変更するディスクの名前をクリックします。

  3. ディスク詳細ページで、[編集] をクリックします。

  4. [サイズ] フィールドに、ディスクの新しいサイズを入力します。MBR パーティション テーブルがあるディスクのサイズは、最大 2 TB にまでしか変更できません。

  5. [保存] をクリックして、変更をディスクに適用します。

gcloud

gcloud CLI で、gcloud compute disks resize コマンドを使用して --size フラグを指定し、必要なディスクサイズをギガバイト単位で設定します。

gcloud compute disks resize DISK_NAME --size DISK_SIZE

以下を置き換えます。

  • DISK_NAME: サイズ変更するディスクの名前
  • DISK_SIZE: ディスクの新しいサイズ(ギガバイト単位)。MBR パーティション分割テーブルがあるディスクのサイズは、最大 2 TB までしか変更できません。

Terraform

永続ディスクのサイズを変更するには、google_compute_disk リソースsize パラメータを使用します。

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

size パラメータを image パラメータまたは snapshot パラメータとともに指定する場合、size の値はイメージまたはスナップショットのサイズ以上にする必要があります。

image パラメータと snapshot パラメータを省略すると、size パラメータを既存のディスクサイズよりも小さく設定できます。この操作を行うと、Terraform によってディスクが破棄され、新しい空の永続ディスクが作成されます。再作成の際、Terraform はラベルやスナップショット スケジュールなど、Terraform 構成に含まれていない他のデータをコピーしません。Terraform によるディスクの破棄と再作成を防ぐには、Terraform 構成に lifecycle.prevent_destroy = true 設定を追加します。

API

API で、compute.disks.resize メソッドに対して POST リクエストを作成します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize

{
 "sizeGb": "DISK_SIZE"
}

以下を置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • ZONE: ディスクが配置されているゾーン。
  • DISK_NAME: サイズを変更するディスクの名前。
  • DISK_SIZE: ディスクの新しいサイズ(ギガバイト単位)。MBR パーティション分割テーブルがあるディスクのサイズは、最大 2 TB までしか変更できません。

ファイル システムとパーティションのサイズの変更

ディスクのサイズを増やしたら、ファイル システムとパーティションのサイズを変更する必要があります。次のリストは、ブートディスクと非ブートディスクの追加情報を示しています。

  • ブートディスク: カスタム Linux イメージまたはカスタム Windows イメージを使用している場合は、ルート パーティションとファイル システムを手動でサイズ変更する必要があります。公開イメージを使用した VM の場合、Compute Engine は、ブートディスクのサイズを増やして VM を再起動した後、ルート パーティションとファイル システムのサイズを自動的に変更します。

  • 非ブートディスク: ディスクのサイズを増やした後、追加された容量を使用するには、ディスク上のファイル システムを拡張する必要があります。

次の例では、ブートディスクのルート パーティションとファイル システムのサイズを手動で変更する方法と、パーティション分割テーブルがない非ブート データディスクのファイル システムのサイズを手動で変更する方法を示します。この例では、アタッチされたディスクが以前にフォーマットされてマウントされていることを前提としています。

Linux VM

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 新たにアタッチされたディスクがあるインスタンスの横の [SSH] ボタンをクリックします。インスタンスに対する端末接続がブラウザに開きます。

  3. 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 ファイル システムを使用しているのかを示しています。

  4. パーティション タイプを確認します。

    sudo parted -l
    
    特定のディスクの情報のみを表示するには、次のコマンドを実行します。
    sudo parted -l /dev/DEVICE_NAME
    
    Partition Table というフィールドを探します。値が msdos の場合、ディスクには MBR パーティション タイプがあります。つまり、このようなディスクの最大サイズは 2 TB になります。

  5. ブートディスクのルート パーティションとファイル システムのサイズを変更します。この例では、VM イメージが自動ルート パーティショニングとファイル システム サイズ変更をサポートしていないことを前提としています。

    1. parted を使用してルート パーティションのサイズを変更します。たとえば、次のコマンドは、/dev/sda のパーティション 1 を可能な限り最大サイズに拡張します。

      1. /dev/sda パーティションで parted を開きます。

        sudo parted /dev/sda
        
      2. (parted) プロンプトで、次のように入力します。

        resizepart
        
      3. Partition number? プロンプトで、次のように入力します。

        1
        
      4. Warning: Partition /dev/sda1 is being used. Are you sure you want to continue? プロンプトで、次のように入力します。

        Yes
        
      5. End? プロンプトで、次のように入力します。

        100%
        
      6. (parted) プロンプトで、次のように入力します。

        quit
        
    2. partprobe を使用して新しいパーティション テーブルを読み取ります。

      sudo partprobe /dev/sda
      
    3. ファイル システムを拡張します。

      • ext4 を使用している場合、resize2fs コマンドを使用します。

        sudo resize2fs /dev/sda1
        
      • xfs を使用している場合、xfs_growfs コマンドを使用します。

        sudo xfs_growfs -d /
        
  6. 非ブート データディスク上のファイル システムのサイズを変更します。

    • ext4 を使用している場合は、resize2fs コマンドを使用してファイル システムを拡張します。

      sudo resize2fs /dev/DEVICE_NAME
      

      DEVICE_NAME は、ディスクのデバイス名に置き換えます。この例では、/dev/sdb がデバイス名です。

    • xfs を使用している場合は、xfs_growfs コマンドを使用してファイル システムを拡張します。

      sudo xfs_growfs MOUNT_DIR
      

      MOUNT_DIR は、デバイスのマウント ポイントに置き換えます。マウント ポイントは、lsblk コマンドの出力の MOUNTPOINT 列に表示されます。

  7. df コマンドを使用して、ファイル システムが拡張されたことを確認します。次に例を示します。

    df -h /dev/sdb
    
    Filesystem  Size  Used  Avail  Use%  Mounted on
    /dev/sdb    493G   70M  492G     1%  /mnt/disks/disk-1
    

Windows VM

Windows インスタンスでは、Windows のディスク管理ユーティリティを使用してパーティションのサイズを変更します。

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. サイズを変更したディスクが含まれるインスタンスの横にある [RDP] ボタンをクリックします。ブラウザ上でインスタンスに対する RDP 接続が開きます。

  3. Windows の [スタート] ボタンを右クリックし、[ディスクの管理] を選択してディスク管理ツールを開きます。

    Windows の [スタート] ボタンの右クリック メニューから、Windows ディスク管理ツールを選択します。

  4. Powershell で実行して、ディスク パーティション タイプを表示します。

    Get-Disk
    
    [Partition Style] 列で、値が MBR の場合、ディスクには MBR パーティション タイプがあります。つまり、このようなディスクの最大サイズは 2 TB になります

  5. ディスク管理ツールを更新して、ゾーン永続ディスクの追加容量を認識できるようにします。[ディスクの管理] ウィンドウの上部にある [アクション] をクリックして [更新] を選択します。

    [操作] メニューをクリックして [最新の情報に更新] を選択すると、ディスクの管理ツールでゾーン永続ディスク情報が更新されます。

  6. サイズを変更したディスクで、フォーマットされたパーティションを右クリックし、[ボリュームの拡張] を選択します。

    ディスクのフォーマットされたパーティションを右クリックし、[ボリュームの拡張] オプションを選択します。

  7. ボリュームの拡張ウィザードの指示に従って、既存のパーティションを活用して、追加のディスク領域を含めます。既存のパーティションが NTFS でフォーマットされている場合、パーティションの最大サイズはクラスタサイズの設定によって制限されます。

  8. ウィザードが完了してボリュームのフォーマットが終了したら、接続されたディスクのリストで Status 列を調べて、新しいディスクが Healthy ステータスとなっていることを確認します。

    Windows によって認識されたディスクのリストを表示し、インスタンスが [オンライン] で [正常] ステータスであることを確認します。

このプロセスの完了後にインスタンスを再起動する必要はありません。これで、追加されたディスク領域をデータの保存に使用できます。

次のステップ