ThingWorx HA のファイルストレージ
スタンドアロン ThingWorx インストールでは、通常はファイルの場所として /ThingworxPlatform、/ThingworxStorage、および /ThingworxBackupStorage の 3 つが確立されています。そして /ThingworxStorage 内に、初期ファイルリポジトリがデフォルトで作成されます。HA 展開では、いくつかの規則および行うべき変更があります。
/ThingworxPlatform フォルダ
ThingworxPlatform フォルダには、ThingWorx インスタンスの起動時に読み取られる必須のファイルが含まれています。以下のファイルがあります。
platform-settings.json
keystore-password
license_capability_response.bin (またはこのファイル名のバリエーション)
ThingWorx HA 構成では、各 ThingWorx サーバーでローカルの /ThingworxPlatform フォルダを維持する必要があります。ライセンスコンテンツを個別に維持することがその主な理由です。
以下のコンテンツはすべての ThingWorx HA サーバー間で同期された状態を維持する必要があります。ファイルが作成または生成され、ある ThingWorx サーバー上で修正された場合には必ず、その HA 構成内のその他すべての ThingWorx サーバーにコンテンツが反映されなければなりません。
platform-settings.json
keystore-password
ライセンスコンテンツの場合、各 ThingWorx サーバーが独自のライセンスファイルおよび最初のアクティブ化の際に作成された信頼ストアの両方を維持しなければなりません。
以下のプロセスを使用して、各 ThingWorx サーバーの /ThingworxPlatform 内にこれらのファイルを確立できます。
1. すべての ThingWorx サーバー上で /ThingworxPlatform を作成します。フォルダ構造は HA 構成内のすべての ThingWorx サーバーで同じでなければなりません。
2. システム環境に合わせて platform-settings.json を構築し、初期 ThingWorx サーバー (HA 構成で最初に起動する ThingWorx サーバー) の /ThingworxPlatform に保存します。
3. 初期 ThingWorx サーバーを起動し、これが完全に稼動していて予期されるすべてのライセンス機能を使用できることを確認します。この時点では、/ThingworxPlatform 内に 3 つのファイルが存在します。
platform-settings.json
keystore-password
successful_license_capability_response.bin
4. 初期 ThingWorx サーバーをシャットダウンします。
5. 初期サーバーからほかの 1 つまたは複数のサーバーの /ThingworxPlatform フォルダに 3 つのファイルをコピーします。
6. ほかのサーバーで、ライセンスファイルの名前を successful_license_capability_response.bin から license_capability_response.bin に変更します。
7. ほかの ThingWorx サーバーを一度に 1 つずつ起動、テスト、および停止して、すべてのライセンス機能が使用可能であることを確認します。
ThingworxPlatform フォルダのデフォルトの場所は /ThingworxPlatform です。環境変数 THINGWORX_PLATFORM_SETTINGS を使用してデフォルト以外の場所を設定できます。ThingWorx がインストールされている Tomcat を起動する前に、Tomcat オペレーティングシステムのユーザー環境でこの変数が設定されていなければなりません。THINGWORX_PLATFORM_SETTINGS によって参照されるフォルダが存在し、Tomcat オペレーティングシステムのユーザーがこれに対する読み取り/書き込みのアクセス許可を持っていることを確認します。
/ThingworxStorage
/ThingworxStorage フォルダは各 ThingWorx サーバーで別個に維持しなければなりません。ThingWorx サーバーごとに個別にログを維持することがこの主な理由です。
この場合、同じキーが使用されるようにするため、keystore.jks ファイルをすべての ThingWorx サーバーに配布する必要があります。これを行うには以下のプロセスに従います。
1. すべての ThingWorx サーバー上で /ThingworxStorage を作成します。フォルダ構造は HA 構成内のすべての ThingWorx サーバーで同じでなければなりません。
2. ThingWorx をリーダー上で完全に稼動するようにします。
3. リーダーから /ThingworxStorage/keystore.jks をコピーし、1 つまたは複数のスタンバイサーバーの /ThingworxStorage にインストールします。
/ThingworxStorage の場所は platform-settings.jsonBasicSettings セクションで管理します。
/ThingworxBackupStorage
/ThingworxBackupStorage は主に H2 データベースのバックアップに使用されます。H2 は ThingWorx HA 構成ではサポートされないので、この場所は使用されません。ただし、ランタイムではこれが存在することが必要とされています。
エラーが記録されないようにするため、各 ThingWorx サーバー上にこの場所を作成するだけで十分です。
HA 環境で不必要な処理を回避するため、platform-settings.json ファイルで "EnableBackup": false を設定します。
/ThingworxBackupStorage の場所は platform-settings.json で管理します。フォルダ構造はすべての ThingWorx サーバーで同じでなければなりません。
ルートファイルリポジトリ
ルートファイルリポジトリは、すべての ThingWorx サーバーが等しく読み取り/書き込みのアクセス権を持つ、共有ファイルシステムボリューム上に配置されていなければなりません。
ファイル共有に関する考慮事項:
ネットワークアタッチストレージ (NAS) 製品またはクラウドストレージは、共有ファイルシステムを提供するための一般的なソリューションです。
NAS 製品にはこの ThingWorx HA 実装をサポートするための独自の高可用性ソリューションがあります。
ThingWorx インスタンスを開始する前にサーバーにボリュームをマウントしなければなりません。
各 ThingWorx サーバー上で Tomcat サービスを実行しているオペレーティングシステムユーザーは、リポジトリが確立されているファイル共有場所に対する読み取り/書き込みのアクセス許可を持っていなければなりません。
マウントの場所は各 ThingWorx サーバーで同じでなければなりません。
ルートファイルリポジトリフォルダの場所を、先に説明したシステムの platform-settings.json に追加しなければなりません。パラメータ FileRepositoryRoot および共有ファイルの場所を BasicSettings セクションに追加する必要があります。この値には、リポジトリを確立するフォルダの場所をリストする必要があります。たとえば、初期リポジトリフォルダを /ThingworxFileRepository/repository に確立する場合、platform-settings.json に以下を追加する必要があります。

"FileRepositoryRoot":"/ThingworxFileRepository"
* 
FileRepositoryRoot パラメータが platform-settings.json ファイルで指定されていない場合、デフォルトのリポジトリの場所 (/ThingworxStorage) が使用されます。
* 
何らかの理由で FileRepositoryRoot で定義されている場所を使用できない場合、起動時に ThingWorx が中止されます。