Archiviazione dei file per ThingWorx a disponibilità elevata
Per un'installazione indipendente di ThingWorx, esistono in genere tre posizioni di file stabilite: /ThingworxPlatform, /ThingworxStorage e /ThingworxBackupStorage. All'interno della posizione /ThingworxStorage il repository di file iniziale viene creato per default. Per la distribuzione a disponibilità elevata, esistono alcune regole ed è necessario apportare alcune modifiche.
Cartella /ThingworxPlatform
La cartella ThingworxPlatform contiene i file necessari che vengono letti all'avvio di un'istanza ThingWorx. Questi file sono:
platform-settings.json
keystore-password
license_capability_response.bin (o varianti di questo nome file)
Per una configurazione a disponibilità elevata di ThingWorx, ogni server ThingWorx deve gestire una cartella /ThingworxPlatform locale. Il motivo principale è quello di mantenere separato il contenuto relativo alle licenze.
È necessario che il contenuto riportato di seguito sia sincronizzato in tutti i server ThingWorx a disponibilità elevata. Una volta creato o generato il file e ogni volta che viene modificato in un server ThingWorx, il contenuto deve essere propagato a tutti gli altri server ThingWorx nella relativa configurazione a disponibilità elevata.
platform-settings.json
keystore-password
Per il contenuto relativo alle licenze, ogni server ThingWorx deve mantenere sia il proprio file di licenza che i truststore creati durante l'attivazione iniziale.
Per stabilire questi file nella cartella /ThingworxPlatform di ogni server ThingWorx, utilizzare il processo descritto di seguito.
1. Creare /ThingworxPlatform su tutti i server ThingWorx. La struttura di cartelle deve essere la stessa su tutti i server ThingWorx della configurazione a disponibilità elevata.
2. Creare il file platform-settings.json in base all'ambiente di sistema e salvarlo nella cartella /ThingworxPlatform del server ThingWorx iniziale (il primo server ThingWorx da avviare nella configurazione a disponibilità elevata).
3. Avviare il server ThingWorx iniziale e assicurarsi che sia completamente operativo e che possa utilizzare tutte le funzioni con licenza previste. A questo punto all'interno di /ThingworxPlatform devono essere presenti tre file:
platform-settings.json
keystore-password
successful_license_capability_response.bin
4. Arrestare il server ThingWorx iniziale.
5. Copiare i tre file dal server iniziale nella cartella /ThingworxPlatform dell'altro o degli altri server.
6. Negli altri server rinominare il file di licenza da successful_license_capability_response.bin in license_capability_response.bin.
7. Avviare, verificare e arrestare gli altri server ThingWorx uno alla volta per assicurarsi che tutte le funzionalità concesse in licenza siano disponibili.
La posizione di default per la cartella ThingworxPlatform è /ThingworxPlatform. È possibile impostare una posizione non di default attraverso la variabile di ambiente THINGWORX_PLATFORM_SETTINGS. La variabile deve essere stabilita nell'ambiente utente del sistema operativo Tomcat prima dell'avvio di Tomcat con ThingWorx. Assicurarsi che la cartella a cui fa riferimento THINGWORX_PLATFORM_SETTINGS esista e che l'utente del sistema operativo Tomcat disponga dei permessi di lettura/scrittura per tale cartella.
/ThingworxStorage
La cartella /ThingworxStorage deve essere mantenuta separatamente su ciascun server ThingWorx. Il motivo principale è quello di mantenere separati i log per ciascun server ThingWorx.
In questo caso è necessario distribuire il file keystore.jks in tutti i server ThingWorx per assicurarsi che utilizzino la stessa chiave. Il processo per eseguire questa operazione è quello descritto di seguito.
1. Creare /ThingworxStorage su tutti i server ThingWorx. La struttura di cartelle deve essere la stessa su tutti i server ThingWorx della configurazione a disponibilità elevata.
2. Fare in modo che ThingWorx sia pienamente operativo sul leader.
3. Copiare il file /ThingworxStorage/keystore.jks dal leader e installarlo in /ThingworxStorage per il server o i server di standby.
La posizione di /ThingworxStorage viene gestita nella sezione BasicSettings di platform-settings.json.
/ThingworxBackupStorage
L'uso principale di /ThingworxBackupStorage consiste nell'eseguire il backup del database H2. Poiché H2 non è supportato per le configurazioni a disponibilità elevata di ThingWorx, questa posizione non viene utilizzata. Tuttavia la sua esistenza è comunque prevista in fase di esecuzione.
È sufficiente creare questa posizione su ogni server ThingWorx per evitare la registrazione di errori.
Impostare "EnableBackup": false nel file platform-settings.json per evitare elaborazione non necessaria in un ambiente a disponibilità elevata.
La posizione di /ThingworxBackupStorage è gestita in platform-settings.json. La struttura di cartelle deve essere la stessa in tutti i server ThingWorx.
Repository dei file radice
Il repository dei file radice deve trovarsi in un volume di file system condiviso per il quale tutti i server ThingWorx dispongono dello stesso accesso in lettura/scrittura.
Considerazioni sulla condivisione file:
Un Network Attached Storage (NAS) o l'equivalente cloud è una soluzione comune per fornire un file system condiviso.
Per supportare questa implementazione a disponibilità elevata di ThingWorx, il NAS deve disporre di una propria soluzione di disponibilità elevata.
Il volume deve essere montato sul server prima che venga avviata un'istanza ThingWorx.
L'utente del sistema operativo che esegue i servizi Tomcat su ogni server ThingWorx deve disporre di permessi di lettura/scrittura per la posizione di condivisione file in cui è stato stabilito il repository.
La posizione di montaggio deve essere identica su ciascun server ThingWorx.
La posizione della cartella del repository di file radice deve essere aggiunta al file platform-settings.json del sistema citato in precedenza. Il parametro FileRepositoryRoot e la posizione di un file condiviso devono essere aggiunti alla sezione BasicSettings. Il valore deve elencare la posizione della cartella in cui deve essere stabilito il repository. Ad esempio, se la cartella del repository iniziale deve essere stabilita in /ThingworxFileRepository/repository, l'aggiunta al file platform-settings.json deve essere:

"FileRepositoryRoot":"/ThingworxFileRepository"
* 
Se non viene specificato il parametro FileRepositoryRoot nel file platform-settings.json, verrà utilizzata la posizione del repository di default (/ThingworxStorage).
* 
Se per qualsiasi motivo la posizione definita in FileRepositoryRoot non è disponibile, l'esecuzione di ThingWorx viene interrotta all'avvio.