4.5. ストレッチクラスターの読み取りアフィニティー


読み取りアフィニティーは、データアクセスをそれぞれのデータセンター内に維持することで、ゾーン間のトラフィックを削減します。

マルチゾーン環境に展開されたストレッチクラスターの場合、読み取りアフィニティートポロジーの実装により、トラフィックをその発信元のデータセンター内に維持するためのメカニズムが提供されます。Ceph Object Gateway ボリュームには、CRUSH マップで定義された OSD の場所とノード上のトポロジーラベルに従って、クライアントに近接する OSD からデータを読み取る機能があります。

たとえば、ストレッチクラスターには Ceph Object Gateway のプライマリー OSD と、2 つのデータセンター A と B に分散されている OSD が含まれます。GET アクションがデータセンター A のオブジェクトで実行される場合、READ 操作はデータセンター A のクライアントに最も近い OSD のデータで実行されます。

4.5.1. ローカライズされた読み取りの実行

ストレッチクラスター内の複製されたプールに対してローカライズされた読み取りを実行できます。複製されたプールに対してローカライズされた読み取り要求が行われると、Ceph は crush_location で指定されたクライアントの場所に基づいて、クライアントに最も近いローカル OSD を選択します。

前提条件

  • 2 つのデータセンターと、その両方に Ceph Object Gateway が設定されたストレッチクラスター。
  • プライマリー OSD とレプリケートされた OSD を持つバケットを使用して作成されたユーザー。

手順

  • ローカライズされた読み取りを実行するには、ceph config set コマンドを使用して、OSD デーモン設定で rados_replica_read_policy を 'localize' に設定します。

    [ceph: root@host01 /]# ceph config set client.rgw.rgw.1 rados_replica_read_policy localize
  • 検証: OSD セットからのローカライズされた読み取りを確認するには、以下の手順を実行します。

    1. OSD とデータセンターを表示するには ceph osd tree コマンドを実行します。

      [ceph: root@host01 /]# ceph osd tree
      
      ID  CLASS  WEIGHT   TYPE NAME                                 STATUS  REWEIGHT  PRI-AFF
      -1         0.58557  root default
      -3         0.29279      datacenter DC1
      -2         0.09760          host ceph-ci-fbv67y-ammmck-node2
       2    hdd  0.02440              osd.2                             up   1.00000  1.00000
      11    hdd  0.02440              osd.11                            up   1.00000  1.00000
      17    hdd  0.02440              osd.17                            up   1.00000  1.00000
      22    hdd  0.02440              osd.22                            up   1.00000  1.00000
      -4         0.09760          host ceph-ci-fbv67y-ammmck-node3
       0    hdd  0.02440              osd.0                             up   1.00000  1.00000
       6    hdd  0.02440              osd.6                             up   1.00000  1.00000
      12    hdd  0.02440              osd.12                            up   1.00000  1.00000
      18    hdd  0.02440              osd.18                            up   1.00000  1.00000
      -5         0.09760          host ceph-ci-fbv67y-ammmck-node4
       5    hdd  0.02440              osd.5                             up   1.00000  1.00000
      10    hdd  0.02440              osd.10                            up   1.00000  1.00000
      16    hdd  0.02440              osd.16                            up   1.00000  1.00000
      23    hdd  0.02440              osd.23                            up   1.00000  1.00000
      -7         0.29279      datacenter DC2
      -6         0.09760          host ceph-ci-fbv67y-ammmck-node5
       3    hdd  0.02440              osd.3                             up   1.00000  1.00000
       8    hdd  0.02440              osd.8                             up   1.00000  1.00000
      14    hdd  0.02440              osd.14                            up   1.00000  1.00000
      20    hdd  0.02440              osd.20                            up   1.00000  1.00000
      -8         0.09760          host ceph-ci-fbv67y-ammmck-node6
       4    hdd  0.02440              osd.4                             up   1.00000  1.00000
       9    hdd  0.02440              osd.9                             up   1.00000  1.00000
      15    hdd  0.02440              osd.15                            up   1.00000  1.00000
      21    hdd  0.02440              osd.21                            up   1.00000  1.00000
      -9         0.09760          host ceph-ci-fbv67y-ammmck-node7
       1    hdd  0.02440              osd.1                             up   1.00000  1.00000
       7    hdd  0.02440              osd.7                             up   1.00000  1.00000
      13    hdd  0.02440              osd.13                            up   1.00000  1.00000
      19    hdd  0.02440              osd.19                            up   1.00000  1.00000

    2. ceph orch コマンドを実行して、データセンター内の Ceph Object Gateway デーモンを特定します。

      [ceph: root@host01 /]# ceph orch ps | grep rg
      
      rgw.rgw.1.ceph-ci-fbv67y-ammmck-node4.dmsmex         ceph-ci-fbv67y-ammmck-node4            *:80              running (4h)     10m ago  22h    93.3M        -  19.1.0-55.el9cp  0ee0a0ad94c7  34f27723ccd2
      rgw.rgw.1.ceph-ci-fbv67y-ammmck-node7.pocecp         ceph-ci-fbv67y-ammmck-node7            *:80              running (4h)     10m ago  22h    96.4M        -  19.1.0-55.el9cp  0ee0a0ad94c7  40e4f2a6d4c4

    3. Ceph Object Gateway ログで vim コマンドを実行して、デフォルトの読み取りが発生したかどうかを確認します。

      [ceph: root@host01 /]# vim /var/log/ceph/<fsid>/<ceph-client-rgw>.log
      
      2024-08-26T08:07:45.471+0000 7fc623e63640  1 ====== starting new request req=0x7fc5b93694a0 =====
      2024-08-26T08:07:45.471+0000 7fc623e63640  1 -- 10.0.67.142:0/279982082 --> [v2:10.0.66.23:6816/73244434,v1:10.0.66.23:6817/73244434] -- osd_op(unknown.0.0:9081 11.55 11:ab26b168:::3acf4091-c54c-43b5-a495-c505fe545d25.27842.1_f1:head [getxattrs,stat] snapc 0=[] ondisk+read+localize_reads+known_if_redirected+supports_pool_eio e3533) -- 0x55f781bd2000 con 0x55f77f0e8c00

      ローカライズされた読み取りが行われたことがログで確認できます。

      重要

      デバッグログを表示できるようにするには、まず ceph config set コマンドを実行して設定で debug_ms 1 を有効にする必要があります。

      [ceph: root@host01 /]#ceph config set client.rgw.rgw.1.ceph-ci-gune2w-mysx73-node4.dgvrmx    advanced  debug_ms    1/1
      
      [ceph: root@host01 /]#ceph config set client.rgw.rgw.1.ceph-ci-gune2w-mysx73-node7.rfkqqq    advanced  debug_ms    1/1
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る