ディスクタイプを変更する


このドキュメントでは、ディスクに対して特定のタスクを実行する方法について説明します。次のいずれかのタスクを実行するには、新しいディスクを作成する必要があります。ディスクに対して次の変更を行うことはできません。

  • ディスクのタイプを変更します。たとえば、Hyperdisk Throughput ボリュームを Hyperdisk Balanced ボリュームに変更します。
  • ディスクの暗号化タイプを変更します。たとえば、ディスクの暗号化を Google 生成の鍵から顧客管理の暗号鍵(CMEK)に変更します。
  • ディスクを Hyperdisk ストレージ プールとの間で移動する。

前述のいずれかのタスクを実行する手順は次のとおりです。

  1. 既存のディスクのスナップショットを作成します。
  2. スナップショットをディスクのデータソースとして使用して、正しいタイプまたはストレージ プール(プレースメント)内に新しいディスクを作成します。
  3. 新しいディスクを確認したら、元のディスクを削除できます。

始める前に

  • 新しい 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

必要なロールと権限

ディスクタイプを変更するために必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、ディスクタイプを変更するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

ディスクタイプを変更するには、次の権限が必要です。

  • ディスクのスナップショットを作成するには:
    • プロジェクトに対する compute.snapshots.create
    • ディスクに対する compute.disks.createSnapshot
  • 新しいディスクを作成するには: プロジェクトに対する compute.disks.create
  • ストレージ プールにディスクを作成するには:
    • プロジェクトに対する compute.storagePools.use
    • プロジェクトに対する compute.disks.create
  • ディスクを VM にアタッチするには:
    • VM に対する compute.instances.attachDisk
    • VM にアタッチするボリュームに対する compute.disks.use
  • ディスクを削除する: プロジェクトに対する compute.disks.delete

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

ディスクのタイプまたはプレースメントを変更する

Persistent Disk ボリュームを Hyperdisk に移行する場合、またはストレージ プール内外でディスクを再作成する場合は、ディスクのスナップショットを作成し、そのスナップショットを新しいディスクの作成時に使用します。

新しい Hyperdisk ボリュームを作成する場合は、スタンドアロン ディスクとして作成することも、ストレージ プール(存在する場合)にディスクを作成することもできます。

コンソール

  1. ディスク スナップショットの作成の準備を行います。

    重要: スナップショットを作成する前にアプリケーションを一時停止した場合は、スナップショット リソースが UPLOADING ステータスになった後にのみ、ワークロードを再開します。

    詳しくは、アプリケーション整合性のあるスナップショットを手動で作成するの表をご覧ください。

  2. 既存のディスクのスナップショットを作成します。

  3. 省略可: ストレージ プールに新しい Hyperdisk を作成するには、ストレージ プールを作成する必要があります(存在しない場合)。
  4. [ディスク] ページに移動します。

    [ディスク] に移動
  5. [+ ディスクを作成] をクリックします。
  6. [ディスクタイプ] で、[Hyperdisk Extreme]、[Hyperdisk Throughput]、または [バランス Hyperdisk] を選択します。

    省略可: ストレージ プールを使用するには、バランス Hyperdisk または Hyperdisk Throughput を選択します。

  7. [ディスクソースのタイプ] で [スナップショット] を選択し、復元するスナップショットの名前を選択します。
  8. 新しいディスクのサイズ(GiB 単位)を選択します。この数は、スナップショットの元のソースディスク以上である必要があります。
  9. 省略可: ディスクタイプを変更する場合は、デフォルトの値を変更します。

    • バランス Hyperdisk: [プロビジョニングされた IOPS] の値と [プロビジョニングされたスループット] の値を変更します。
    • Hyperdisk Extreme: [プロビジョニングされた IOPS] の値を変更します。
    • Hyperdisk Throughput: [プロビジョニングされたスループット] の値を変更します。
  10. 省略可: ストレージ プールに新しいディスクを作成するには:

    1. [ストレージ プール] セクションで、[ストレージ プールを有効にする] を選択します。
    2. ディスクを作成するストレージ プールの名前を選択します。

      選択したゾーンに存在するストレージ プールのみがリストに表示されます。

  11. [作成] をクリックしてディスクを作成します。
  12. ディスクを作成したら、実行中または停止しているコンピューティング インスタンスにディスクをアタッチできます。

gcloud

  1. ディスク スナップショットの作成の準備を行います。

    重要: スナップショットを作成する前にアプリケーションを一時停止した場合は、スナップショット リソースが UPLOADING ステータスになった後にのみ、ワークロードを再開します。

    詳しくは、アプリケーション整合性のあるスナップショットを手動で作成するの表をご覧ください。

  2. 既存のディスクのスナップショットを作成します。

  3. disks create コマンドを使用して、スナップショットから Hyperdisk ボリュームを作成します。

    gcloud compute disks create DISK_NAME \
     --zone=ZONE \
     --storage-pool=STORAGE_POOL_NAME \
     --size=SIZE \
     --source-snapshot=SNAPSHOT_NAME \
     --type=DISK_TYPE \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT
    

    次のように置き換えます。

    • DISK_NAME: ディスクの一意の名前。スペースで区切られたディスク名のリストを指定して、同じ属性を持つ複数のディスクを作成できます。
    • ZONE: ディスクを作成するゾーンストレージ プールにディスクを作成する場合は、ストレージ プールを配置するゾーンを指定する必要があります。この値は、リージョン ゾーン形式(us-central1-a など)で指定します。
    • STORAGE_POOL_NAME: 省略可。ディスクを作成するストレージ プールの名前。このパラメータを指定しない場合、スタンドアロンの Hyperdisk が作成されます。
    • SIZE: 省略可。新しいディスクのプロビジョニングされる容量。サイズは、ソース Persistent Disk のサイズ以上にする必要があります。この値は整数で、その後に GB(ギビバイト)または TB(テビバイト)のサイズ単位が続きます。サイズが指定されていない場合、デフォルト値として 100 GB が使用されます。
    • SNAPSHOT_NAME: 元のディスクから作成したスナップショットの名前。
    • DISK_TYPE: 作成するディスクのタイプ。ストレージ プールにディスクを作成する場合、この値は Hyperdisk ストレージ プールのタイプ(hyperdisk-balanced または hyperdisk-throughput)と一致する必要があります。
    • PROVISIONED_IOPS: 省略可。ディスクのプロビジョニングされる IOPS。このパラメータは、Hyperdisk Balanced ディスクまたは Hyperdisk Extreme ディスクを作成する場合にのみ使用できます。
    • PROVISIONED_THROUGHPUT: 省略可。バランス Hyperdisk ディスクと Hyperdisk Throughput ディスクの場合に、ディスクのプロビジョニングされるスループット(MB/秒)。値は正の整数である必要があります。
  4. ディスクの作成後、実行中または停止中のコンピューティング インスタンスにディスクをアタッチできます。

REST

  1. disks.insert メソッドを使用して、ゾーン Hyperdisk を作成する POST リクエストを作成します。namesizeGbtypesourceSnapshot プロパティを含めます。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    {
       "name": "DISK_NAME",
       "sizeGb": "DISK_SIZE",
       "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
       "sourceSnapshot": "SNAPSHOT_NAME",
       "provisionedIops": "IOPS_LIMIT",
       "provisionedThroughput": "THROUGHPUT_LIMIT",
       "accessMode": "DISK_ACCESS_MODE"
    }
    

    次のように置き換えます。

    • PROJECT_ID: プロジェクト ID
    • ZONE: コンピューティング インスタンスと新しいディスクが配置されているゾーン
    • DISK_NAME: 新しいディスクの名前
    • DISK_SIZE: 省略可。新しいディスクのサイズ。この値は整数で、その後に GB(ギビバイト)または TB(テビバイト)のサイズ単位が続きます。
    • DISK_TYPE: ディスクのタイプ。Hyperdisk ボリュームを作成するには、次のいずれかの値を使用します。hyperdisk-balancedhyperdisk-extremehyperdisk-ml、または hyperdisk-throughput
    • IOPS_LIMIT: 省略可。Hyperdisk Balanced と Hyperdisk Extreme の場合、これはディスクが処理できる 1 秒あたりの I/O オペレーションの数です。
    • THROUGHPUT_LIMIT: 省略可。Hyperdisk Balanced ボリューム、Hyperdisk ML ボリューム、または Hyperdisk Throughput ボリュームの場合、これはディスクが処理できるスループット(MiB/秒で測定)を表す整数です。
    • DISK_ACCESS_MODE: コンピューティング インスタンスがディスク上のデータにアクセスする方法。サポートされている値は次のとおりです。

      • READ_WRITE_SINGLE: 1 つのインスタンスからの読み取り / 書き込みアクセス。これがデフォルト値です。
      • READ_WRITE_MANY: 複数のインスタンスからの読み取り / 書き込みアクセス。
      • READ_ONLY_MANY: 複数のインスタンスからの読み取り専用アクセス。

      アクセス モードは、次のディスクタイプに設定できます。

      • Hyperdisk Balanced
      • Hyperdisk ML
      • Hyperdisk Balanced High Availability(プレビュー
  2. 省略可: compute.disks.get メソッドを使用して、ディスクの説明を表示します。

  3. ディスクの作成後、実行中または停止中のコンピューティング インスタンスにディスクをアタッチできます。

ゾーンディスクをリージョン Hyperdisk Balanced High Availability ディスクに変更する

ゾーンディスクを Hyperdisk Balanced High Availability ディスクに変更するには、ゾーンディスクのスナップショットを作成し、リージョン ディスクの作成時にスナップショットをソースとして使用します。

コンソール

  1. ディスク スナップショットの作成の準備を行います。

    重要: スナップショットを作成する前にアプリケーションを一時停止した場合は、スナップショット リソースが UPLOADING ステータスになった後にのみ、ワークロードを再開します。

    詳しくは、アプリケーション整合性のあるスナップショットを手動で作成するの表をご覧ください。

  2. 既存のディスクのスナップショットを作成します。

  3. [ディスク] ページに移動します。

    [ディスク] に移動
  4. [+ ディスクを作成] をクリックします。
  5. ディスクの名前を指定します。
  6. [ロケーション] フィールドで [リージョン] を選択します。
  7. [リージョン] フィールドと [ゾーン] フィールドに、ディスクのプライマリ ゾーンを指定します。

    ディスクは、アタッチするコンピューティング インスタンスと同じリージョンに存在する必要があります。

  8. [レプリカのゾーン] フィールドにセカンダリ ゾーンを指定します。
  9. [ディスクソースのタイプ] で [スナップショット] を選択し、復元するスナップショットの名前を選択します。
  10. [ディスクタイプ] で [Hyperdisk Balanced 高可用性] を選択します。

    リストに Hyperdisk Balanced High Availability ディスクタイプが表示されない場合は、Hyperdisk Balanced High Availability ディスクを提供しているリージョンを選択する必要があります。

  11. 新しいディスクのサイズ(GiB 単位)を選択します。この数は、スナップショットの元のソースディスク以上である必要があります。
  12. 省略可: 新しいディスクのデフォルトの [プロビジョニングされた IOPS] 値と [プロビジョニングされたスループット] 値を変更します。

  13. [作成] をクリックしてディスクを作成します。
  14. ディスクを作成したら、実行中または停止しているコンピューティング インスタンスにディスクをアタッチできます。

gcloud

  1. ディスク スナップショットの作成の準備を行います。

    重要: スナップショットを作成する前にアプリケーションを一時停止した場合は、スナップショット リソースが UPLOADING ステータスになった後にのみ、ワークロードを再開します。

    詳しくは、アプリケーション整合性のあるスナップショットを手動で作成するの表をご覧ください。

  2. 既存のディスクのスナップショットを作成します。

  3. disks create コマンドを使用して、スナップショットから Hyperdisk Balanced High Availability ディスクを作成します。

    gcloud compute disks create DISK_NAME \
     --size=SIZE \
     --type=hyperdisk-balanced-high-availability \
     --source-snapshot=SNAPSHOT_NAME \
     --provisioned-iops=PROVISIONED_IOPS \
     --provisioned-throughput=PROVISIONED_THROUGHPUT \
     --region=REGION \
     --replica-zones=ZONE1,ZONE2
    

    次のように置き換えます。

    • DISK_NAME: ディスクの一意の名前。
    • SIZE: 省略可。新しいディスクのプロビジョニングされる容量。サイズは、移行元ディスクのサイズ以上である必要があります。この値は整数で、その後に GB(ギビバイト)または TB(テビバイト)のサイズ単位が続きます。
    • SNAPSHOT_NAME: 元のディスクから作成したスナップショットの名前。
    • PROVISIONED_IOPS: 省略可。ディスクのプロビジョニングされる IOPS。
    • PROVISIONED_THROUGHPUT: 省略可。ディスクのプロビジョニングされるスループット(MB/秒)。
    • REGION: リージョン ディスクを配置するリージョン(例: europe-west1
    • ZONE1ZONE2: 2 つのディスク レプリカが配置されるリージョン内のゾーン(例: europe-west1-b,europe-west1-c

Terraform

Hyperdisk Balanced High Availability ボリュームを作成するには、次の例に示すように google_compute_region_disk リソースを使用しますが、ディスクタイプを pd-ssd から hyperdisk-balanced-high-availability に変更します。

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

REST

Hyperdisk Balanced High Availability ボリュームを作成するには、compute.regionDisks.insert メソッドPOST リクエストを作成します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
{
  "name": "DISK_NAME",
  "sourceSnapshot": "SNAPSHOT_NAME",
  "region": "projects/PROJECT_ID/regions/REGION",
  "replicaZones": [
    "projects/PROJECT_ID/zones/ZONE1",
    "projects/PROJECT_ID/zones/ZONE2"
  ],
  "sizeGb": "DISK_SIZE",
  "type": "projects/PROJECT_ID/regions/REGION/diskTypes/hyperdisk-balanced-high-availability"
}

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID
  • REGION: リージョン ディスクを配置するリージョン(例: europe-west1
  • DISK_NAME: 新しいディスクの名前
  • SNAPSHOT_NAME: 元のディスクから作成したスナップショットの名前。
  • ZONE1ZONE2: 新しいディスクのレプリカが配置されるゾーン(例: europe-west1-b,europe-west1-c
  • DISK_SIZE: 新しいディスクのサイズ(GiB)

VM インスタンスから新しいディスクにアクセスできるようにする

ディスクを作成したら、使用する前にディスクをアタッチするか、リージョン ディスクをアタッチする必要があります。

作成した新しいディスクは空のディスクではないため、インスタンスにアタッチしたディスクは、マウントするだけでオペレーティング システムで使用できるようになります。

ディスクのマウント方法については、以下をご覧ください。

元のディスクを削除する

新しいディスクを確認したら、次のことが可能です。

次のステップ