第3章 Block Storage バックアップサービスの使用

Block Storage バックアップサービスを使用して、完全バックアップまたは増分バックアップを実行し、バックアップをボリュームに復元できます。

3.1. 完全バックアップ

3.1.1. フルボリュームバックアップの作成

ボリュームのバックアップを作成するには、bakcup-create コマンドを使用します。デフォルトでは、このコマンドはボリュームの完全バックアップを作成します。ボリュームに既存のバックアップがある場合は、代わりに増分バックアップを作成できます。詳細は、「「増分バックアップの実行」」を参照してください。

注記

Red Hat OpenStack Platform バージョン 16 よりも前のバージョンでは、cinder backup-create コマンドは、Ceph Storage バックエンドへの最初の Ceph ボリュームのバックアップ後に増分バックアップを作成していました。RHOSP バージョン 16 以降では、--incremental を使用して増分ボリュームバックアップを作成する必要があります。cinder backup-create コマンドで --incremental オプションを使用しない場合には、デフォルト設定で完全バックアップが作成されます。詳細は、「「増分バックアップの実行」」を参照してください。

アクセス可能なボリュームのバックアップを作成することができます。つまり、管理者特権を持つユーザーは、所有者に関係なく、どのボリュームでもバックアップを作成できます。詳細は「「管理者としてのボリュームバックアップの作成」」を参照してください。

手順

  1. バックアップを作成するボリュームの ID または表示名を表示します。

    # cinder list
  2. ボリュームをバックアップします。

    # cinder backup-create _VOLUME_

    VOLUME の箇所は、バックアップするボリュームの ID または Display Name に置き換えます。以下に例を示します。

      +-----------+--------------------------------------+
      |  Property |                Value                 |
      +-----------+--------------------------------------+
      |     id    | e9d15fc7-eeae-4ca4-aa72-d52536dc551d |
      |    name   |                 None                 |
      | volume_id | 5f75430a-abff-4cc7-b74e-f808234fa6c5 |
      +-----------+--------------------------------------+

    作成されるバックアップのvolume_idは、ソースボリュームの ID と同じです。

  3. ボリュームのバックアップ作成が完了したことを確認します。

    # cinder backup-list
  4. ボリュームバックアップの作成は、バックアップエントリーのStatusが利用可能になると完了します。

3.1.2. 管理者としてのボリュームバックアップの作成

管理者特権を持つユーザーは、Red Hat OpenStack Platform が管理するボリュームのバックアップを作成できます。管理者ユーザーが所有しているボリュームのバックアップを作成する場合、バックアップはデフォルトではボリューム所有者に表示されません。

手順

  • 管理ユーザーは、以下のコマンドを使用してボリュームをバックアップし、特定のプロジェクトでバックアップできます。

    # cinder --os-auth-url <KEYSTONEURL> --os-tenant-name <PROJECTNAME> --os-username <USERNAME> --os-password <PASSWD> backup-create <VOLUME>

    使用環境の要件に従って、次の変数を置き換えます。

  • <PROJECTNAME> は、バックアップを利用可能にするプロジェクト(テナント)の名前です。
  • <USERNAME> および <PASSWD> は、<PROJECTNAME> 内のユーザーのユーザー名とパスワードの認証情報です。
  • <VOLUME> は、バックアップを作成するボリュームの名前または ID です。
  • <KEYSTONEURL> は Identity サービスの URL エンドポイントです。通常、http://<IP>:5000/v2 になります。< IP > は Identity サービスホストの IP アドレスに置き換えます。この操作を実行する際、作成されるバックアップのサイズは、プロジェクト管理者のクォータではなく、<PROJECTNAME> のクォータに対してカウントされます。

3.1.3. ボリュームバックアップのメタデータのエクスポート

ボリュームバックアップのメタデータをエクスポートおよび保存して、Block Storage データベースで致命的な損傷が発生した場合でもボリュームバックアップを復元できるようにできます。

手順

  • 以下のコマンドを実行します。

    # cinder backup-export _BACKUPID_

    <BACKUPID> を、ボリュームバックアップの ID または名前に置き換えます。

    +----------------+------------------------------------------+
    |    Property    |                Value                     |
    +----------------+------------------------------------------+
    | backup_service |     cinder.backup.drivers.swift          |
    |   backup_url   | eyJzdGF0dXMiOiAiYXZhaWxhYmxlIiwgIm9iam...|
    |                | ...4NS02ZmY4MzBhZWYwNWUiLCAic2l6ZSI6IDF9 |
    +----------------+------------------------------------------+

ボリュームのバックアップメタデータは、backup_service および backup_url の値で構成されます。

3.1.4. 使用中のボリュームのバックアップ

ブロックストレージバックエンドスナップショットに対応している場合は、--force で使用中のボリュームのバックアップを作成できます。

注記

--force を使用するには、ストレージバックエンドスナップショットのブロックに対応している必要があります。使用しているバックエンドのドキュメントを確認することで、スナップショットのサポートを確認できます。

--force を使用することで、ドライブを静止していないことを確認し、バックアップを実行します。この方法を使用すると、クラッシュの一貫性はありますが、アプリケーションの一貫性はありません。バックアップが作成されます。つまり、バックアップの実行時に実行していたアプリケーションを認識していないことを意味します。ただし、データはそのままです。

手順

  • 使用中のボリュームのバックアップを作成するには、次のコマンドを実行します。

    # cinder backup-create _VOLUME_ --incremental --force

3.1.5. スナップショットのバックアップ

スナップショットに関連付けられているボリューム ID を使用して、スナップショットから完全バックアップを作成できます。

手順

  1. cinder snapshot list を使用して、バックアップを作成するスナップショットのスナップショット ID を特定します。

    # cinder snapshot-list --volume-id _VOLUME_ID_
  2. スナップショットに名前が付けられている場合は、以下の例を使用してIDの場所を特定できます。

    # cinder snapshot-show _SNAPSHOT_NAME_
  3. スナップショットのバックアップを作成します。

    # cinder backup-create _VOLUME_ --snapshot-id=_SNAPSHOT_ID_