第36章 ローリングアップグレード


Red Hat JBoss Data Grid では、ローリングアップグレードは、クラスターの 1 つのバージョンから新バージョンへのダウンタイムなしのアップグレードを可能にします。これにより、ノードのアップグレードを、アプリケーションの再起動なしに、またはデータ損失のリスクを伴わずに実行することができます。
JBoss Data Grid では、ローリングアップグレードはリモートクライアントサーバーモードでのみ実行できます。

重要

ローリングアップグレードを実行する際には、データの不整合が生じる可能性があるため、ソースクラスター内のキャッシュエントリーは更新しないことをお勧めします。

36.1. Hot Rod を使用したローリングアップグレード

以下のプロセスは、Hot Rod を使用してリモートクライアントサーバーで実行されている Red Hat JBoss Data Grid でローリングアップグレードを実行するために使用されます。

重要

お使いの JBoss Data Grid バージョンで Hot Rod プロトコルの正しいバージョンが使用されていることを確認してください。バージョンは、プログラムを用いてクライアントに指定する必要があります。またこれを定義する方法については、JBoss Data Grid の 『Developer Guide』 を参照してください。各リリースの Hot Rod プロトコルバージョンは以下の通りです。
  • JBoss Data Grid 7.0 の場合、Hot Rod プロトコルバージョン 2.5 を使用
  • JBoss Data Grid 6.6 の場合、Hot Rod プロトコルバージョン 2.3 を使用
  • JBoss Data Grid 6.5 の場合、Hot Rod プロトコルバージョン 2.0 を使用
  • JBoss Data Grid 6.4 の場合、Hot Rod プロトコルバージョン 2.0 を使用
  • JBoss Data Grid 6.3 の場合、Hot Rod プロトコルバージョン 2.0 を使用
  • JBoss Data Grid 6.2 の場合、Hot Rod プロトコルバージョン 1.3 を使用
  • JBoss Data Grid 6.1 の場合、Hot Rod プロトコルバージョン 1.2 を使用
前提条件

この手順では、クラスターがすでに設定されており、実行中であること、およびクラスターが JBoss Data Grid の古いバージョンを使用していることを想定しています。このクラスターは以下ではソースクラスターとして言及されており、ターゲットクラスターはデータの移行先となる新規クラスターを指します。

  1. ターゲットクラスターの設定

    ソースクラスターとは別にターゲットクラスター (新規 JBoss Data Grid のあるノードで構成) を設定するには、別のネットワーク設定または別の JGroups クラスター名のいずれかを使用します。それぞれのキャッシュについては、以下の設定で RemoteCacheStore を設定します。
    1. remote-server がソースクラスターを参照するようにします。
    2. キャッシュ名がソースクラスターのキャッシュの名前と一致するようにします。
    3. hotrod-wrapping を有効に (true に設定) します。
    4. purge を無効に (false に設定) します。
    5. passivation を無効に (false に設定) します。
    RemoteCacheStore によるターゲットクラスターの設定

    図36.1 RemoteCacheStore によるターゲットクラスターの設定

    注記

    ローリングアップグレードを実行する際のターゲットクラスター設定の詳細の例については、$JDG_HOME/docs/examples/configs/standalone-hotrod-rolling-upgrade.xml ファイルを参照してください。
  2. ターゲットクラスターの起動

    ターゲットクラスターのノードを起動します。ソースクラスターではなく、ターゲットクラスターを指すように各クライアントを設定します。最終的に、ターゲットクラスターはソースクラスターの代わりにすべての要求を処理します。その後ターゲットクラスターは RemoteCacheStore を使用してソースクラスターのデータをオンデマンドでロードします。
    ソースクラスターをターゲットクラスターの RemoteCacheStore としてターゲットクラスターを指すクラスター。

    図36.2 ソースクラスターをターゲットクラスターの RemoteCacheStore としてターゲットクラスターを指すクラスター。

  3. ソースクラスターのキーセットのダンプ

    すべての接続がターゲットクラスターを使用している場合、ソースクラスターのキーセットをダンプする必要があります。これは JMX または CLI のいずれかを使用して実行できます。
    • JMX

      移行する必要のあるすべてのキャッシュについて、ソースクラスターの RollingUpgradeManager MBean で recordKnownGlobalKeyset 操作を起動します。
    • CLI

      移行する必要のあるすべてのキャッシュについて、ソースクラスターで upgrade --dumpkeys コマンドを起動するか、または --all スイッチを使用してクラスターのすべてのキャッシュをダンプします。
  4. ソースクラスターからの残りのデータの取り込み

    ターゲットクラスターはソースクラスターから残りのすべてのデータを取り込みます。これも JMX または CLI のいずれかを使用して実行できます。
    • JMX

      synchronizeData 操作を起動し、移行する必要のあるすべてのキャッシュについて、ターゲットクラスターの RollingUpgradeManager MBean で recordKnownGlobalKeyset を指定します。
    • CLI

      移行する必要のあるすべてのキャッシュについて、ターゲットクラスターで upgrade --synchronize=hotrod コマンドを起動するか、または --all スイッチを使用してクラスター内のすべてのキャッシュを同期します。
  5. RemoteCacheStore の無効化

    ターゲットクラスターがソースクラスターからすべてのデータを取得した後に、ターゲットクラスターの RemoteCacheStore を無効にする必要があります。これは以下のように実行できます。
    • JMX

      ターゲットクラスターの RollingUpgradeManager MBean に hotrod パラメーターを指定して disconnectSource 操作を起動します。
    • CLI

      ターゲットクラスターで upgrade --disconnectsource=hotrod コマンドを起動します。
  6. ソースクラスターの使用の停止

    最終手順としてソースクラスターの使用を停止します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.