8.4. クロスサイトレプリケーションのための Data Grid クラスターの設定
Data Grid クラスターをバックアップの場所として設定し、データを複製するために専用の JGroups トランスポートチャネルを介して通信できるようにします。
前提条件
- 各バックアップの場所のサービスアカウントトークンを含むシークレットを作成している。
- すべてのクラスターが Data Grid サービスノードである。
OpenShift プロジェクト名が一致している。
重要クロスサイトレプリケーションを実行する場合、Data Grid Operator は、Data Grid クラスターが同じ名前を持ち、同じ namespace で実行されることを必要とします。
たとえば、LON に
xsite-clusterという名前のプロジェクトでクラスターを作成するとします。NYC のクラスターも、xsite-clusterという名前のプロジェクトで実行する必要があります。
手順
-
各 Data Grid クラスターに
InfinispanCR を作成します。 -
metadata.nameを使用して、各 Data Grid クラスターに同じ名前を指定します。 -
ローカルサイトの名前を
spec.service.sites.local.nameで指定します。 -
spec.service.sites.local.expose.typeを使用して、ローカルサイトの公開サービスタイプを設定します。 spec.service.sites.locationsでバックアップの場所として動作する各 Data Grid クラスターの名前、URL、およびシークレットを指定します。以下は、LON および NYC の
InfinispanCR 定義の例になります。LON
apiVersion: infinispan.org/v1 kind: Infinispan metadata: name: example-infinispan spec: replicas: 3 service: type: DataGrid sites: local: name: LON expose: type: LoadBalancer locations: - name: LON url: openshift://api.rhdg-lon.openshift-aws.myhost.com:6443 secretName: lon-token - name: NYC url: openshift://api.rhdg-nyc.openshift-aws.myhost.com:6443 secretName: nyc-tokenNYC
apiVersion: infinispan.org/v1 kind: Infinispan metadata: name: example-infinispan spec: replicas: 2 service: type: DataGrid sites: local: name: NYC expose: type: LoadBalancer locations: - name: NYC url: openshift://api.rhdg-nyc.openshift-aws.myhost.com:6443 secretName: nyc-token - name: LON url: openshift://api.rhdg-lon.openshift-aws.myhost.com:6443 secretName: lon-token
クロスサイトレプリケーションのロギングレベルを次のように調整します。
... logging: categories: org.jgroups.protocols.TCP: error org.jgroups.protocols.relay.RELAY2: fatal前述の設定では、JGroups TCP および RELAY2 プロトコルのロギングを減らします。これにより、コンテナーストレージを使用するログファイルが大量に生成される可能性があるクラスターバックアップ操作に関する過剰なメッセージを減らします。
- 他の Data Grid サービスリソースを使用してノードを設定します。
-
InfinispanCR を適用します。 ノードログをチェックして、Data Grid クラスターがクロスサイトビューを形成していることを確認します。次に例を示します。
$ oc logs example-infinispan-0 | grep x-site INFO [org.infinispan.XSITE] (jgroups-5,example-infinispan-0-<id>) ISPN000439: Received new x-site view: [NYC] INFO [org.infinispan.XSITE] (jgroups-7,example-infinispan-0-<id>) ISPN000439: Received new x-site view: [NYC, LON]
次のステップ
クラスターがクロスサイトビューを形成している場合は、バックアップの場所をキャッシュに追加し始めることができます。
8.4.1. クロスサイトレプリケーションリソース リンクのコピーリンクがクリップボードにコピーされました!
spec:
...
service:
type: DataGrid
sites:
local:
name: LON
expose:
type: LoadBalancer
locations:
- name: LON
url: openshift://api.site-a.devcluster.openshift.com:6443
secretName: lon-token
- name: NYC
url: openshift://api.site-b.devcluster.openshift.com:6443
secretName: nyc-token
logging:
categories:
org.jgroups.protocols.TCP: error
org.jgroups.protocols.relay.RELAY2: fatal
- 1
- Data Grid サービスを指定します。Data Grid は、Data Grid サービスクラスターのみでクロスサイトレプリケーションをサポートします。
- 2
- Data Grid クラスターのローカルサイトに名前を付けます。
- 3
LoadBalancerを、バックアップの場所間の通信を処理するサービスとして指定します。- 4
- すべてのバックアップの場所の接続情報を提供します。
- 5
.spec.service.sites.local.nameに一致するバックアップの場所を指定します。- 6
- バックアップ場所の OpenShift API の URL を指定します。
- 7
- バックアップサイトのサービスアカウントトークンが含まれるシークレットを指定します。
- 8
- JGroups TCP プロトコルのエラーメッセージをログに記録します。
- 9
- JGroups RELAY2 プロトコルの致命的なメッセージをログに記録します。