6 Oracle Blockchain Platformの管理
インスタンスをプロビジョニングしたら、Blockchain Platform Managerで管理できます。
インスタンスの詳細の表示
Blockchain Platform Managerでインスタンス名をクリックすると、インスタンス・タブが開き、インスタンスの詳細が表示されます。
インスタンスの詳細ページには、ログや台帳の場所などの情報の他、インスタンスの状態が表示されます。すべてのVMとそのステータスを表示することもできます。
パッチ適用ページには、インスタンスに適用されているパッチと、適用されていない入手可能なパッチが表示されます。
インスタンスはアクション・メニューから管理できますが、ブロックチェーン・ネットワークを管理するためにOracle Blockchain Platformサービス・コンソールを起動することもできます。
構成タブを開いて、LDAPおよびプラットフォーム構成のタブにアクセスします。LDAPまたはプラットフォーム構成は必要に応じて更新できます。LDAPでユーザーを作成し、そのユーザーIDで正常にログインした後、デフォルト・ユーザー(obpadmin
)を無効にできます。
インスタンス・アクティビティの表示
アクティビティ・ページには、インスタンスに対して実行された操作のステータスが表示されます。
インスタンスのアクティビティを表示するには、インスタンス名を選択し、インスタンス・ページでアクティビティをクリックします。
このタブには、インスタンスに対して実行された操作(起動、停止、更新など)、それらが成功したかどうか、操作の時間、および操作を開始したユーザーIDがリストされます。
アクティビティ・ページでは、Blockchain Platform Managerによって管理されているすべてのインスタンスのアクティビティを表示およびフィルタできます。アクティビティ・ページでは、削除されたインスタンスを含む、すべてのインスタンスに対して実行された操作の履歴を表示できます。これらのアクティビティは、インスタンス名、操作タイプ、日付範囲などの様々な検索基準でフィルタできます。
インスタンスの起動または停止
Blockchain Platform Managerでインスタンスを起動または停止できます。
- Blockchain Platform Managerで、インスタンスを見つけてその横にあるメニューを選択します。
- 起動または停止を選択します。選択内容を確認するよう求められます。
インスタンスの削除
Blockchain Platform Managerでインスタンスを削除できます。
- Blockchain Platform Managerを開き、インスタンスを見つけます。
- インスタンスの横にあるメニューから、終了を選択します。
- 操作を確認するよう求められます。確認をクリックします。
インスタンスのスケール・インまたはスケール・アウト
Blockchain Platform Managerでインスタンスをスケール・インまたはスケール・アウトできます。
スケール・アウト
新しいVM、レプリカまたはピアを作成することで、インスタンスをスケール・アウトできます:
- Blockchain Platform Managerでインスタンス名の横にあるメニューを開き、スケール・アウトをクリックします。
- 次のいずれかの方法を使用してスケール・アウトできます:
- 新規VM: プラットフォーム・ホスト、チェーンコード・ホストまたはZooKeeper/Kafkaホストの指定されたロールで、クラスタに新しいVMを追加します。
- 新規レプリカ: 追加ノードを追加します(RESTプロキシまたはCA)。
- 新規ピア: ピアを一度に1つずつ追加します。
スケール・イン
ピアを削除してインスタンスをスケール・インできます。
- 他のすべてのピアのゴシップ・ブートストラップ・アドレス・リストを確認し、ピアのアドレスを削除し、必要に応じて稼働中の別のピアのアドレスを追加します。ピア構成を変更したら、ピアを再起動します。
- すべてのチャネルのアンカー・ピア・リストを確認し、アンカー・ピア・リストからピアを削除し、必要に応じて稼働中の別のピアをアンカー・ピア・リストに追加します。
- チャネルまたはチェーンコードがそのピアでのみ参加またはインスタンス化される場合は、稼働中の別のピアを使用して同じチャネルに参加したり、同じチェーンコードをインスタンス化することを検討する必要があります。
- Blockchain Platform Managerでインスタンス名の横にあるメニューを開き、スケール・インをクリックします。
- 削除するピアのホスト名またはIPアドレスを入力します。複数のピアを削除するには、ピアの追加をクリックして他のピアの情報を入力します。
インスタンスへのパッチの適用
Blockchain Platform Managerおよびインスタンスには、Blockchain Platform Managerからパッチを適用できます。
パッチの登録
- support.oracle.comから目的のパッチをダウンロードします。
- パッチ・タブを開きます。
- パッチの登録をクリックして、ダウンロードしたパッチを選択します。
Blockchain Platform Managerへのパッチ適用
Blockchain Platform Managerパッチを利用できる場合は、インスタンスにパッチを適用する前に適用する必要があります。さもないと、データ・プレーンへのパッチ適用を実行するときに、まずコントロール・プレーンにパッチを適用するよう促す警告メッセージが表示されます。
- Blockchain Platform Managerパッチを利用できる場合は、右上隅のユーザー・メニューから開くことができる情報ダイアログにアップグレード・ボタンが表示されます。
- Blockchain Platform Managerのパッチ適用プロセスにより、Blockchain Platform Managerが自動的に再起動されます。再起動したら、キャッシュされたイメージおよびファイルをブラウザでクリーンアップし、Blockchain Platform Managerに再度ログインする必要があります。
パッチ適用後に作成された新規インスタンスは、いずれもアップグレード・レベルになります。「インスタンスへのパッチ適用」の説明に従って、既存のすべてのインスタンスにパッチを適用する必要があります。
インスタンスへのパッチ適用
インスタンスにパッチを適用する前に、Blockchain Platform Managerにパッチを適用しておく必要があります。
パッチ・パッケージには次が含まれます:
- メタデータ・ファイル
- パッチ適用中に実行される1つ以上のスクリプト
- 様々なコンポーネントのDockerイメージ
Blockchain Platform Managerにより、パッチ・パッケージが抽出され、コンポーネントDockerイメージがDockerレジストリにプッシュされ、メタデータ・ファイルおよびスクリプトがローカル・データベースに格納されます。
パッチ・パッケージはローリング・パッチです。新しいパッチは常に、同じリリース内の古いパッチのスーパーセットです。
- パッチ・ページを開きます。適用する登録済パッチを選択して、適用をクリックします。パッチを適用するすべてのインスタンスを選択して次をクリックし、発行をクリックします。
- パッチ適用は非同期操作です。インスタンスのアクティビティ・ペインで、リフレッシュをクリックして操作のステータスを定期的にチェックし、ステータスが
Successful
に変わるまで待ちます。
パッチをロールバックするには
- インスタンス・タブで、インスタンスを選択してインスタンスの詳細ページを開き、パッチ・タブを選択します。
- ロールバックするパッチを選択し、ロールバックをクリックします。
パッチ適用後ステップ
インスタンスにパッチを適用した後、Blockchain Platform ManagerのUIが更新されない場合があります。ブラウザ・キャッシュをクリアしてBlockchain Platform Managerを再ロードし、更新されたページを確認してください。
パッチが適用されたインスタンスのロギングを構成する方法の詳細は、「移行されたインスタンス・ログ」を参照してください
インスタンスのバックアップ
ローリング・バックアップ手順を使用して、Oracle Blockchain Platform Enterprise Editionのインスタンスをバックアップできます。
次の手順では、Oracle VM VirtualBoxを使用して、同じホスト・システムにVMイメージをインポートすることを前提としています。VMイメージを別のホストシステムにリストアする場合は、追加のステップが必要になることがありますが、このトピックでは説明していません。
- インスタンスはエンタープライズ構成を使用しており、少なくとも3つのOracle Blockchain PlatformホストVM、3つのKafkaホストVM、および3つのチェーンコード・ホストVMが含まれます。これらのホストとは別に、Blockchain Platform Managerを別のホストVMにインストールする必要があります。
- インスタンスには、サイズ設定および使用状況に基づいて、十分な数のピアおよびオーダラのサービス・インスタンスがあります。通常、プラットフォーム・ホストごとに少なくとも2つのピアと1つのオーダラが必要です。
- すべてのプラットフォーム・ホスト、Kafkaホストおよびチェーンコード・ホストは異なるコンピュータに配置され、各タイプの少なくとも1つのホストは異なるリージョンにあります。
- インスタンスは、他のサービス・インスタンスが停止したときに、アクティブなサービス・インスタンスにリクエストをルーティングするように構成された外部ロード・バランサを使用します。外部ロード・バランサは別のVMで実行されており、バックアップ・プロセス全体で使用可能である必要があります。外部ロード・バランサが使用できない場合、最初のプラットフォーム・ホストがバックアップのために停止するときに停止時間が発生します。
- インスタンスで使用されるアプリケーションは、失敗したトランザクションを再試行するように構成されています。プラットフォーム・ホストまたはチェーンコード・ホストが使用できない場合、RESTプロキシまたはSDKを使用してトランザクションを実行するときに断続的な障害が発生する可能性があります。トランザクションが失敗した場合、アプリケーションは、トランザクションが成功するまで、別のプラットフォーム・ホストまたはチェーンコード・ホストでトランザクションを再試行する必要があります。
- 認証サーバーはインスタンスの外部にあり、可用性が高くなるように構成されます。この手順の一環として、認証サーバーはバックアップされません。
- チェーンコード・ホストを一度に1つずつバックアップします。
- 1つのチェーンコード・ホストを停止し、他のすべてのチェーンコード・ホストが引き続き実行中であることを確認します。
- 停止したホストのVMコンテンツをエクスポートします。Oracle VM VirtualBoxで、「ファイル」を選択し、アプライアンスのエクスポートを選択します。「形式」で、オープン仮想化形式1.0を選択します。バックアップを同じシステムにリストアする場合は、ネットワーク・アダプタのMACアドレスを保持するためにMACアドレス・ポリシーを指定します。
- チェーンコード・ホストを起動します。
- 他のすべてのチェーンコード・ホストについて、前のステップを繰り返します。
- Kafkaホストを一度に1つずつバックアップします。
- 1つのKafkaホストを停止し、他のすべてのKafkaホストが引き続き実行中であることを確認します。
- 停止したホストのVMコンテンツをエクスポートします。Oracle VM VirtualBoxで、「ファイル」を選択し、アプライアンスのエクスポートを選択します。「形式」で、オープン仮想化形式1.0を選択します。バックアップを同じシステムにリストアする場合は、ネットワーク・アダプタのMACアドレスを保持するためにMACアドレス・ポリシーを指定します。
- Kafkaホストを起動します。
docker ps
コマンドを使用して、KafkaおよびZookeeperのコンテナがVMで正常に実行されていることを確認します。- 他のすべてのKafkaホストについて、前のステップを繰り返します。
- サービス・コンソールの「ノード」タブで、「その他のアクション」アイコンをクリックして、各プラットフォーム・ホストで実行中のピア・ノードおよびオーダラ・ノードを確認します。次のステップで使用するためにこの情報を記録し、プラットフォーム・ホストを一度に1つずつバックアップします。
- サービス・コンソールまたはREST APIを使用して、最初のプラットフォーム・ホスト上のピア・ノードおよびオーダラ・ノードを停止します。
- プラットフォーム・ホストを停止し、他のすべてのプラットフォーム・ホストが引き続き実行中であることを確認します。
- 停止したホストのVMコンテンツをエクスポートします。Oracle VM VirtualBoxで、「ファイル」を選択し、アプライアンスのエクスポートを選択します。「形式」で、オープン仮想化形式1.0を選択します。バックアップを同じシステムにリストアする場合は、ネットワーク・アダプタのMACアドレスを保持するためにMACアドレス・ポリシーを指定します。
- プラットフォーム・ホストを起動します。
- プラットフォーム・ホストで実行されていたピア・ノードおよびオーダラ・ノードを起動します。
- ピア・ノードおよびオーダラ・ノードが正常に実行されていることを確認します。
- 他のすべてのプラットフォーム・ホストについて、前のステップを繰り返します。
- Blockchain Platform Managerをバックアップします。
- Blockchain Platform Managerホストを停止します。
- 停止したホストのVMコンテンツをエクスポートします。Oracle VM VirtualBoxで、「ファイル」を選択し、アプライアンスのエクスポートを選択します。
- Blockchain Platform Managerホストを起動します。
- チェーンコード・ホストが停止すると、次のようなエラーが返されることがあります。
{ "returnCode": "Failure", "error": "Transaction processing for endorser [<Host FQDN>:15036]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute transaction f04fa964c4eae9387d2f97887a3558118412b0c6b76a33d75f17572c37c20918: error sending: timeout expired while executing transaction", "result": null }
- チェーンコード・ホストの再起動時に、次のようなエラーが返されることがあります。
{ "returnCode": "Failure", "error": "Transaction processing for endorser [<Host FQDN>:15039]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute transaction 7dbb9966b40ecb07b811dc2e6a23cea899e791f4eeb80d5e1b15daa10350aa6a: [channel mychan2] could not launch chaincode obcs-example02:v0: error starting container: error starting container: Post https://<HOST FQDN>:2376/containers/create?name=dev-6aae07b4-779c-4752-bcb9-4df010503168-peer3-obcs-example02-v0: dial tcp <IP Address>:2376: connect: no route to host", "result": null }
- また、次の2つの例のように、一時的なタイムアウト・エラーが発生することがあります。
{ "returnCode": "Failure", "error": "Transaction processing for endorser [<External LBR FQDN>:15041]: Chaincode status Code: (500) UNKNOWN. Description: failed to execute transaction 7fb7f989a88ac3b068052ccd3f9acce555c6319d0cfe975fcfdd6a84b32fe421: error sending: timeout expired while executing transaction", "result": null }
{ "returnCode": "Failure", "error": "Failed to get endorsing peers: Discovery status Code: (11) UNKNOWN. Description: error getting endorsers: no endorsement combination can be satisfied", "result": null }