3 Oracle Blockchain Platformインスタンスのインストール
仮想マシンのデプロイ
仮想マシン・ホスティング・ソフトウェアへのOracle Blockchain Platform Enterprise Editionのロード
- Oracle Blockchain Platform Enterprise Editionのページで、「Download」をクリックし、ステップに従ってOracle Blockchain Platform Enterprise Editionパッケージをダウンロードします。ダウンロードしたアーカイブ・ファイルから、OVAイメージ
obpee_21_1_2.ova
を抽出します。 - VMを仮想マシン・ホスティング・ソフトウェアにインポートします。たとえば、Oracle VirtualBoxの場合、次のステップを実行します。VMWare ESXiの使用の詳細は、「VMWare ESXiでのOracle Blockchain Platform Enterprise Editionのロード」を参照してください。
- ファイル、アプライアンスのインポートの順に選択し、OVAが抽出されているディレクトリを参照します。
- セットアップで複数のVMを実行する場合は、アプライアンス設定ページで、すべてのネットワーク・カードのMACアドレスの再初期化を選択できます。アプライアンスを複数回インポートするか、インポート直後にVMをクローニングすると、複数のVMを作成できます。インポートをクリックします。
- 数分後、VirtualBox Managerのマシン・リストにVMが表示されます。VMを右クリックし、設定を選択します:
- マザーボードタブのシステムで、UTC時間のハードウェア・クロックを選択して、ゲストVMとホストのクロックがタイムゾーンに関して一致していることを確認します。
- VMを配置するネットワークに接続されているアダプタタブのネットワークで、ネットワーク・アダプタの有効化」が選択されていることを確認し、ブリッジ・アダプタを選択します。
これで、VMを使用する準備が整いました。
VMWare ESXiでのOracle Blockchain Platform Enterprise Editionのロード
- VMWare ESXiナビゲータで、「仮想マシン」ページを選択し、「VMの作成/VMの登録」をクリックします。
- 作成タイプの選択で、OVFまたはOVAファイルからの仮想マシンのデプロイを選択し、「次」をクリックします。
- 仮想マシンの名前を入力し、ダウンロードしたブロックチェーン・パッケージ(OVAファイル)を選択して、「次」をクリックします。
- デフォルト値を受け入れ、残りのページの「次」をクリックします。
- 「終了」をクリックし、VMがプロビジョニングされるまで待機します。
- VMの実行後、VMに対してコンソールを開き、デフォルトのユーザー名
oracle
およびデフォルトのパスワードWelcome1
を使用してログインします。パスワードを変更するよう求められます。パスワードを変更したら、新しいパスワードを使用して再度ログインします。 - DHCPでIPアドレスを取得できるようにするには、
sudo
コマンドを使用してrootアカウントに変更してから、次のステップを実行します:- ファイル
/etc/sysconfig/network-scripts/ifcfg-enp0s3
を、ifcfg-ens160
という同じディレクトリ内の新しいファイルにコピーします。 ifcfg-ens160
ファイルを編集して、アダプタ名をenp0s3からens160に変更します。- VMの電源を切断します。
- ネットワーク・アダプタ・タイプをE1000からVMXNET 3に変更します。
- ファイル
- VMの電源を投入します。
これで、VMを使用する準備が整いました。
台帳に使用できる領域の拡張
Oracle Blockchain Platformのレジャーおよびログは永続的であるため、領域が不足しないようにルート・ボリュームを拡張する必要があります。
- SCSIコントローラ用のハード・ディスクを追加します。VirtualBoxで、設定をクリックし、記憶域を選択します。新しいハード・ディスクを追加します。推奨されるファイル・タイプはVHD (仮想ハード・ディスク)です。固定または拡張可能のいずれかのモードを選択します。
- 論理ボリューム・パーティションを作成します:
sudo fdisk -c -u /dev/sdb
次のサブコマンドを順に入力します:n Create new partition Press p Choose primary partition use p 1 Choose 1 for the primary partition after this press return key twice for max allocation t Change the type 8e Change the partition type to Linux LVM p Print the partition w write the changes
- 新しい物理ボリュームを作成します:
sudo pvcreate /dev/sdb1
- システムを再起動します。
- 物理ボリュームを検証します:
sudo pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg00 lvm2 a-- 96.66g <25.41g /dev/sdb1 vg00 lvm2 a-- <200.00g <200.00g
/dev/sdb1
をvg00
に追加してサイズを拡張し、論理ボリュームを拡張するための領域を増やします:sudo vgextend vg00 /dev/sdb1
- ボリューム・グループのサイズを確認します:
この例では、225.4 GBが空き領域です。sudo vgs VG #PV #LV #SN Attr VSize VFree vg00 2 5 0 wz-n <296.66g 225.40g
- 論理ボリュームのサイズを拡張します:
ここで、lvextend /dev/vg00/root -L+24G
24G
は、必要に応じて変更できる論理ボリュームを拡張するサイズです。拡張可能な最大領域を確認するには、vgdisplay
コマンドを使用してFree PE / Size
の値を確認します。 - 拡張後、ファイル・システムのサイズを変更します:
sudo resize2fs /dev/vg00/root\
- 論理ボリュームを確認します:
/dev/vg00/root df -h /dev/mapper/vg00-root 194G 18G 169G 10% /
Oracle Blockchain Platformの起動
ネットワークおよびシステム設定を構成したら、VMを選択して起動をクリックし、VMを起動します。1分以内に起動します。
VMが起動したら、[Enter]キーを押して、ログイン・プロンプトを表示します。
DockerルートCA証明書の更新
Oracle Blockchain Platform Enterprise Editionに含まれるDockerルートCA証明書は、Oracle Blockchain Platform Enterprise Editionの各仮想マシン上で更新する必要があります。
OpenLDAPおよびブロックチェーン・プラットフォーム・マネージャ証明書の更新
Oracle Blockchain Platform Enterprise Editionに含まれるOpenLDAPおよびブロックチェーン・プラットフォーム・マネージャ証明書は、Oracle Blockchain Platform Enterprise Editionの各仮想マシン上で更新する必要があります。
OpenLDAPおよびブロックチェーン・プラットフォーム・マネージャ証明書を更新する前に、DockerルートCA証明書を更新します。次のスクリプトは、DockerルートCA証明書の更新時に作成されたアーティファクトに依存します。
OpenLDAPおよびブロックチェーン・プラットフォーム・マネージャ証明書を更新するには、コマンド・プロンプトから次のスクリプトを実行します:
#!/bin/bash
echo "OBPEE 21.1.2 Cert provisioning script"
newRootCACertPath='/u01/renewCerts/docker-certs/rootCA.crt'
newRootCAKeyPath='/u01/renewCerts/docker-certs/rootCA.key'
cpRootCACert='/u01/blockchain/cp/certs/rootCA.crt'
cpRootCAKey='/u01/blockchain/cp/certs/rootCA.key'
registryRootCACert='/u01/blockchain/registry/certs/rootCA.crt'
registryRootCAKey='/u01/blockchain/registry/certs/rootCA.key'
cpid=$(docker ps | grep 'controlplane' | awk '{ print $1 }')
echo "CP container ID -> $cpid"
ldapid=$(docker ps | grep 'openldap' | awk '{ print $1 }')
echo "OpenLDAP container ID -> $ldapid"
if [ -z "$ldapid" ] || [ -z "$cpid" ]; then
echo 'ERROR: Failed to detect running containers. Abort.'
exit
else
echo "Openldap and CP containers are running."
fi
if [ ! -f $newRootCACertPath ] || [ ! -f $newRootCAKeyPath ]; then
echo "Error: New RootCA cert and/or key not found. Abort."
exit
else
echo "New RootCA cert and key detected."
fi
#### CP changes ####
#Backup existing image
docker tag bcs/control-plane:latest bcs/control-plane:latest_bk
#Modify existing image
docker cp $newRootCACertPath ${cpid}:/tmp/rootCA.crt
docker exec -it ${cpid} bash -c "keytool -import -trustcacerts -keystore /usr/lib/jvm/jre/lib/security/cacerts -storepass changeit -alias defaultOpenLdapCACert2022 -import -file /tmp/rootCA.crt -noprompt"
#Commit image
docker commit ${cpid} bcs/control-plane:latest
#Backup existing cert and key
cp -f $cpRootCACert ${cpRootCACert}.old
cp -f $cpRootCAKey ${cpRootCAKey}.old
#Replace new cert and key
cp -f $newRootCACertPath ${cpRootCACert}
cp -f $newRootCAKeyPath ${cpRootCAKey}
#Restart
echo "Restarting controlplane service"
systemctl restart controlplane
#### OpenLDAP changes ####
#Backup existing image
docker tag obp/ol-openldap:latest obp/ol-openldap:latest_bk
docker cp $newRootCACertPath ${ldapid}:/tmp/rootCA.crt
docker cp $newRootCAKeyPath ${ldapid}:/tmp/rootCA.key
docker exec -it ${ldapid} bash -c "cp -f /tmp/rootCA.crt /etc/ssl/certs/ca_server.pem"
#Commit image
docker commit $ldapid obp/ol-openldap:latest
#Restart
echo "Restarting OpenLDAP service"
systemctl restart openldap
#### Registry changes ####
#Backup existing cert and key
cp -f $registryRootCACert ${registryRootCACert}.old
cp -f $registryRootCAKey ${registryRootCAKey}.old
#Replace new cert and key
cp -f $newRootCACertPath $registryRootCACert
cp -f $newRootCAKeyPath $registryRootCAKey
#Restart
echo "Restarting registry service"
systemctl restart dregistry
echo "Successfully completed cert renewals"
Oracle Blockchain Platformへの初回ログオン
Oracle Blockchain Platform Enterprise EditionをVMホスティング・ソフトウェアにデプロイして起動すると、Blockchain Platform Managerにログオンしてインスタンスを作成できます。
https://<hostname of your VM>:7443/console/index.html
初期ユーザー名はobpadmin
、パスワードはwelcome1
です。このユーザーは、初期構成を実行するためだけのものであり、インスタンス作成権限は持っていません。
内部LDAPサーバーを使用するには、先にadmin
パスワードを変更する必要があります。Blockchain Platform Managerでは、デフォルトのパスワードで内部LDAP構成を使用できません。
Blockchain Platform Manager名の設定
Blockchain Platform Managerの構成ページのプラットフォーム設定タブで、Platform Managerの名前を設定できます。
ノート:
Platform Managerの名前が設定されると、LDAPサーバーに追加されたユーザーはすべてこの名前に関連付けられます。ユーザーの追加後に名前を変更すると、それらのユーザーはBlockchain Platform ManagerおよびOracle Blockchain Platformインスタンスにアクセスできなくなります。通知とコンソールのアイドル・タイムアウトの設定
- コンソールのアイドル・タイムアウト: 現在のユーザーがログアウトするまでにコンソールがアイドル状態でいる時間(分)。
- 通知のタイムアウト: ブラウザで通知が表示されている時間(秒)。閉じるまで通知を表示しておく場合は、-1を選択します。
ハードウェア・セキュリティ・モジュール・クライアントの構成
Oracle Blockchain Platform Enterprise Editionでは、ハードウェア・セキュリティ・モジュール(HSM)によるキーの管理をサポートしています。HSMサーバーは、ネットワークまたはオンデマンドのデータ保護(DPoD)サービスで使用できます。
HSMを使用するには、各仮想マシン(VM)にクライアント・ソフトウェアをインストールする必要があります。現在、SafeNet Luna HSMがサポートされています。
HSMを使用するようにインスタンスを構成できるのは、インスタンスの作成時のみです。HSM機能は既存のインスタンスに追加できません。
SafeNet Luna Network HSMデバイス用クライアントのインストール
仮想マシン(VM)には、ハードウェア・セキュリティ・モジュール(HSM)で使用するSafeNet Lunaクライアントのインストールおよび構成を支援するスクリプトが用意されています。
- このスクリプトは、バージョン10.2以降のSafeNet Lunaクライアントをサポートしています。
- このスクリプトは、オンデマンドのSafeNet Luna HSMサービスではなく、SafeNet Luna Network HSMデバイスで使用します。
- このスクリプトは、クライアント・インストーラに標準のネーミングおよびフォルダ構造を使用するように記述されています。クライアント・インストーラの場所またはファイル名を変更すると、スクリプトが失敗する場合があります。
- スクリプトはroot権限を使用して実行する必要があります。
- このスクリプトは、VMのホスト名とIPアドレスの構成後に実行する必要があります。クライアントのインストール後にホスト名またはIPアドレスを変更した場合は、クライアントの再構成が必要になることがあります。
SafeNet Luna Network HSMデバイス用クライアントの手動インストール
提供されているスクリプトよりもSafeNet Lunaクライアントのインストールを詳細に制御する必要がある場合は、クライアントを手動でインストールできます。
- SafeNet Luna Network HSMが設定され、クライアント・アーカイブがホスト・コンピュータにダウンロードされます。
- ホスト・コンピュータに対する
sudo
権限が必要です。
partition init -label fabric
role login -name Partition SO
role init -name Crypto Officer
role logout
role login -name Crypto Officer
role changepw -name Crypto Officer
role init -name Crypto User
role logout
role login -name Crypto User
role changepw -name Crypto User
オンデマンドのSafeNet Luna HSM用クライアントのインストール
オンデマンドのSafeNet Luna HSMサービスを使用してキーを管理するには、事前構成済のSafeNet Lunaクライアント・アーカイブをダウンロードし、インスタンス内の各仮想マシン(VM)に抽出します。
- オンデマンドのSafeNet Luna HSMサービスが設定され、クライアント・アーカイブがホスト・コンピュータにダウンロードされます。
- クライアント・インストール・ディレクトリは、
/etc/hyperledger/fabric
パスの下にある必要があります。 - ホスト・コンピュータに対する
sudo
権限が必要です。
partition init -label fabric
role login -name Partition SO
role init -name Crypto Officer
role logout
role login -name Crypto Officer
role changepw -name Crypto Officer
role init -name Crypto User
role logout
role login -name Crypto User
role changepw -name Crypto User