Haute disponibilité ThingWorx > Stockage de fichiers ThingWorx Foundation
Stockage de fichiers ThingWorx Foundation
Pour une installation autonome de ThingWorx, il existe généralement trois emplacements de fichiers établis :
/ThingworxPlatform
/ThingworxStorage
/ThingworxBackupStorage
Dans l'emplacement /ThingworxStorage, le référentiel de fichiers initial est créé par défaut. Dans le cas d'un déploiement du clustering, vous devez apporter des modifications et suivre certaines règles.
/ThingworxPlatform
Le dossier ThingworxPlatform est conservé localement pour chaque instance de serveur et ne doit pas être partagé. Le dossier contient les fichiers obligatoires suivants qui sont lus au démarrage d'une instance ThingWorx :
platform-settings.json
keystore-password
license_capability_response.bin (ou des variantes de ce nom de fichier)
Le contenu suivant doit être synchronisé sur tous les serveurs ThingWorx haute disponibilité :
platform-settings.json
keystore-password
Lorsque les fichiers sont créés, générés ou modifiés sur un serveur ThingWorx, le contenu doit être propagé à tous les autres serveurs ThingWorx dans la configuration haute disponibilité.
Pour le contenu de licence, chaque serveur ThingWorx doit conserver à la fois son propre fichier de licence et les magasins d'approbation créés lors de l'activation initiale.
Vous pouvez utiliser le processus suivant pour établir ces fichiers dans le dossier /ThingworxPlatform de chaque serveur ThingWorx :
1. Créez le dossier /ThingworxPlatform sur tous les serveurs ThingWorx. La structure des dossiers doit être la même sur tous les serveurs ThingWorx de la configuration HA.
2. Générez le fichier platform-settings.json de façon à ce qu'il corresponde à l'environnement système et enregistrez-le dans le dossier /ThingworxPlatform du serveur ThingWorx initial (le premier serveur ThingWorx à démarrer dans la configuration HA).
3. Démarrez le serveur ThingWorx initial et assurez-vous qu'il est entièrement opérationnel et qu'il peut utiliser toutes les fonctions sous licence attendues. A ce stade, le dossier /ThingworxPlatform doit contenir trois fichiers :
platform-settings.json
keystore-password
successful_license_capability_response.bin
4. Arrêtez le serveur ThingWorx initial.
5. Copiez les trois fichiers du serveur initial dans le dossier /ThingworxPlatform des autres serveurs.
* 
Dans le fichier platform-settings.json, vous devez mettre à jour le paramètre PlatformId pour qu'il soit un ID unique pour chaque serveur. Pour plus d'informations, consultez la rubrique Paramètres de la plateforme pour la haute disponibilité ThingWorx.
6. Sur les autres serveurs, renommez le fichier de licence successful_license_capability_response.bin en license_capability_response.bin.
7. Démarrez, testez et arrêtez les autres serveurs ThingWorx un par un pour vous assurer que toutes les fonctionnalités sous licence sont disponibles.
L'emplacement par défaut du dossier ThingworxPlatform est /ThingworxPlatform. Vous pouvez définir un emplacement autre que celui par défaut avec la variable d'environnement THINGWORX_PLATFORM_SETTINGS. La variable doit être établie dans l'environnement utilisateur du système d'exploitation Tomcat avant que l'environnement Tomcat hébergeant ThingWorx ne soit démarré. Assurez-vous que le dossier référencé par THINGWORX_PLATFORM_SETTINGS existe et que l'utilisateur du système d'exploitation Tomcat dispose des droits d'accès en lecture/écriture.
/ThingworxStorage
Le dossier /ThingworxStorage doit se trouver sur un volume de système de fichiers partagé auquel tous les serveurs ThingWorx disposent d'un même niveau d'accès en lecture/écriture.
Le fichier keystore.pfx est stocké dans ce dossier et contient les secrets requis par la plateforme. Le fichier est lié au fichier keystore-password. Veillez à ce que les deux fichiers soient sécurisés et sauvegardés. Si l'un ou l'autre fichier est perdu, il n'est pas possible de déchiffrer les informations stockées dans la base de données.
Les fichiers journaux contiendront tous les journaux de tous les serveurs et seront identifiés par platformId dans les entrées de journal.
L'emplacement du dossier /ThingworxStorage est géré dans la section BasicSettings du fichier platform-settings.json.
Pour Windows uniquement, lorsque l'hôte ThingWorx Platform et l'hôte sur lequel se trouve le répertoire de stockage partagé ne sont pas sur un domaine, procédez comme suit :
* 
Menez à bien les étapes suivantes uniquement si vous utilisez un compte d'utilisateur local pour exécuter Apache Tomcat.
1. Créez un compte d'utilisateur local qui existe sur l'hôte ThingWorx Platform et sur l'hôte où se trouve le répertoire partagé.
* 
Ce compte d'utilisateur doit utiliser le même mot de passe sur les deux hôtes.
2. Configurez Apache Tomcat pour qu'il s'exécute avec le compte d'utilisateur local de l'étape 1.
a. Dans Services, localisez le service Apache Tomcat et sélectionnez Properties > Log On.
b. Spécifiez le compte d'utilisateur local avec le mot de passe utilisateur.
3. Accordez au compte d'utilisateur local des permissions Full Control sur le fichier tomcat9.exe situé dans le dossier Apache Tomcat pour éviter un échec d'initialisation du stockage ThingWorx Platform.
4. Partagez l'emplacement réseau avec le compte d'utilisateur local et configurez des permissions Full Control.
a. Cliquez avec le bouton droit sur l'emplacement réseau, puis sélectionnez Properties. Cliquez sur l'onglet Share.
b. Localisez le compte d'utilisateur local et sélectionnez Read/Write.
c. Dans l'onglet Security, vérifiez que le compte d'utilisateur local dispose bien de permissions Full Control.
5. Définissez la valeur de la clé Storage sous BasicSettings dans platform-settings.json de sorte qu'elle utilise le chemin UNC complet de l'emplacement réseau. Incluez des barres obliques inverses supplémentaires pour chaque \ dans le chemin. Par exemple :
Emplacement de partage réseau : \\ShareHost\MyThingworxShare
Valeur Storage dans platform-settings.json : \\\\ShareHost\\MyThingworxShare
6. Redémarrez Apache Tomcat.
/ThingworxBackupStorage
Ce dossier est requis lors de l'exécution.
Il suffit de créer cet emplacement sur chaque serveur ThingWorx pour éviter la consignation d'erreurs.
Définissez l'élément "EnableBackup": false dans le fichier platform-settings.json pour éviter des opérations inutiles dans un environnement HA.
L'emplacement du dossier /ThingworxBackupStorage est géré dans le fichier platform-settings.json. La structure du dossier doit être la même sur tous les serveurs ThingWorx.
Référentiel de fichiers racine
Le référentiel de fichiers racine doit se trouver sur un volume de système de fichiers partagé auquel tous les serveurs ThingWorx disposent d'un même niveau d'accès en lecture/écriture.
L'emplacement du dossier du référentiel de fichiers racine doit être ajouté au fichier platform-settings.json du système. Le paramètre FileRepositoryRoot et l'emplacement d'un fichier partagé doivent être ajoutés à la section BasicSettings. La valeur doit indiquer l'emplacement du dossier dans lequel le référentiel doit être établi. Par exemple, si le dossier de référentiel initial doit être établi dans /ThingworxFileRepository/repository, vous devez l'indiquer comme suit dans le fichier platform-settings.json : "FileRepositoryRoot":"/ThingworxFileRepository".
* 
Si le paramètre FileRepositoryRoot n'est pas spécifié dans le fichier platform-settings.json, l'emplacement par défaut du référentiel (/ThingworxStorage) sera utilisé.
Si l'emplacement défini dans FileRepositoryRoot n'est pas disponible pour une raison quelconque, ThingWorx l'ignorera au démarrage.
Considérations sur le partage de fichiers :
Un serveur NAS (Network Attached Storage) ou son équivalent sur le Cloud est souvent utilisé pour mettre en oeuvre un système de fichiers partagés.
Ce serveur doit disposer de sa propre solution haute disponibilité pour prendre en charge cette implémentation ThingWorx haute disponibilité.
Le volume doit être monté sur le serveur avant le démarrage d'une instance ThingWorx.
L'utilisateur du système d'exploitation exécutant les services Tomcat sur chaque serveur ThingWorx doit disposer de droits d'accès en lecture/écriture à l'emplacement de partage de fichiers dans lequel le référentiel est établi.
L'emplacement de montage doit être identique sur chaque serveur ThingWorx.
Est-ce que cela a été utile ?