17.8. Haute disponibilité

17.8.1. HornetQ Shared Stores

Lorsque vous utilisez un magasin partagé (Shared Store), les serveurs live et de sauvegarde partagent le répertoire de données même, ensemble, à l'aide d'un système de fichiers partagé. Cela inclut le répertoire de pagination, le répertoire de journaux, des messages volumineux et le journal de liaison. Lorsque le basculement et le serveur de sauvegarde reprennent, il chargent le stockage persistant de système de fichiers partagé. Les clients peuvent alors s'y connecter.

Important

HornetQ prend en charge les stores GFS2 sur SAN (Storage Area Network), ainsi que la haute disponibilité sur NFSv4. L'attribut de type de journal doit être défini à ASYNCIO pour ces options, car NIO ne peut pas être utilisé en haute disponibilité.

Important

HornetQ supporte NFS, sous des directives strictes de configuration qui sont soulignées ci-dessous.
Cette forme de haute disponibilité diffère que la réplication de données, car elle requiert que le système de fichiers soit accessible à la fois par les noeuds de sauvegarde live et de sauvegarde. Cela correspondra le plus souvent à un SAN de haute performance.

Avertissement

Ne pas utiliser les montages NFS pour stocker un journal avec NIO (non-blocking I/O), à moins que vous utilisiez Red Hat Enterprise Linux. Cela est dû à l'implémentation NFS utilisée.
L'implémentation NFS de Red Hat Linux utilisée supporte à la fois le direct I/O (ouverture des fichiers avec l'indicateur O_DIRECT défini), et l'I/O asynchrone basé noyau. Avec ces deux fonctionnalités présentes, il est possible d'utiliser NFS comme option de stockage, sous conditions de configuration strictes :
  • HornetQ doit être configuré pour utiliser le type de journal ASYNCIO.
  • Le cache client Red Hat Enterprise Linux NFS doit être désactivé.

Important

Le journal du serveur doit être vérifié après le démarrage de JBoss Enterprise Application Platform 6, pour s'assurer que la bibliothèque native est bien chargée, et que le type de journal ASYNCIO est utilisé. Si la bibliothèque native ne se charge pas, HornetQ échouera dans le journal NIO, et cela va être précisé dans le journal du serveur.

Important

La bibliothèque native qui implémente des e/s asynchrones exige que libaio soit installée sur le système Red Hat Enterprise Linux sur lequel JBoss Enterprise Application Platform 6 exécute.

Note

Il est recommandé que, si vous utilisez NFS en vertu des stipulations ci-dessus, une configuration NFS hautement disponible soit utilisée.
L'avantage de share-store haute disponibilité est qu'aucune réplication ne se produit entre les nœuds live et de sauvegarde. Autrement dit, il n'y a pas de dégradation des performances en raison de la surcharge de réplication pendant le fonctionnement normal.
L'inconvénient la réplication shared-store est qu'elle nécessite un système de fichiers partagé, et que lorsque le serveur de sauvegarde est activé, il faut charger le journal à partir d'un shared-store. Cela peut prendre un certain temps, selon la quantité de données dans le store.
S'il est exigé d'avoir des performances élevées durant le fonctionnement normal sont requise, il y a accès à un réseau SAN rapide et un taux de basculement légèrement plus lent est acceptable (en fonction de la quantité de données). Shared-store haute disponibilité est recommandée.