8.10. スナップショットの復元

スナップショットを復元する前に、以下の前提条件を満たしていることを確認してください。
  • 指定したスナップショットが存在する必要があります。
  • スナップショットの元の / 親ボリュームは stop 状態である必要があります。
  • Red Hat Gluster Storage ノードはクォーラム(定足数)である必要があります。
  • ボリューム操作 (add-brick、リバランスなど) は、スナップショットの作成元または親ボリュームで実行すべきではありません。
    # gluster snapshot restore <snapname>
    詳細は以下のようになります。
    • snapname: 復元するスナップショットの名前
    以下に例を示します。
    # gluster snapshot restore snap1
    Snapshot restore: snap1: Snap restored successfully
    スナップショットを復元し、ボリュームが起動すると、以下のコマンドを実行して自己修復をトリガーします。
    # gluster volume heal VOLNAME full
    注記
    • スナップショットは復元後に削除されます。同じポイントに復元するには、スナップショットの復元後にスナップショットを明示的に作成します。
    • 作成元のボリュームのブリックパスを復元すると、そのパスが変更されます。fstab を使用して、作成元のボリュームのブリックをマウントする場合は、復元後に fstab エントリーを修正する必要があります。詳細は、https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/apcs04s07.html を参照してください。
  • クラスターで、スナップショットの status コマンドで、スナップショットに参加しているノードを特定します。以下は例になります。
     # gluster snapshot status snapname
    
        Snap Name : snapname
        Snap UUID : bded7c02-8119-491b-a7e1-cc8177a5a1cd
    
         Brick Path        :   10.70.43.46:/var/run/gluster/snaps/816e8403874f43a78296decd7c127205/brick2/brick2
         Volume Group      :   snap_lvgrp
         Brick Running     :   Yes
         Brick PID         :   8303
         Data Percentage   :   0.43
         LV Size           :   2.60g
    
    
         Brick Path        :   10.70.42.33:/var/run/gluster/snaps/816e8403874f43a78296decd7c127205/brick3/brick3
         Volume Group      :   snap_lvgrp
         Brick Running     :   Yes
         Brick PID         :   4594
         Data Percentage   :   42.63
         LV Size           :   2.60g
    
    
         Brick Path        :   10.70.42.34:/var/run/gluster/snaps/816e8403874f43a78296decd7c127205/brick4/brick4
         Volume Group      :   snap_lvgrp
         Brick Running     :   Yes
         Brick PID         :   23557
         Data Percentage   :   12.41
         LV Size           :   2.60g
    
    • 上記で特定されたノードで geo-replication リポジトリーが /var/lib/glusterd/snaps/snapname に存在するかどうかを確認します。リポジトリーがいずれかのノードにある場合、そのリポジトリーがクラスター全体で /var/lib/glusterd/snaps/snapname に同じファイルが存在することを確認してください。geo-replication リポジトリーがクラスター内のノードにない場合、これをノードの /var/lib/glusterd/snaps/snapname にコピーします。
    • 以下のコマンドを使用して、ボリュームのスナップショットを復元します。
      # gluster snapshot restore snapname

Geo レプリケーションボリュームのスナップショットの復元

geo レプリケーションの設定がある場合は、以下の手順を実行してスナップショットを復元します。

  1. geo レプリケーションセッションを停止します。
    # gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL stop
  2. セカンダリーボリュームを停止し、プライマリーボリュームを停止します。
    # gluster volume stop VOLNAME
  3. セカンダリーボリュームおよびプライマリーボリュームのスナップショットを復元します。
    # gluster snapshot restore snapname
  4. 最初にセカンダリーボリュームを起動し、次にプライマリーボリュームを起動します。
    # gluster volume start VOLNAME
  5. geo レプリケーションセッションを開始します。
    # gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL start
    
  6. geo レプリケーションセッションを復元します。
    # gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL resume