2.3.11. スナップショットを使用したボリュームの最後の状態への復元

ボリュームの最新スナップショットの状態に復元することができます。つまり、インプレースでボリュームデータをその最新スナップショットの状態に戻すことができます。

警告
ボリュームの最新スナップショットの状態に復元する機能はサポート対象ですが、ドライバーに依存します。この機能を正しく実装するには、ドライバー側の支援が必要です。この機能に対するサポートの詳細は、ドライバーのベンダーにお問い合わせください。

制限

  • マルチ接続のボリュームの場合、スナップショットの状態に戻す機能の使用には制限が適用される可能性があります。この機能を使用する前に、このような制限が適用されるかどうかを確認してください。
  • スナップショットの作成後にサイズを変更 (拡張) したボリュームを元に戻すことはできません。
  • 接続済みまたは使用中のボリュームに対して、スナップショットの状態に戻す機能を使用することはできません。

前提条件

  • Block Storage (cinder) API マイクロバージョン 3.40 またはそれ以降
  • ボリュームのスナップショットを少なくとも 1 つ作成していること。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. source コマンドで overcloudrc ファイルを読み込みます。

    [stack@undercloud ~] $ source overcloudrc
  3. ボリュームを切断します。

    $ nova volume-detach <instance_id> <vol_id>

    <instance_id> および <vol_id> を、元に戻すインスタンスおよびボリュームの ID に置き換えてください。

  4. 元に戻すスナップショットの ID または名前を探します。元に戻すことができるのは最新のスナップショットだけです。

    $ cinder snapshot-list
  5. スナップショットの状態に戻します。

    $ cinder --os-volume-api-version=3.40 revert-to-snapshot  <snapshot_id or snapshot_name>

    <snapshot_id or snapshot_name> をスナップショットの ID または名前に置き換えてください。

  6. オプション: cinder snapshot-list コマンドを使用して、元に戻しているボリュームが reverting の状態にあることを確認することができます。

    $  cinder snapshot-list
  7. ボリュームを再接続します。

    $  nova volume-attach <instance_id> <vol_id>

    <instance_id> および <vol_id> を、元に戻したインスタンスおよびボリュームの ID に置き換えてください。

2.3.11.1. 正常に復元していることの確認

手順

  • 手順が正常に行われたことを確認するには、cinder list コマンドを使用して、元に戻したボリュームが available の状態にあることを検証します。

    $ cinder list
    備考
    Block Storage (cinder) をブート可能なルートボリュームとして使用した場合、ボリュームは available の状態にないため、そのボリュームでスナップショットの状態に戻す機能を使用することはできません。この機能を使用するには、インスタンスが終了した場合にブートボリュームを保持するために、delete_on_termination=false (デフォルト) の属性を設定してインスタンスをブートしている必要があります。スナップショットの状態に戻す場合は、ボリュームが利用可能になるように、まず初期インスタンスを削除する必要があります。その後、元に戻してボリュームから新規インスタンスを作成することができます。