第11章 Ceph File System スナップショットのミラーリング


ストレージ管理者は、別の Red Hat Ceph Storage クラスターのリモート Ceph File System に Ceph File System (CephFS) を複製できます。

前提条件

  • ソースおよびターゲットストレージクラスターは、Red Hat Ceph Storage 6.0 以降を実行している必要があります。

Ceph File System (CephFS) は、別の Red Hat Ceph Storage クラスター上のリモート CephFS へのスナップショットの非同期レプリケーションをサポートします。スナップショットの同期は、スナップショットデータをリモートの Ceph File System にコピーし、同じ名前のリモートターゲットに新しいスナップショットを作成します。スナップショット同期用に特定のディレクトリーを設定できます。

CephFS ミラーの管理は、CephFS ミラーリングデーモン (cephfs-mirror) により実行されます。このスナップショットデータは、リモートの CephFS への一括コピーを実行することで同期されます。スナップショットのペアの同期順序は、snap-id を使用して作成時に決定されます。

重要

ハードリンクの同期はサポートされていません。ハードリンクされたファイルは、通常のファイルとして同期されます。

CephFS スナップショットのミラーリングには、スナップショットインカーネーションや高可用性などの機能が含まれます。これらは、推奨される制御インターフェイスである Ceph Manager mirroring モジュールを介して管理できます。

Ceph Manager モジュールとインターフェイス

Ceph Manager mirroring モジュールは、デフォルトでは無効になっています。ディレクトリースナップショットのミラーリングを管理するためのインターフェイスを提供します。Ceph Manager インターフェイスは、ほとんどの場合、CephFS ミラーリングを管理するためのモニターコマンドのラッパーです。これらは、推奨される制御インターフェイスです。

Ceph Manager mirroring モジュールは、Ceph Manager プラグインとして実装されます。これは、Synchronization のためにディレクトリーを cephfs-mirror デーモンに割り当てるロールを果たします。

Ceph Manager の mirroring モジュールは、ディレクトリースナップショットのミラーリングを制御するコマンドのファミリーも提供します。mirroring モジュールは、cephfs-mirror デーモンを管理しません。cephfs-mirror デーモンの停止、起動、再起動、および有効化は systemctl によって制御されますが、cephadm によって管理されます。

注記

ミラーリングモジュールコマンドは、fs mirror 接頭辞を使用する監視コマンドと比較して、fs snapshot mirror 接頭辞を使用します。module コマンド接頭辞を使用して、ディレクトリースナップショットのミラーリングを制御していることを確認してください。

スナップショットの再生成

スナップショットが削除され、同じ名前で異なる内容で再作成される場合があります。ユーザーは以前に "古い" スナップショットを同期し、ミラーリングが無効になったときにスナップショットを再作成できました。スナップショット名を使用して継続点を推測すると、"新しい" スナップショットが生成され、同期のために取得されることはありません。

セカンダリーファイルシステムのスナップショットには、同期元のスナップショットのスナップ ID が格納されます。このメタデータは、Ceph Metadata Server の SnapInfo 構造に保存されます。

高可用性

複数の cephfs-mirror デーモンを 2 つ以上のノードにデプロイして、ディレクトリースナップショットの同期で同時実行を実現できます。cephfs-mirror デーモンがデプロイまたは終了されると、Ceph Manager mirroring モジュールは変更された cephfs-mirror デーモンのセットを検出し、新しいセット間でディレクトリーの割り当てを再調整して、高可用性を提供します。

cephfs-mirror デーモンは、単純な M/N ポリシーを使用して同期負荷を共有します。ここで、M はディレクトリーの数、N は cephfs-mirror デーモンの数です。

Ceph File System ミラーピアの再追加

別のクラスター内の CephFS にピアを再追加または再割り当てする場合は、すべてのミラーデーモンがピアへの同期を停止していることを確認してください。これは、fs mirror status コマンドを使用して確認できます。ピア UUID はコマンド出力に表示されません。

別の CephFS に再追加する前に、同期されたディレクトリーをピアからパージします。特に、新しいプライマリーファイルシステムに存在する可能性のあるディレクトリーを削除します。以前に同期した同じプライマリーファイルシステムにピアを再度追加する場合、これは必要ありません。

関連情報

11.1. Ceph File System のスナップショットミラーの設定

Ceph File System (CephFS) を設定して、リモートの Red Hat Ceph Storage クラスターの別の CephFS にスナップショットを複製するようにミラーリングできます。

注記

リモートストレージクラスターへの同期にかかる時間は、ファイルのサイズとミラーリングパス内のファイルの合計数によって異なります。

前提条件

  • ソースおよびターゲットのストレージクラスターは正常であり、Red Hat Ceph Storage 8.0 以降を実行している必要があります。
  • ソースおよびターゲットストレージクラスターの Ceph Monitor ノードへのルートレベルのアクセス。
  • ストレージクラスターにデプロイされた少なくとも 1 つの Ceph File System。

手順

  1. Cephadm シェルにログインします。

    [root@host01 ~]# cephadm shell

  2. ソースストレージクラスターで、CephFS ミラーリングデーモンをデプロイします。

    構文

    ceph orch apply cephfs-mirror ["NODE_NAME"]

    [ceph: root@host01 /]# ceph orch apply cephfs-mirror "node1.example.com"
    Scheduled cephfs-mirror update...

    このコマンドにより、cephfs-mirror という名前の Ceph ユーザーが作成され、特定のノードに cephfs-mirror デーモンがデプロイされます。

    1. オプション: 複数の CephFS ミラーリングデーモンをデプロイし、高可用性を実現します。

      構文

      ceph orch apply cephfs-mirror --placement="PLACEMENT_SPECIFICATION"

      [ceph: root@host01 /]# ceph orch apply cephfs-mirror --placement="3 host1 host2 host3"
      Scheduled cephfs-mirror update...

      この例では、3 つの cephfs-mirror デーモンを異なるホストにデプロイします。

      警告

      次のエラーが発生するため、ホストをコンマで区切らないでください。

      Error EINVAL: name component must include only a-z, 0-9, and -
  3. ターゲットストレージクラスターで、それぞれの CephFS ピア用にユーザーを作成します。

    構文

    ceph fs authorize FILE_SYSTEM_NAME CLIENT_NAME / rwps

    [ceph: root@host01 /]# ceph fs authorize cephfs client.mirror_remote / rwps
    [client.mirror_remote]
            key = AQCjZ5Jg739AAxAAxduIKoTZbiFJ0lgose8luQ==

  4. ソースストレージクラスターで、CephFS ミラーリングモジュールを有効にします。

    [ceph: root@host01 /]# ceph mgr module enable mirroring

  5. ソースストレージクラスターで、Ceph File System でミラーリングを有効にします。

    構文

    ceph fs snapshot mirror enable FILE_SYSTEM_NAME

    [ceph: root@host01 /]# ceph fs snapshot mirror enable cephfs

    1. オプション: スナップショットミラーリングを無効にします。

      構文

      ceph fs snapshot mirror disable FILE_SYSTEM_NAME

      [ceph: root@host01 /]# ceph fs snapshot mirror disable cephfs

      警告

      ファイルシステムでスナップショットミラーリングを無効にすると、設定されたピアが削除されます。ピアをブートストラップして再度インポートする必要があります。

  6. ターゲットピアストレージクラスターを準備します。

    1. ターゲットノードで、mirroring Ceph Manager モジュールを有効にします。

      [ceph: root@host01 /]# ceph mgr module enable mirroring

    2. 同じターゲットノードで、ピアブートストラップを作成します。

      構文

      ceph fs snapshot mirror peer_bootstrap create FILE_SYSTEM_NAME CLIENT_NAME SITE_NAME

      SITE_NAME は、ターゲットのストレージクラスターを識別するユーザー定義の文字列です。

      [ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap create cephfs client.mirror_remote remote-site
      {"token": "eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ=="}

      次の手順で使用する二重引用符の間のトークン文字列をコピーします。

  7. ソースストレージクラスターで、ターゲットストレージクラスターからブートストラップトークンをインポートします。

    構文

    ceph fs snapshot mirror peer_bootstrap import FILE_SYSTEM_NAME TOKEN

    [ceph: root@host01 /]# ceph fs snapshot mirror peer_bootstrap import cephfs eyJmc2lkIjogIjBkZjE3MjE3LWRmY2QtNDAzMC05MDc5LTM2Nzk4NTVkNDJlZiIsICJmaWxlc3lzdGVtIjogImJhY2t1cF9mcyIsICJ1c2VyIjogImNsaWVudC5taXJyb3JfcGVlcl9ib290c3RyYXAiLCAic2l0ZV9uYW1lIjogInNpdGUtcmVtb3RlIiwgImtleSI6ICJBUUFhcDBCZ0xtRmpOeEFBVnNyZXozai9YYUV0T2UrbUJEZlJDZz09IiwgIm1vbl9ob3N0IjogIlt2MjoxOTIuMTY4LjAuNTo0MDkxOCx2MToxOTIuMTY4LjAuNTo0MDkxOV0ifQ==

  8. ソースストレージクラスターで、CephFS ミラーピアをリスト表示します。

    構文

    ceph fs snapshot mirror peer_list FILE_SYSTEM_NAME

    [ceph: root@host01 /]# ceph fs snapshot mirror peer_list cephfs
    {"e5ecb883-097d-492d-b026-a585d1d7da79": {"client_name": "client.mirror_remote", "site_name": "remote-site", "fs_name": "cephfs", "mon_host": "[v2:10.0.211.54:3300/0,v1:10.0.211.54:6789/0] [v2:10.0.210.56:3300/0,v1:10.0.210.56:6789/0] [v2:10.0.210.65:3300/0,v1:10.0.210.65:6789/0]"}}

    1. オプション: スナップショットピアを削除します。

      構文

      ceph fs snapshot mirror peer_remove FILE_SYSTEM_NAME PEER_UUID

      [ceph: root@host01 /]# ceph fs snapshot mirror peer_remove cephfs e5ecb883-097d-492d-b026-a585d1d7da79

      注記

      ピア UUID 値を確認する方法は、Ceph File System のミラーリングステータスの表示 を参照してください。

  9. ソースストレージクラスターで、スナップショットミラーリングのディレクトリーを設定します。

    構文

    ceph fs snapshot mirror add FILE_SYSTEM_NAME PATH

    [ceph: root@host01 /]# ceph fs snapshot mirror add cephfs /volumes/_nogroup/subvol_1

    重要

    Ceph File System 内の絶対パスのみが有効です。

    注記

    Ceph Manager の mirroring モジュールは、パスを正規化します。たとえば、/d1/d2/../dN ディレクトリーは /d1/d2 と同等です。ミラーリング用にディレクトリーが追加されると、その上位ディレクトリーおよびサブディレクトリーがミラーリング用に追加されなくなります。

    1. オプション: ディレクトリーのスナップショットミラーリングを停止します。

      構文

      ceph fs snapshot mirror remove FILE_SYSTEM_NAME PATH

      [ceph: root@host01 /]# ceph fs snapshot mirror remove cephfs /home/user1

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.