ThingWorx のバックアップ
ThingWorx 関連のバックアップはデータストアレベルと ThingWorx アプリケーションレベルの両方で実行できます。データストアがデータ冗長性を備えた高可用性コンフィギュレーションでインストールされている場合でも、データストアレベルのバックアップは定期的に実行する必要があります。これはモデルプロバイダとデータプロバイダが使用しているすべてのデータストアに当てはまります。
このトピックの情報は、ThingWorx プラットフォームでアプリケーションレベルのバックアップ向けに提供されている機能のみに当てはまり、H2 データベースは例外とします。
|
H2 データベースは、埋め込みモードで動作するため、この規則の唯一の例外になります。この場合、ThingWorx は platform-settings.json ファイル内の "ThingworxBackupStorage" コンフィギュレーションパラメータで指定されているディレクトリへの自動バックアップをスケジュールする組み込み機能を提供しています。ただし、これは埋め込み機能であるため高可用性ソリューションではなく、フェイルオーバー機能は備わっていません。
|
一般的なデータストアバックアップのガイドラインについては
ThingWorx Backup and Recovery Planning ガイドを参照してください。次を含む詳細については、ベンダーオリジナルのドキュメンテーションを参照してください。
• H2 - ThingworxStorage 内の data フォルダのアーカイブの作成
ThingWorx モデル
ThingWorx ベースのアプリケーションの最も柔軟な機能は、ThingWorx モデルを Composer を介して手動で、または REST API、スクリプト、拡張機能を使用してプログラムによって、ランタイムで直接変更できることです。運用時の不注意による変更から回復するため、モデルに対する変更を追跡することをお勧めします。これを行うには、モデルエンティティの特定の時点のスナップショットを定期的にエクスポートします。
これらのスナップショットバックアップは、スケジューラを使用して次の API を自動的に呼び出すことによっても実行できます。
• 標準のエクスポート REST API。
• 「ソース管理エンティティをエクスポート」 REST API。これは、Git または Subversion などのバージョン管理システムを使用します。
上記の 2 つのオプションの違いとして、「ソース管理エンティティをエクスポート」オプションでは各エンティティタイプのフォルダ内に個々の XML ファイルが作成されてエクスポートを人間が判読可能になるのに対し、バイナリ ".twx" フォーマットは圧縮されて比較的効率的にインポートできます。
|
PTC はエクスポートのフォーマットが特定の規格に準拠することを保証しておらず、ThingWorx のバージョンによって通知なしに変更される可能性があります。したがって、これらのエクスポートされたファイルを使用する外部アプリケーションを作成することは推奨されていません。
|
ランタイムデータ
モデルのエクスポートと同様に、ランタイムデータをエクスポートする標準 REST API もあります。ランタイムデータは時間の経過とともに非常に大きくなる可能性があるので、エクスポートプロセスは並列化され、エクスポートファイルは管理しやすい複数の小さなファイルに分割されます。データのサイズが大きいので、完全なバックアップを行うのではなく、アプリケーションレベルで増分方式でデータをエクスポートすることをお勧めします。さらに、エクスポートに長時間かからないようにするため、可能であればエンティティ単位でエクスポートすることをお勧めします。最良事例として、ランタイムデータを保持するために、データストレアレベルでバックアップすることを検討してください。データエクスポートは ThingworxStorage/exports ディレクトリに保存されます。エクスポートは拡張子 .twx が付いたバイナリファイルとして、リポジトリディレクトリ内の各エンティティタイプのフォルダに現在の日付で格納されます。データは、エクスポート/インポートサブシステムで設定されているエクスポートファイルのサイズおよび処理スレッドプールサイズに基づいて複数のファイルに分割されます。
この機能は、通常は、定期的なバックアップを実行するためではなく、データをあるシステムから別のシステムにマイグレーションするときに使用します。データの定期的なアーカイブには、定期的な重複しない (つまりデータのエクスポートに開始日と終了日を使用した) エクスポートを使用できますが、さらに効率的なオプションとしては、データストアレベルのバックアップを使用してランタイムデータを保持します。
ファイルリポジトリ
ThingWorx のファイルリポジトリはファイルシステムディレクトリであり、通常はローカルまたは共有 (高可用性 ThingWorx インストールの場合) ドライブ上にあります。これは、カスタム設定内の環境変数 ThingworxFileStorage で定義されている標準のファイルシステムディレクトリであり、デフォルトでは ThingworxStorage/repository にあります。オペレーティングシステムによって提供されているファイルバックアップソリューション (Linux の rsync など) を使用して、このディレクトリを定期的にバックアップできます。
拡張機能
拡張機能は ThingWorx にインポートされるとファイルシステムにキャッシュされ、高可用性コンフィギュレーションではデータストアにも保存されます。この場合、最良事例としては、キャッシュされたバージョンをバックアップするのではなく、元の拡張機能パッケージを保持することをお勧めします。これは、
PTC ダウンロード内の拡張機能は定期的にアップグレードされ、開発に使用したバージョンを再ダウンロードできないことがあるためです。ファイルシステムへのキャッシュは
ThingworxStorage/extensions ディレクトリに保管されます。
その他のファイルベースの成果物
オペレーティングシステムベースの任意のファイルバックアップツール (Linux の rsync など) を使用して、このほかに以下に示すような ThingWorx 関連のファイルベースの成果物をバックアップできます。
• ThingworxPlatform ディレクトリ内のコンフィギュレーションファイル
• ThingworxStorage/logs ディレクトリ内のログファイル
• ThingworxStorage/reports ディレクトリ内に生成されているレポート