高可用性の設定
ServiceChainでブリッジが1つしか使用されていない場合、そのブリッジが単一障害点となる可能性がある。 これを解決するために、2つ以上のブリッジでHAシステムを構築する方法を説明する。 下図に示すように、少なくとも2組のブリッジが接続されるように構成し、一方のブリッジ接続に問題が発生しても、もう一方のブリッジを介してチェーン間のデータ・アンカリングとバリュー転送が正常に機能するようにする。
前提条件
- ENのメインブリッジとSCNのサブブリッジは接続されている。 If it's not, please refer to Baobab connection to establish the connection.
- This section describes how to add an extra bridge between Baobab and a ServiceChain. 同じように、別のブリッジを追加してHAをセットアップすることもできる。
ステップ1:EN-SCN間に別のブリッジを追加する
In Connecting to Baobab, we assume that the EN and the SCN connected by a bridge as EN-01 and SCN-L2-01, respectively. このセクションでは、EN-02とSCN-L2-02の間にもうひとつブリッジを加える。 同じ手順なので、簡単に説明しよう。
EN-02 をビルドした後、conf/kend.conf
で SC_MAIN_BRIDGE
を 1 に設定し、EN-02 上で ken を再起動する。
SC_MAIN_BRIDGE=1
EN-02のKNI情報を以下のコマンドで確認する:
EN-02$ ken attach --datadir ~/data> mainbridge.nodeInfo.kni"kni://eb8f21df10c6562...25bae@[::]:50505?discport=0"
SCN-L2-02 にログインし、EN-02 の KNI で main-bridges.json
を作成する。 角括弧付きのJSON配列形式であることを確認してください。
SCN-L2-02$ echo '["kni://eb8f21df10c6562...25bae@192.168.0.5:50505?discport=0"]' > ~/data/main-bridges.json
SCN-L2-02 のシェル上で、kscn-XXXXXX-amd64/conf/kscnd.conf
を以下のように編集します。
ブリッジを接続するには、SC_SUB_BRIDGE
を1に設定する。
SC_PARENT_CHAIN_ID
is set to Baobob's chainID
1001.
SC_ANCHORING_PERIOD` はアンカリングのトランザクションを親チェーンに送る期間を決めるパラメータである。 In this example, an anchor transaction is submitted to the parent chain (Baobab) for every 10 child blocks.
...SC_SUB_BRIDGE=1...SC_PARENT_CHAIN_ID=1001...SC_ANCHORING_PERIOD=10...
EN-02でkenを再起動すると、下図のようにEN-02とSCN-L2-02の間にブリッジが自動的に接続され、接続された箇所からデータアンカリングが開始されます。
EN-02とSCN-L2-02の間にブリッジを追加すると、以下のようにノード間の接続が確立されます。