Conditions de disque du magasin de fichiers
La fiabilité de votre infrastructure de stockage a une incidence sur la capacité de WebSphere Application Server à maintenir l'intégrité de vos données.
Consultez la documentation relative à votre infrastructure de stockage pour plus d'informations sur le niveau de fiabilité que cette dernière peut offrir. Les exemples de composants pouvant être inclus dans votre infrastructure de stockage sont les suivants : des unités de disque dur, des contrôleurs RAID, des systèmes de fichiers et des protocoles de système de fichiers réseau.
- Fiabilité d'entrée-sortie
- Les fichiers journaux et de stockage sont écrits à l'aide d'API Java de sorte que la machine virtuelle Java définisse des indicateurs signalant que toutes les écritures sont asynchrones ou que toutes les écritures précédentes doivent être forcées sur le disque à la suite de certains appels d'API. Pour cela, la survenance de tout incident ne doit pas donner lieu à l'écriture de données de manière synchrone ou avant qu'un forçage soit perdu, altéré ou écrit sans respecter l'ordre.
- Un certain nombre de couches est impliqué dans l'exécution de ces demandes d'écriture. Seuls les fournisseurs de système d'exploitation, de système de fichiers et de disque dur peuvent indiquer si les diverses configurations disponibles fournissent le niveau de fiabilité requis. Cela vaut également pour d'autres systèmes de consignation, tels que les bases de données.
- En particulier, si l'unité de stockage ne réside pas sur la machine locale sur laquelle le moteur de messagerie est en cours d'exécution et que les fichiers résident sur un système de fichiers réseau tel que NFS, ce dernier doit alors être configuré pour garantir que ces exigences sont satisfaites. Il n'y a aucun test assurant que la mise en cache de l'écriture n'a pas lieu.
- Emplacement de fichier
- Si un moteur de messagerie se trouve dans un membre de bus cluster, il peut s'exécuter sur des serveurs différents. Pour cela, les fichiers du magasin de fichiers doivent se trouver sur un stockage partagé. Le chemin d'accès aux fichiers du magasin de fichiers, tel qu'il est configuré dans la console d'administration, doit correspondre à un chemin d'accès aux mêmes fichiers sur chacune des machines sur lesquelles le moteur de messagerie peut s'exécuter. Cela peut être réalisé à l'aide du système NFS ou d'un autre mécanisme de stockage avancé.
- Si les fichiers du chemin indiqué ne correspondent pas aux mêmes fichiers, le moteur de messagerie bascule d'un serveur sur l'autre ; il s'agit effectivement d'un moteur de messagerie différent portant le même nom. Aucune des données persistantes n'est disponible pour la nouvelle instance du moteur de messagerie.
- Verrouillage de fichier
- Le fichier journal est verrouillé à l'aide de java.nio.channels.FileLock.tryLock(). Il est obligatoire que le système d'exploitation et le système de fichiers honorent ce verrouillage dans tous les cas et que le verrou soit libéré sur demande explicite ou lorsque le processus Java dans lequel le moteur de messagerie est en cours d'exécution prend fin inopinément.
- En particulier, le verrou, s'il est appliqué, doit empêcher tous les autres processus de verrouiller le fichier, même si une machine différente accède à ce fichier. En outre, si le processus Java exécutant le moteur de messagerie prend fin inopinément, le verrou doit être libéré de sorte que l'autre machine puisse accéder au fichier.
- Cette exigence facilite le cas où un moteur de messagerie se trouve dans un membre de bus cluster et qui ne peut donc pas s'exécuter sur plusieurs serveurs différents. Si le HAManager demande au moteur de messagerie de démarrer en raison de l'échec de la première instance du moteur de messagerie, il doit pouvoir verrouiller le fichier journal si l'autre processus a pris fin. De même, si l'autre processus n'a pas pris fin (désigné par le scénario de dédoublement), la nouvelle instance du moteur de messagerie ne doit pas pouvoir acquérir le verrou, empêchant ainsi le moteur de messagerie de démarrer.
- Un outil de test de verrouillage de fichier peut être utilisé pour garantir qu'un système de fichiers ne fournit pas les exigences de verrouillage de base. Le document de support IBM contient des informations plus détaillées sur l'outil de test de protocole de verrouillage de système de fichiers.