第8章 スナップショットの管理

Red Hat Gluster Storage スナップショット機能により、データの保護に使用できる Red Hat Gluster Storage ボリュームのポイントインタイムコピーを作成できます。ユーザーは、データの誤って削除、破損、または修正するために読み取り専用のスナップショットコピーに直接アクセスできます。

図8.1 スナップショットのアーキテクチャー

説明
スナップショットアーキテクチャーの図では、Red Hat Gluster Storage ボリュームは複数のブリック (Brick1 Brick2 など) で構成されており、1 つ以上のノードに分散され、各ブリックは独立したシン論理ボリューム (LV) で構成されます。ボリュームのスナップショットを取得すると、論理ボリュームのスナップショットを取得して別のブリックを作成します。brick1_s1 は、Brick1 の同じイメージです。同様に、各ブリックの同じイメージが作成され、新たに作成されたブリックが組み合わされてスナップショットボリュームを形成します。
スナップショットの機能は以下のとおりです。
  • クラッシュの一貫性

    クラッシュの一貫性のあるスナップショットは、特定の時点でキャプチャーされます。クラッシュしたスナップショットが復元されると、データはスナップショットの取得時と同じになります。

    注記
    現在、アプリケーションレベルの一貫性はサポートされていません。
  • オンラインスナップショット

    スナップショットはオンラインスナップショットであるため、スナップショットを作成しても、ファイルシステムとその関連データは引き続きクライアントで利用可能になります。

  • バリア

    スナップショットの操作時に一部のファイル操作がブロックされるクラッシュの一貫性を保証するため、

    これらのファイル操作は、スナップショットが完了するまでブロックされます。他のすべてのファイル操作は渡されます。タイムアウトの 2 分のデフォルト値は 2 分です。スナップショットが完了していない場合には、これらのファイル操作はアンロックされます。スナップショットの完了前にバリアが無効化されると、スナップショットの操作に失敗します。これは、スナップショットが一貫した状態になるようにするためです。
注記
仮想マシンイメージをホストしている Red Hat Gluster Storage ボリュームのスナップショットを作成することは推奨されません。仮想マシンのハイパーバイザーによるサポートのスナップショットの取得は、このユースケースでより適しています。

8.1. 前提条件

この機能を使用する前に、以下の前提条件を満たしていることを確認してください。
  • スナップショットは、シンプロビジョニングされた LVM をベースにしています。ボリュームが LVM2 をベースとしていることを確認します。Red Hat Gluster Storage は、Red Hat Enterprise Linux 6.7 以降、Red Hat Enterprise Linux 7.1 以降、および Red Hat Enterprise Linux 8.2 以降のバージョンでサポートされています。これらすべてのバージョンの RedHat Enterprise Linux は、デフォルトで LVM2 に基づいています。詳細は、https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/thinprovisioned_volumes.html を参照してください。
    重要
    Red Hat Gluster Storage は 3.5 Batch Update 1 以降では、Red Hat Enterprise Linux 6 (RHEL 6) でサポートされません。インストールガイドの『バージョンの詳細』表および『Red Hat Gluster Storage ソフトウェアコンポーネントおよびバージョン』 を参照してください。
  • 各ブリックは、シンプロビジョニングされた論理ボリューム (LV) でなければなりません。
  • スナップショットを作成するには、すべてのブリックをオンラインにする必要があります。
  • ブリックを含む論理ボリュームには、ブリック以外のデータを含めることはできません。
  • Red Hat Gluster Storage 3.4 以降では、リニア LVM およびシン LV がサポートされています。詳細は、https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html-single/logical_volume_manager_administration/index#LVM_components を参照してください。

推奨される設定

スナップショットの使用に推奨される設定を以下に示します。また、スナップショットのパフォーマンスを向上させるために、19章パフォーマンスチューニング を読める必要があります。
  • 各ボリュームブリックについて、ボリュームとそのブリックスナップショット (シン) のスナップショットを含む専用のシンプールを作成します。現在のシン p 設計では、同じシンプールに異なる Red Hat Gluster Storage ボリュームのブリックを配置しないでください。これは、その他関連のないボリュームにおけるスナップショットの削除などのスナップショット操作のパフォーマンスが低下するためです。
  • 推奨されるシンプールチャンクサイズは 256 KB です。顧客のワークロードの詳細情報がある場合は、例外がある場合もあります。
  • 推奨されるプールメタデータサイズは、256KB 以上のチャンクサイズのシンプールサイズの 0.1% です。特別なケースでは、256 KB 未満のチャンクサイズを、シンプールサイズの 0.5% を使用します。

デバイス /dev/sda1 からブリックを作成するには、次のコマンドを実行します。
  1. pvcreate コマンドを使用して、物理ボリューム(PV)を作成します。
    pvcreate /dev/sda1
    デバイスに基づいて正しい dataalignment アラインメントオプションを使用します。詳細は、「ブリック設定」 を参照
  2. 以下のコマンドを使用して PV からボリュームグループ (VG) を作成します。
    vgcreate dummyvg /dev/sda1
  3. 以下のコマンドを使用して、シンプールを作成します。
    # lvcreate --size 1T --thin dummyvg/dummypool --chunksize 256k --poolmetadatasize 16G  --zero n
    256 KB のチャンクサイズを使用して、サイズが 1 TB のシンプールが作成されます。最大プールメタデータサイズである 16 G が使用されます。
  4. 以下のコマンドを使用して、作成しておいたプールからシンプロビジョニングされたボリュームを作成します。
    # lvcreate --virtualsize 1G --thin dummyvg/dummypool --name dummylv
  5. これには、ファイルシステム (XFS) を作成します。シン LV に XFS ファイルシステムを作成するには、推奨されるオプションを使用してください。
    以下に例を示します。
    mkfs.xfs -f -i size=512 -n size=8192 /dev/dummyvg/dummylv
  6. この論理ボリュームをマウントし、マウントパスをブリックとして使用します。
    mount /dev/dummyvg/dummylv /mnt/brick1