ThingWorx HA 的檔案儲存
對於獨立式 ThingWorx 安裝,通常有三個已建立的檔案位置:/ThingworxPlatform、/ThingworxStorage/ThingworxBackupStorage。預設狀況下,系統會在 /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 伺服器的 /ThingworxPlatform (HA 組態中啟動的第一個 ThingWorx 伺服器)。
3. 啟動初始 ThingWorx 伺服器,並確保其全面運作且可以使用所有預期的授權功能。此時,/ThingworxPlatform 內應有三個檔案:
platform-settings.json
keystore-password
successful_license_capability_response.bin
4. 關閉初始 ThingWorx 伺服器。
5. 將三個檔案從初始伺服器複製到另一個或其他伺服器的 /ThingworxPlatform 資料夾。
6. 在其他伺服器中,將授權檔案從 successful_license_capability_response.bin 重新命名為 license_capability_response.bin
7. 啟動、測試和停止其他 ThingWorx 伺服器,每次一個,以確保所有授權功能均處於可用狀態。
ThingworxPlatform 資料夾的預設位置為 /ThingworxPlatform。可以透過環境變數 THINGWORX_PLATFORM_SETTINGS 設定非預設位置。此變數必須在帶有 ThingWorx 的 Tomcat 啟動之前,於 Tomcat 作業系統使用者環境中建立。請確保 THINGWORX_PLATFORM_SETTINGS 所參考的資料夾存在且 Tomcat 作業系統使用者擁有對其的讀取/寫入權限。
/ThingworxStorage
應在每個 ThingWorx 伺服器上分別維護 /ThingworxStorage 資料夾。其主要目的是針對每個 ThingWorx 伺服器維護單獨的記錄。
此時,需要將 keystore.jks 檔案分配給所有 ThingWorx 伺服器以確保它們使用相同的金鑰。實現此目的的流程如下:
1. 在所有 ThingWorx 伺服器上建立 /ThingworxStorage。HA 組態中所有 ThingWorx 伺服器上的資料夾結構都必須相同。
2. 讓 ThingWorx 在前置節點上全面運作。
3. 從前置節點複製 /ThingworxStorage/keystore.jks 並將其安裝在一個或多個待命伺服器的 /ThingworxStorage 中。
/ThingworxStorage 的位置於 platform-settings.jsonBasicSettings 部份中進行管理。
/ThingworxBackupStorage
/ThingworxBackupStorage 的主要用途為備份 H2 資料庫。由於 ThingWorx HA 組態不支援 H2,因此不會使用此位置。但其在執行時間仍可能存在。
於每個 ThingWorx 伺服器上均建立此位置足以避免任何登入錯誤。
platform-settings.json 檔案中的 "EnableBackup": false 進行設定以避免於 HA 環境中進行不必要的處理。
/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"
* 
如果未在 platform-settings.json 檔案中指定 FileRepositoryRoot 參數,則將使用預設的存放庫位置 (/ThingworxStorage)。
* 
若有任何原因造成 FileRepositoryRoot 中定義的位置無法使用,則 ThingWorx 會於啟動時中止。