永続ディスクの追加またはサイズ変更

このページでは、永続ブートディスクとセカンダリ(非ブート)永続ディスクの両方のサイズを変更する方法について説明します。また、このページでは、インスタンス上に新しい永続ディスクを追加およびフォーマットする方法についても説明します。永続ディスクのサイズ変更は、大きくすることだけが可能です。永続ディスクのサイズを小さくすることはできません。

永続ディスクには、標準のハードディスク ドライブ(HDD)またはソリッドステート ドライブ(SSD)を使用できます。永続ディスクの概要と使用可能な永続ディスクの種類については、永続ディスクの概要を参照してください。

永続ディスクに対応するハードウェアは Compute Engine によって管理されるため、ストライプ化または冗長性の設定を行わずにディスクの追加やサイズ変更を行うことができます。予備ディスクとして大容量の 1 台を接続して追加容量が必要になったときにサイズを変更するか、複数の小容量ディスクを接続してデータを複数のボリュームに分割します。

イメージからディスクを作成しない限り、新しい永続ディスクはデータやファイル システムなしで起動します。これらのディスクは、インスタンスに接続した後に自分でフォーマットする必要があります。

標準永続ディスクまたは SSD 永続ディスクのいずれかがパフォーマンスと柔軟性の要件すべてを満たさない場合は、インスタンスにその他のストレージ オプションを追加することができます。

始める前に

インスタンスに永続ディスクを追加する

標準永続ディスクまたは SSD 永続ディスクを作成して、既存のインスタンスに接続します。インスタンスがない場合は、まず新しいインスタンスを作成して起動する必要があります。インスタンスの作成時には、アプリケーション、データファイル、データベース、ログを別々のボリュームに保存するために、最大 15 個のセカンダリ非ブート永続ディスクを接続できます。

永続ディスクの作成と接続には、Google Cloud Platform Consolegcloud ツールAPI を使用します。

Console

Google Cloud Platform Console で永続ディスクを作成して接続します。

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動する

  2. ディスクを追加するインスタンスの名前をクリックします。
  3. インスタンス詳細ページの一番上で [編集] をクリックします。
  4. [追加ディスク] の下で [項目を追加] をクリックします。
  5. [名前] プルダウン メニューで、[ディスクの作成] をクリックします。
  6. ディスクの名前を指定して、ディスクのプロパティを構成し、[空のディスク] オプションを選択します。
  7. [作成] をクリックしてディスクを作成します。
  8. インスタンス詳細ページの一番下で [保存] をクリックし、変更内容をインスタンスに適用して新しいディスクを接続します。
  9. 新しいディスクを作成してインスタンスに接続したら、ディスクをフォーマットしてマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。

gcloud


gcloud ツールを使用して、永続ディスクを作成して接続します。

  1. gcloud compute disks create コマンドを使用して、新しい永続ディスクを作成します。スループットまたは IOPS を上げるために SSD 永続ディスクが必要な場合は、--type フラグを含めて pd-ssd を指定します。

    gcloud compute disks create [DISK_NAME] --size [DISK_SIZE] --type [DISK_TYPE]
    

    ここで:

    • [DISK_NAME] は新しいディスクの名前です。
    • [DISK_SIZE] は新しいディスクのサイズ(GB)です。
    • [DISK_TYPE] は永続ディスクのタイプです。pd-standard または pd-ssd
  2. ディスクを作成したら、実行中のインスタンスまたは停止しているインスタンスに接続します。gcloud compute instances attach-disk コマンドを使用します。

    gcloud compute instances attach-disk [INSTANCE_NAME] --disk [DISK_NAME]
    

    ここで:

    • [INSTANCE_NAME] は新しい永続ディスクを追加するインスタンスの名前です。
    • [DISK_NAME] は、インスタンスに接続する新しいディスクの名前です。

新しいディスクを作成してインスタンスに接続したら、ディスクをフォーマットしてマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。

API


  1. API で、disks.insert メソッドを使用して永続ディスクを作成する POST リクエストを作成します。name プロパティ、sizeGb プロパティ、type プロパティを含めます。これは空のデータディスクであるため、sourceImage プロパティを含める必要があります。

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks
    
    {
     "name": "[DISK_NAME]",
     "sizeGb": "[DISK_SIZE]",
     "type": "zones/[ZONE]/diskTypes/[DISK_TYPE]"
    }
    

    ここで:

    • [PROJECT_ID] はプロジェクト ID です。
    • [ZONE] はインスタンスと新しいディスクが配置されるゾーンです。
    • [DISK_NAME] は新しいディスクの名前です。
    • [DISK_SIZE] は新しいディスクのサイズ(GB)です。
    • [DISK_TYPE] は永続ディスクのタイプです。pd-standard または pd-ssd
  2. compute.instances.attachDisk メソッドに対して POST リクエストを作成し、作成したばかりの永続ディスクの URL を含めます。

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk
    
    {
     "source": "/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]"
    }
    

    ここで:

    • [PROJECT_ID] はプロジェクト ID です。
    • [ZONE] はインスタンスと新しいディスクが配置されるゾーンです。
    • [INSTANCE_NAME] は新しい永続ディスクを追加するインスタンスの名前です。
    • [DISK_NAME] は新しいディスクの名前です。

新しいディスクを作成してインスタンスに接続したら、ディスクをフォーマットしてマウントする必要があります。こうすることで、オペレーティング システムが保存容量を使用できるようになります。

永続ディスクをフォーマットしてマウントする

新しい永続ディスクはデータやファイル システムなしで起動します。これらのディスクは、インスタンスに接続した後に自分でフォーマットする必要があります。フォーマットのプロセスは Linux インスタンスと Windows インスタンスで異なります。

Linux インスタンス


Linux インスタンスで新しいディスクをフォーマットしてマウントします。必要なパーティションのフォーマットと構成を使用できますが、最も簡単な方法は、パーティション テーブルなしで単一の ext4 ファイル システムを作成することです。この方法では、追加のストレージが必要になった場合に簡単にディスクのサイズを変更することができます。

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動する

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

  3. 端末で lsblk コマンドを実行して、インスタンスに接続しているディスクの一覧を取得します。フォーマットしてマウントするディスクを探します。

    $ sudo lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   10G  0 disk
    └─sda1   8:1    0   10G  0 part /
    sdb      8:16   0  250G  0 disk
    

    この例では、sdb が新しい永続ディスクのデバイス ID です。

  4. ディスクをフォーマットします。任意のファイル フォーマットを使用できますが、最も簡単な方法は、ディスク全体を 1 つの ext4 ファイルシステムでフォーマットし、パーティション テーブルを作成しない方法です。あとで永続ディスクのサイズを変更する場合、ディスク パーティションを変更せずにファイル システムのサイズを変更できます。

    ディスクのフォーマットには mkfs ツールを使用します。このコマンドを実行すると、指定したディスクからすべてのデータが削除されます。正しいディスク デバイスを指定してください。ディスクのパフォーマンスを最大限に引き出すには、-E フラグで推奨フォーマット オプションを使用します。このセカンダリ ディスクではルート用に領域を確保する必要はありません。-m 0 を指定して、使用可能なディスク容量をすべて使用します。

    $ sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/[DEVICE_ID]
    

    [DEVICE_ID] は、フォーマットする永続ディスクの端末 ID です。この例では、パーティション テーブルを作成せずにディスク全体をフォーマットするため、sdb を指定しています。

  5. 新しいディスクのマウント ポイントにするディレクトリを作成します。任意のディレクトリを使用できますが、この例では、/mnt/disks/ の下に新しいディレクトリを作成します。

    $ sudo mkdir -p /mnt/disks/[MNT_DIR]
    

    ここで、[MNT_DIR] は永続ディスクをマウントするディレクトリです。

  6. mount ツールを使用して、discard オプションを有効にしてインスタンスにディスクをマウントします。

    $ sudo mount -o discard,defaults /dev/[DEVICE_ID] /mnt/disks/[MNT_DIR]
    

    ここで:

    • [DEVICE_ID] は、マウントする永続ディスクのデバイス ID です。
    • [MNT_DIR] は永続ディスクをマウントするディレクトリです。
  7. デバイスに読み取り権限と書き込み権限を設定します。この例では、デバイスの書き込みアクセスをすべてのユーザーに許可します。

    $ sudo chmod a+w /mnt/disks/[MNT_DIR]
    

    ここで、[MNT_DIR] は永続ディスクをマウントするディレクトリです。

オプションで、永続ディスクを /etc/fstab ファイルに追加して、インスタンスが再起動した場合に自動的にデバイスが再マウントされるようにします。

  1. 現在の /etc/fstab ファイルのバックアップを作成します。

    $ sudo cp /etc/fstab /etc/fstab.backup
    

  2. blkid コマンドを使用して、永続ディスクの UUID を探します。ディスクをフォーマットすると、この UUID が生成されます。システム間でディスクを移動しても UUID は変更されません。このため、永続ディスクのマウントに UUID を使用します。

    $ sudo blkid /dev/[DEVICE_ID]
    
    /dev/[DEVICE_ID]: UUID="[UUID_VALUE]" TYPE="ext4"
    

    ここで:

    • [DEVICE_ID] は、自動的にマウントする永続ディスクのデバイス ID です。ディスクにパーティション テーブルを作成した場合には、マウントするパーティションを指定します。
    • [UUID_VALUE] は、/etc/fstab ファイルに必要な永続ディスクの UUID です。
  3. テキスト エディタで /etc/fstab ファイルを開き、UUID を含むエントリを作成します。例:

    UUID=[UUID_VALUE] /mnt/disks/[MNT_DIR] ext4 discard,defaults,[NOFAIL_OPTION] 0 2
    

    ここで:

    • [UUID_VALUE] は、/etc/fstab ファイルに必要な永続ディスクの UUID です。
    • [MNT_DIR] は永続ディスクをマウントしたディレクトリです。
    • [NOFAIL_OPTION] は、ブート時に永続ディスクをマウントできない場合のオペレーティング システムの動作を指定する変数です。永続ディスクをマウントできなくてもシステムが起動を継続できるようにするには、このオプションを指定します。ほとんどのディストリビューションでは、nofail オプションを指定します。Ubuntu 12.04 または Ubuntu 14.04 では、nobootwait オプションを指定します。

    この手順は 1 つのコマンドで実行することもできます。たとえば、次のコマンドを実行すると、UUID を使用して /dev/sdb 永続ディスクを /mnt/disks/disk-1 にマウントするエントリが /etc/fstab に作成されます。

    $ echo UUID=`sudo blkid -s UUID -o value /dev/sdb` /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
    
    UUID=c994cf26-1853-48ab-a6a5-9d7c0250fed4 /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2
    
    

  4. cat コマンドを使用して、/etc/fstab エントリが正しいことを確認します。

    $ cat /etc/fstab
    
    LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
    UUID=d761bdc5-7e2a-4529-a393-b9aefdb623b6 /mnt/disks/disk-1 ext4 discard,defaults,nofail 0 2
    
    

この永続ディスクを接続解除する場合、またはこのインスタンスのブートディスクからスナップショットを作成する場合は、/etc/fstab ファイルを編集し、この永続ディスクのエントリを削除します。nofail オプションまたは nobootwait オプションを使用する場合でも、インスタンスに接続されているデバイスと /etc/fstab ファイルを同期し、ブートディスクのスナップショットを作成する場合や永続ディスクを接続解除する場合はその前に、これらのエントリを削除します。

Windows インスタンス


Windows の [ディスクの管理] ツールを使用して、Windows インスタンスで新しいディスクをフォーマットしてマウントします。

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動する

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

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

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

  4. これまでに永続ディスクを初期化していなかった場合、新しいディスクのパーティション化スキームを選択するように求められます。[GPT] を選択して [OK] をクリックします。

    ディスク初期化ウィンドウでパーティション化スキームを選択します。

  5. ディスクが初期化されたら、未割り当てのディスク領域を右クリックして、[新しいシンプル ボリューム] を選択します。

    接続したディスクで新しいシンプル ボリュームを作成します。

  6. [新しいシンプル ボリューム ウィザード] の指示に沿って、新しいボリュームを構成します。任意のパーティション フォーマットを使用できますが、この例では [NTFS] を選択します。また、[クイック フォーマットする] を選択すると、フォーマット プロセスが高速化されます。オプションとして、[アロケーション ユニット サイズ] フィールドでクラスタのサイズを設定することもできます。クラスタのサイズによってパーティションの最大サイズが制限されます。 永続ディスクとこのパーティションのサイズを後で変更しようとする場合。

    [新しいシンプル ボリューム ウィザード] でパーティションのフォーマット タイプを選択します。

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

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

これで作業は完了です。ファイルを永続ディスクに書き込むことができます。

永続ディスクのサイズを変更する

インスタンスで保存容量がさらに必要になる場合、永続ディスクのサイズを変更できます。また、データを固有のパーティションに分割する必要がある場合にのみ、複数の予備ディスクを接続します。

実行中のインスタンスに接続しているかどうにかかわらず、いつでもサイズを変更できます。

Console


  1. [ディスク] ページに移動して、プロジェクトの永続ディスクのリストを表示します。

    [ディスク] ページに移動する

  2. サイズを変更するディスクの名前をクリックします。
  3. ディスク詳細ページの上部で、[編集] をクリックします。
  4. [サイズ] フィールドに、ディスクの新しいサイズを入力します。MBR パーティション テーブルがあるブートディスクとセカンダリ ディスクのサイズは、最大 2 TB までしか変更できません。
  5. ディスク詳細ページの下部で、[保存] をクリックして変更をディスクに保存します。
  6. ディスクをサイズ変更したら、オペレーティング システムが追加の容量にアクセスできるように、ファイル システムをサイズ変更する必要があります。

gcloud


gcloud ツールで disks resize コマンドを使用して、--size フラグと必要なディスクサイズ(GB)を指定します。

gcloud compute disks resize [DISK_NAME] --size [DISK_SIZE]

ここで

  • [DISK_NAME] はサイズ変更しているディスクの名前です。
  • [DISK_SIZE] はディスクの新しいサイズ(GB)です。MBR パーティション テーブルがあるブートディスクとセカンダリ ディスクのサイズは、最大 2 TB までしか変更できません。

ディスクをサイズ変更したら、オペレーティング システムが追加の容量にアクセスできるように、ファイル システムをサイズ変更する必要があります。

API


API で、compute.disks.resize メソッドに対する POST リクエストを作成します。リクエストの本文には、sizeGb パラメータを指定し、GB 単位で目的のディスクサイズを設定します。

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

{
 "sizeGb": "[DISK_SIZE]"
}

ここで:

  • [PROJECT_ID] はプロジェクト ID です。
  • [ZONE] はディスクが配置されるゾーンです。
  • [DISK_NAME] はサイズ変更しているディスクの名前です。
  • [DISK_SIZE] はディスクの新しいサイズ(GB)です。MBR パーティション テーブルがあるブートディスクとセカンダリ ディスクのサイズは、最大 2 TB までしか変更できません。

ディスクをサイズ変更したら、オペレーティング システムが追加の容量にアクセスできるように、ファイル システムをサイズ変更する必要があります。

永続ディスク上のファイル システムおよびパーティションのサイズを変更する

永続ディスクのサイズを変更したら、追加のディスク領域を使用するようにディスク上のファイル システムを設定する必要があります。ディスクにブートディスクなどのパーティション テーブルがある場合は、パーティションを拡張し、そのパーティション上のファイル システムのサイズを変更する必要があります。永続ディスクにファイル システムのみが含まれ、パーティション テーブルが存在しない場合は、ファイル システムのサイズを変更することしかできません。

代わりに、最新版の公開イメージを使用するインスタンスでは、システムの再起動後にパーティションとファイル システムのサイズを自動的に変更できます。この機能をサポートしていない公開イメージは、SUSE Linux Enterprise Server(SLES)公開イメージのみです。

永続ディスク上のファイル システムを変更する前に、スナップショットを作成してください。

Linux インスタンス


Linux インスタンスでは、インスタンスに接続し、追加したディスク容量を使用するようにパーティションとファイル システムのサイズを手動で変更します。この手動プロセスでは、インスタンスを再起動する必要はありません。

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動する

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

  3. サイズ変更するファイル システムとパーティションがあるディスクを特定します。ディスクがすでにマウントされている場合は、df コマンドと lsblk コマンドを使用して、ファイル システムのサイズを比較し、ディスク ID を見つけることができます。この例では、/dev/sda1 パーティションはサイズが変更された 20 GB のブートディスク上にありますが、パーティション テーブルとファイル システムでは 9.7 GB だけがオペレーティング システムに提供されます。さらに、/dev/sdb セカンダリ ディスクにはパーティション テーブルがありませんが、このディスク上のファイルシステムでは 250 GB だけがオペレーティング システムに提供されます。

    $ df -h
    
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1       9.7G  1.2G  8.5G  12% /
    /dev/sdb        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
    
    

    この例では、df コマンドによって、/dev/sda1 パーティションがルートファイル システムとしてマウントされ、/dev/sdb ディスクが /mnt/disks/disk-1 セカンダリ ディスクとしてマウントされていることが示されています。

  4. ディスクにパーティション テーブルがなく、単にファイル システムがディスクに書き込まれている場合は、'growpart' ステップをスキップできます。

    サイズを変更するディスクにパーティション テーブルがある場合は、ファイル システムのサイズを変更する前にパーティションを拡張する必要があります。growpart を使用してイメージ パーティションのサイズを変更します。ユーティリティに growpart が含まれていないイメージもあるため、インストールが必要になる場合があります。

    $ sudo growpart /dev/[DEVICE_ID] [PARTITION_NUMBER]

    ここで [DEVICE_ID] は端末 ID、[PARTITION_NUMBER] はその端末のパーティション番号です。たとえば、sudo growpart /dev/sdb 1 となります。この場合、端末 ID とパーティション番号の間にスペースがあるので注意してください。

  5. 追加されたスペースを使用するには、ディスク上またはパーティション上のファイル システムを拡張します。ディスク上のパーティションを拡張した場合は、そのパーティションを指定します。ディスクにパーティション テーブルがない場合は、ディスク ID のみを指定します。

    $ sudo resize2fs /dev/[DEVICE_ID][PARTITION_NUMBER]

    ここで、[DEVICE_ID] はファイル システムのサイズを変更する端末の端末 ID、[PARTITION_NUMBER] はパーティション番号です。たとえば、/dev/sdb はディスクを指し、/dev/sdb1 はそのディスクの最初のパーティションを指します。

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

    $ sudo xfs_growfs /dev/[DEVICE_ID][PARTITION_NUMBER]

  6. df コマンドを使用して、ファイル システムのサイズ変更を確認することもできます。

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

    ここで [DEVICE_ID] は、ファイル システム構成を表示するディスクの端末 ID です。

Windows インスタンス


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

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動する

  2. サイズを変更したディスクが含まれるインスタンスの横の [RDP] ボタンをクリックします。ブラウザによってインスタンスに対する RDP 接続が開きます。
  3. Windows の [スタート] ボタンを右クリックし、[ディスクの管理] を選択してディスク管理ツールを開きます。

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

  4. 永続ディスクの追加容量を認識するように、ディスク管理ツールを更新します。[ディスクの管理] ウィンドウの上部にある [操作] をクリックして [最新の情報に更新] を選択します。

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

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

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

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

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

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

これで、拡張した永続ディスクの容量を使用してデータを保存できるようになります。

永続ディスクの自動削除状態を設定する

読み取りと書き込みが可能な永続ディスクは、対応する仮想マシン インスタンスの削除時に自動的に削除することができます。この動作は、所定の接続済み永続ディスクに関して仮想マシン インスタンスの autoDelete プロパティによって制御され、いつでも更新できます。同様に、autoDelete の値を false に設定すると、永続ディスクが削除されないように設定することもできます。

Console


  1. [VM インスタンス] ページに移動します。
  2. [VM インスタンス] ページで、ディスクを切断するインスタンスを選択します。
  3. [ブートディスクとローカル ディスク] の下で、[インスタンスを削除する際にブートディスクを削除する] オプションが選択されているかどうかを確認します。これを選択解除する場合は、ページの一番上で [編集] ボタンをクリックします。
  4. 変更を保存します。

gcloud


永続ディスクの自動削除状態を設定するには、gcloud compute instances set-disk-auto-delete コマンドを使用します。

gcloud compute instances set-disk-auto-delete example-instance \
  [--auto-delete|--no-auto-delete] --disk example-disk

API


API を使用している場合は、次の URI に POST リクエストを作成します。

https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/example-instance/setDiskAutoDelete?deviceName=deviceName,autoDelete=true

クライアント ライブラリを使用している場合は、instances().setDiskAutoDelete メソッドを使用します。

def setAutoDelete(gce_service, auth_http):
  request = gce_service.instances().setDiskAutoDelete(project=example-project, zone=us-central1-f, deviceName=my-new-device, instance=example-instance, autoDelete=True)
  response = request.execute(http=auth_http)

  print response

複数インスタンス間で永続ディスクを共有する

非ブート永続ディスクを複数の仮想マシン インスタンスに読み取り専用モードで接続し、複数インスタンス間で静的データを共有することができます。1 つの永続ディスクの静的データを複数インスタンスで共有することは、個別インスタンス固有のディスクにデータをレプリケートするよりもコストがかかりません。

永続ディスクを複数インスタンスに接続する場合、すべてのインスタンスが永続ディスクを読み取り専用モードで接続する必要があります。複数のインスタンスに読み取り/書き込みモードで永続ディスクを接続することはできません。複数インスタンスで動的保存容量を共有する必要がある場合は、インスタンスを Cloud Storage に接続するか、ネットワーク ファイル サーバーを作成してください。

複数のインスタンスで共有したいデータを含む永続ディスクがある場合は、読み取り/書き込みインスタンスとの接続を切断し、1 つ以上のインスタンスと読み取り専用モードで接続します。

Console


  1. [インスタンス] ページに移動して、プロジェクトのインスタンスの一覧を表示します。

    [インスタンス] ページに移動する

  2. [名前] 列で、ディスクを接続するインスタンスの名前をクリックします。インスタンスの詳細ページが開きます。
  3. インスタンス詳細ページの一番上で [編集] をクリックします。
  4. [追加ディスク] セクションで [項目を追加] をクリックして、接続されている非ブート永続ディスクのリストにディスクを追加します。
  5. [名前] 列で [ディスクを選択してください] をクリックし、接続するディスクの名前をクリックします。新しい非ブートディスクを作成する場合は、そのディスクのプロパティを設定し、[作成] をクリックして変更を適用します。
  6. [モード] 列で [読み取りと書き込み] をクリックして [読み取り専用] に変更します。
  7. インスタンスの詳細ページの一番下で [保存] をクリックして、変更内容をインスタンスに適用します。
  8. インスタンスに接続して、ディスクをマウントします。
  9. このプロセスを繰り返して、他のインスタンスに読み取り専用モードでディスクを追加します。

gcloud


gcloud ツールで instances attach-disk コマンドを使用し、--mode フラグと ro オプションを指定します。

gcloud compute instances attach-disk [INSTANCE_NAME] --disk [DISK_NAME] --mode ro

ここで

  • [INSTANCE_NAME] は永続ディスクを接続するインスタンスの名前です。
  • [DISK_NAME] は接続するディスクの名前です。

ディスクを接続した後で、インスタンスに接続して、ディスクをマウントします。

ディスクを読み取り専用モードで追加するインスタンスごとにこのコマンドを繰り返します。

API


API で、compute.instances.attachDisk メソッドに対する POST リクエストを作成します。リクエストの本文で mode パラメータに READ_ONLY を指定します。

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk

{
 "source": "zones/[ZONE]/disks/[DISK_NAME]",
 "mode": "READ_ONLY"
}

ここで: - [INSTANCE_NAME] は永続ディスクを接続するインスタンスの名前です。 - [PROJECT_ID] はプロジェクト ID です。 - [ZONE] はディスクが配置されるゾーンです。 - [DISK_NAME] はサイズ変更しているディスクの名前です。

ディスクを接続した後で、インスタンスに接続して、ディスクをマウントします。

ディスクを読み取り専用モードで追加するインスタンスごとにこのリクエストを繰り返します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント