6.3.5. ボリュームスナップショットの作成


VolumeSnapshot オブジェクトを作成すると、OpenShift Container Platform はボリュームスナップショットを作成します。

前提条件

  • 実行中の OpenShift Container Platform クラスターにログインしている。
  • VolumeSnapshot オブジェクトをサポートする CSI ドライバーを使用して作成される PVC。
  • ストレージバックエンドをプロビジョニングするストレージクラス。
  • スナップショットの作成に使用する必要のある永続ボリューム要求 (PVC) を使用している Pod はありません。

    警告

    Pod によって使用されている PVC のボリュームスナップショットを作成すると、書き込まれていないデータやキャッシュされたデータがスナップショットから除外される可能性があります。すべてのデータがディスクに確実に書き込まれるようにするには、PVC を使用している Pod を削除してから、スナップショットを作成してください。

手順

ボリュームのスナップショットを動的に作成するには、以下を実行します。

  1. 以下の YAML によって記述される VolumeSnapshotClass オブジェクトを使用してファイルを作成します。

    volumesnapshotclass.yaml

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshotClass
    metadata:
      name: csi-hostpath-snap
    driver: hostpath.csi.k8s.io 
    1
    
    deletionPolicy: Delete

    1
    この VolumeSnapshotClass オブジェクトのスナップショットを作成するために使用される CSI ドライバーの名前。名前は、スナップショットが作成される PVC に対応するストレージクラスの Provisioner フィールドと同じである必要があります。
    注記

    永続ストレージの設定に使用したドライバーによっては、追加のパラメーターが必要になる場合があります。既存の VolumeSnapshotClass オブジェクトを使用することもできます。

  2. 以下のコマンドを実行して、直前の手順で保存されたオブジェクトを作成します。

    $ oc create -f volumesnapshotclass.yaml
  3. VolumeSnapshot オブジェクトを作成します。

    volumesnapshot-dynamic.yaml

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshot
    metadata:
      name: mysnap
    spec:
      volumeSnapshotClassName: csi-hostpath-snap 
    1
    
      source:
        persistentVolumeClaimName: myclaim 
    2

    1
    ボリュームスナップショットによる特定クラスの要求。volumeSnapshotClassName 設定がなく、デフォルトのボリュームスナップショットクラスがある場合、スナップショットはデフォルトのボリュームスナップショットクラス名で作成されます。ただし、フィールドがなく、デフォルトのボリュームスナップショットクラスが存在しない場合には、スナップショットは作成されません。
    2
    永続ボリュームにバインドされる PersistentVolumeClaim オブジェクトの名前。これは、スナップショットの作成に使用する内容を定義します。スナップショットの動的プロビジョニングに必要です。
  4. 以下のコマンドを実行して、直前の手順で保存されたオブジェクトを作成します。

    $ oc create -f volumesnapshot-dynamic.yaml

スナップショットを手動でプロビジョニングするには、以下を実行します。

  1. 上記のようにボリュームスナップショットクラスを定義するだけでなく、volumeSnapshotContentName パラメーターの値をスナップショットのソースとして指定します。

    volumesnapshot-manual.yaml

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshot
    metadata:
      name: snapshot-demo
    spec:
      source:
        volumeSnapshotContentName: mycontent 
    1

    1
    事前にプロビジョニングされたスナップショットには、volumeSnapshotContentName パラメーターが必要です。
  2. 以下のコマンドを実行して、直前の手順で保存されたオブジェクトを作成します。

    $ oc create -f volumesnapshot-manual.yaml

検証

スナップショットがクラスターで作成されると、スナップショットに関する追加情報が利用可能になります。

  1. 作成したボリュームスナップショットの詳細を表示するには、以下のコマンドを実行します。

    $ oc describe volumesnapshot mysnap

    以下の例は、mysnap ボリュームスナップショットの詳細を表示します。

    volumesnapshot.yaml

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshot
    metadata:
      name: mysnap
    spec:
      source:
        persistentVolumeClaimName: myclaim
      volumeSnapshotClassName: csi-hostpath-snap
    status:
      boundVolumeSnapshotContentName: snapcontent-1af4989e-a365-4286-96f8-d5dcd65d78d6 
    1
    
      creationTime: "2020-01-29T12:24:30Z" 
    2
    
      readyToUse: true 
    3
    
      restoreSize: 500Mi

    1
    コントローラーによって作成された実際のストレージコンテンツへのポインター。
    2
    スナップショットが作成された時間。スナップショットには、このタイミングで利用できるボリュームコンテンツが含まれます。
    3
    値が true に設定されている場合、スナップショットを使用して新規 PVC として復元できます。
    値が false に設定されている場合、スナップショットが作成されています。ただし、ストレージバックエンドは、スナップショットを新規ボリュームとして復元できるようにするために、追加のタスクを実行してスナップショットを使用できる状態にする必要があります。たとえば、Amazon Elastic Block Store データを別の低コストの場所に移動する場合があり、これには数分の時間がかかる可能性があります。
  2. ボリュームのスナップショットが作成されたことを確認するには、以下のコマンドを実行します。

    $ oc get volumesnapshotcontent

    実際のコンテンツへのポインターが表示されます。boundVolumeSnapshotContentName フィールドにデータが設定される場合、VolumeSnapshotContent オブジェクトが存在し、スナップショットが作成されています。

  3. スナップショットの準備が完了していることを確認するには、VolumeSnapshot オブジェクトに readyToUse: true があることを確認します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る