![[AIX]](ngaix.gif)
![[IBM i]](ngibmi.gif)
![[Linux]](nglinux.gif)
Vérification du comportement du système de fichiers partagé sur Multiplatforms
Exécutez amqmfsck pour vérifier si un système de fichiers partagé sous AIX®, Linux® ou IBM® i répond aux exigences de stockage des données de gestionnaire de files d'attente d'un gestionnaire de files d'attente multi-instance. (La seule condition requise pour une configuration Windows est qu'elle utilise SMB 3 pour la mise à disposition de stockage partagé.)
Avant de commencer
A propos de cette tâche
Conditions requises pour les systèmes de fichiers partagés sur Multiplatforms décrit la configuration de système de fichiers requise pour l'utilisation d'un système de fichiers partagé avec des gestionnaires de files d'attente multi-instance. La IBM MQ note technique Testing statement for IBM MQ multi-instance queue manager file systems répertorie les systèmes de fichiers partagés avec lesquels IBM a déjà été testé. La procédure décrite dans cette tâche explique comment tester un système de fichiers pour vous aider à déterminer si un système de fichiers non répertorié conserve l'intégrité des données.
La reprise en ligne d'un gestionnaire de files d'attente multi-instance peut être déclenchée par des pannes matérielles ou logicielles, y compris des problèmes de mise en réseau qui empêchent le gestionnaire de files d'attente d'écrire dans ses données ou fichiers journaux. Vous souhaitez principalement provoquer des incidents sur le serveur de fichiers. Mais vous devez également provoquer l'échec des serveurs IBM MQ , afin de tester la libération des verrous. Pour avoir confiance dans un système de fichiers partagé, testez tous les incidents suivants et tous les autres incidents spécifiques à votre environnement:
- Arrêt du système d'exploitation sur le serveur de fichiers, y compris la synchronisation des disques.
- Arrêt du système d'exploitation sur le serveur de fichiers sans synchronisation des disques.
- En appuyant sur le bouton de réinitialisation de chacun des serveurs.
- Extraction du câble réseau de chacun des serveurs.
- Retrait du câble d'alimentation de chacun des serveurs.
- Mise hors tension de chacun des serveurs.
Créez le répertoire sur le stockage en réseau que vous allez utiliser pour partager les données et les journaux du gestionnaire de files d'attente. Le propriétaire du répertoire doit être un administrateur IBM MQ ou, en d'autres termes, un membre du groupe mqm sur AIX and Linux. L'utilisateur qui exécute les tests doit disposer des droits d'administrateur IBM MQ .
Utilisez l'exemple d'exportation et de montage d'un système de fichiers dans Création d'un gestionnaire de files d'attente multi-instance sur Linux ou Création d'un gestionnaire de files d'attente multi-instance à l'aide de la mise en miroir du journal et NetServer sur IBM i pour vous aider à configurer le système de fichiers. Les différents systèmes de fichiers requièrent des étapes de configuration différentes. Lisez la documentation du système de fichiers.
Procédure
Dans chacune des vérifications, provoquez tous les échecs de la liste précédente pendant que le vérificateur de système de fichiers est en cours d'exécution. Si vous avez l'intention de couriramqsfhac en même temps queamqmfsck , faites la tâche, Exécution d'amqsfhac pour tester l'intégrité des messages en parallèle de cette tâche.
Résultats
Exemples
Le premier ensemble de trois exemples montre la commande produisant une sortie minimale.
- Test réussi du verrouillage de fichier de base sur un serveur
> amqmfsck /shared/qmdata The tests on the directory completed successfully.- Echec du test du verrouillage de fichier de base sur un serveur
> amqmfsck /shared/qmdata AMQ6245: Error Calling 'write()[2]' on file '/shared/qmdata/amqmfsck.lck' error '2'.- Test réussi du verrouillage sur deux serveurs
Tableau 2. Verrouillage réussi sur deux serveurs IBM MQ Serveur 1 IBM MQ Serveur 2 > amqmfsck -w /shared/qmdata Please start this program on a second machine with the same parameters. Lock acquired. Press Return or terminate the program to release the lock.> amqmfsck -w /shared/qmdata Waiting for lock...[ Return pressed ] Lock released.Lock acquired. The tests on the directory completed successfully
- Test réussi du verrouillage de fichier de base sur un serveur
> amqmfsck -v /shared/qmdata System call: stat("/shared/qmdata")' System call: fd = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fchmod(fd, 0666) System call: fstat(fd) System call: fcntl(fd, F_SETLK, F_WRLCK) System call: write(fd) System call: close(fd) System call: fd = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fcntl(fd, F_SETLK, F_WRLCK) System call: close(fd) System call: fd1 = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fcntl(fd1, F_SETLK, F_RDLCK) System call: fd2 = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fcntl(fd2, F_SETLK, F_RDLCK) System call: close(fd2) System call: write(fd1) System call: close(fd1) The tests on the directory completed successfully.- Echec du test du verrouillage de fichier de base sur un serveur
> amqmfsck -v /shared/qmdata System call: stat("/shared/qmdata") System call: fd = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fchmod(fd, 0666) System call: fstat(fd) System call: fcntl(fd, F_SETLK, F_WRLCK) System call: write(fd) System call: close(fd) System call: fd = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fcntl(fd, F_SETLK, F_WRLCK) System call: close(fd) System call: fd = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fcntl(fd, F_SETLK, F_RDLCK) System call: fdSameFile = open("/shared/qmdata/amqmfsck.lck", O_RDWR, 0666) System call: fcntl(fdSameFile, F_SETLK, F_RDLCK) System call: close(fdSameFile) System call: write(fd) AMQxxxx: Error calling 'write()[2]' on file '/shared/qmdata/amqmfsck.lck', errno 2 (Permission denied).- Test réussi du verrouillage sur deux serveurs
Tableau 3. Verrouillage réussi sur deux serveurs-mode prolixe IBM MQ Serveur 1 IBM MQ Serveur 2 > amqmfsck -wv /shared/qmdata Calling 'stat("/shared/qmdata")' Calling 'fd = open("/shared/qmdata/amqmfsck.lkw", O_EXCL | O_CREAT | O_RDWR, 0666)' Calling 'fchmod(fd, 0666)' Calling 'fstat(fd)' Please start this program on a second machine with the same parameters. Calling 'fcntl(fd, F_SETLK, F_WRLCK)' Lock acquired. Press Return or terminate the program to release the lock.> amqmfsck -wv /shared/qmdata Calling 'stat("/shared/qmdata")' Calling 'fd = open("/shared/qmdata/amqmfsck.lkw", O_EXCL | O_CREAT | O_RDWR,0666)' Calling 'fd = open("/shared/qmdata/amqmfsck.lkw, O_RDWR, 0666)' Calling 'fcntl(fd, F_SETLK, F_WRLCK) 'Waiting for lock...[ Return pressed ] Calling 'close(fd)' Lock released.Calling 'fcntl(fd, F_SETLK, F_WRLCK)' Lock acquired. The tests on the directory completed successfully