PowerScale OneFS : Résolution des problèmes de performances
Résumé: Dépannez les problèmes de ralentissement des performances de PowerScale OneFS à l’aide d’un guide complet sur la configuration réseau, les charges de traitement et la surveillance avec InsightIQ pour améliorer l’efficacité du cluster. ...
Symptômes
Les ordinateurs clients fonctionnent lentement. Les tâches spécifiques, en particulier celles qui s’exécutent sur le cluster, échouent ou prennent plus de temps que prévu.
Cause
Les problèmes de performances sont généralement dus au trafic réseau, à des problèmes de configuration réseau, à la charge de traitement du client ou du cluster, ou à une combinaison de ces facteurs. Cet article décrit plusieurs méthodes efficaces pour résoudre les problèmes de performances.
Résolution
Dépannage avec InsightIQ
Sommaire :
- Utilisation d’Isilon InsightIQ
- Dépannage sans InsightIQ
- Débit du réseau
- Distribution des connexions client
- Débit du cluster
- Traitement du cluster
- Opérations en file d’attente
- Processeur
Utilisation d’Isilon InsightIQ
L’utilisation d’Isilon InsightIQ est le meilleur moyen de surveiller les performances et de résoudre les problèmes de performances.
L’appliance virtuelle Isilon InsightIQ vous permet de surveiller et d’analyser l’activité du cluster Isilon via des vues graphiques flexibles et personnalisables dans l’application Web InsightIQ. Ces graphiques fournissent des informations détaillées sur le matériel et les logiciels du cluster, ainsi que sur les opérations des systèmes de fichiers et des protocoles. InsightIQ transforme les données en informations visuelles qui font ressortir les performances aberrantes, ce qui permet de diagnostiquer rapidement les goulots d’étranglement ou d’optimiser les workflows.
Pour plus d’informations sur l’utilisation d’InsightIQ, reportez-vous au PowerScale InsightIQ - Info Hub.
Dépannage sans InsightIQ
Si vous n’utilisez pas InsightIQ, vous pouvez exécuter différentes commandes pour examiner les problèmes de performances. Pour résoudre les problèmes de performances, commencez par examiner les débits du réseau et du cluster, puis le traitement du cluster, et enfin les taux d’utilisation de CPU de chaque nœud.
Débit du réseau
Utilisez un outil de test réseau tel que Iperf ou Iperf3 pour déterminer les capacités de débit du cluster et des ordinateurs clients sur votre réseau.
Utilisant Iperf, exécutez les commandes suivantes sur le cluster et le client. Ces commandes définissent une taille de fenêtre suffisamment grande pour indiquer si la liaison réseau est une cause potentielle de problèmes de latence.
- Grappe:
iperf -s -w 262144 - Client :
iperf -c <cluster IP> -w 262144
Utilisation des commandes Iperf3, exécutez les commandes suivantes sur le cluster et le client. Ces commandes définissent une taille de fenêtre suffisamment grande pour indiquer si la liaison réseau est une cause potentielle de problèmes de latence.
- Grappe:
iperf3 -s -w 262144 Client :iperf3 -c <cluster IP> -w 262144
Distribution des connexions client
Vérifiez le nombre de clients NFS (Network File System) et SMB (Server Message Block) connectés au cluster pour vous assurer qu’ils ne favorisent pas un nœud en particulier.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide de
rootCompte. - Exécutez la commande
isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -dpour vérifier les clients NFS.
Le résultat affiche le nombre de clients connectés par nœud et le nombre de ces clients actifs sur chaque nœud. - Exécutez la commande
isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -dpour vérifier les clients SMB.
Le résultat affiche le nombre de clients connectés par nœud et le nombre de ces clients actifs sur chaque nœud.
Débit du cluster
Évaluez le débit du cluster en effectuant des tests d’écriture et de lecture qui mesurent le temps nécessaire à la lecture et à l’écriture dans un fichier. Effectuez au moins un test d’écriture et un test de lecture, comme suit.
Écrivez un test.
- Ouvrez une connexionSSH sur n’importe quel nœud du cluster et connectez-vous à l’aide de
rootCompte. - Passez à la
/ifsRépertoire:cd /ifs - À partir de l’interface de ligne de commande (CLI) sur le cluster ou à partir d’un ordinateur client UNIX ou Linux, utilisez la commande
ddpour écrire un nouveau fichier sur le cluster.
Exécutez la commande suivante :dd if=/dev/zero of=1GBfile bs=1024k count=1024
Cette commande crée un exemple de fichier de 1 Go et indique le temps nécessaire pour l’écrire sur le disque. - Extrapolez le résultat de cette commande pour obtenir le nombre de Mo par seconde pouvant être écrits sur le disque en workflow à flux unique.
- Si vous disposez d’un client MAC et que vous souhaitez effectuer une analyse plus approfondie,
- Démarrez Activity Monitor.
- Exécutez la commande
cat /dev/zero > /pathToFilecommande, oùpathToFileest le chemin d’accès du fichier ciblé.
Cette commande permet de mesurer le débit des opérations d’écriture sur le cluster Isilon. (Bien qu’il soit possible d’exécuter la commandeddd’un client MAC, les résultats peuvent être incohérents.) - Surveillez les résultats de la commande dans l’onglet Réseau du Moniteur d’activité.
Lire le test.
Lorsque vous mesurez le débit des opérations de lecture, veillez à ne pas effectuer de tests de lecture sur le fichier que vous avez créé lors du test d’écriture. Ce fichier a été mis en cache et les résultats de vos tests de lecture seraient inexacts. Testez plutôt la lecture d’un fichier qui n’a pas été mis en cache. Recherchez un fichier de plus de 1 Go sur le cluster et pointez vers ce fichier dans le test de lecture.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide de
rootCompte. - À partir de la CLI sur le cluster ou à partir d’un ordinateur client UNIX ou Linux, utilisez la commande
ddpour lire un fichier sur le cluster.
Exécutezla commandedd if=/pathToLargeFile of=/dev/null bs=1024kcommande oùpathToFileest le chemin d’accès du fichier ciblé.
Cette commande lit le fichier ciblé et indique le temps qu’il a fallu pour le lire. - Si vous disposez d’un client MAC et que vous souhaitez effectuer une analyse plus approfondie,
- Démarrez Activity Monitor.
- Exécutez la commande
time cp /pathToLargeFile > /dev/nullcommande oùpathToFileest le chemin d’accès du fichier ciblé.
Cette commande permet de mesurer le débit des opérations de lecture sur le cluster Isilon. (Bien qu’il soit possible d’exécuter la commandeddd’un client MAC, les résultats peuvent être incohérents.) - Surveillez les résultats de la commande dans l’onglet Réseau du Moniteur d’activité.
Traitement du cluster
Tâches de rembobinage.
Avant d’examiner les opérations d’entrée/sortie (E/S) (IOPS) du cluster :
- Déterminez les tâches en cours d’exécution sur le cluster. Si des tâches de répartition telles que Auto-Balance, Collect ou MultiScan sont en cours d’exécution, déterminez pourquoi ces tâches sont en cours d’exécution et si elles doivent continuer à s’exécuter.
- Tenez compte du type de données consommées. Si les ordinateurs clients utilisent des fichiers vidéo volumineux ou des machines virtuelles (VM), la tâche répartie nécessite un nombre d’IOPS de disque supérieur à la normale.
- Envisagez de suspendre temporairement une tâche de répartition. Cela peut améliorer les performances et constituer une solution viable à court terme à un problème de performances.
E/S
de disqueL’examen des disques d’E/S peut vous aider à déterminer si certains disques sont surutilisés.
Par cluster
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutez la commande
isi statistics pstatcommande permettant de vérifier les E/S du disque. À partir de la sortie de cette commande, divisez les E/S de disque par seconde par le nombre total de disques dans le cluster. Par exemple, pour un cluster de 8 nœuds utilisant des nœuds Isilon IQ 12000x, qui héberge 12 disques par nœud, vous divisez le nombre d’IOPS du disque par 96.
Pour les nœuds série X et NL, attendez-vous à voir des IOPS de disque de 70 ou moins pour les workflows 100 % aléatoires, ou des IOPS de disque de 140 ou moins pour les workflows 100 % séquentiels. Puisque les nœuds de la série NL ont moins de RAM et une vitesse de processeur inférieure à celle des nœuds de la série X, les nœuds de la série X peuvent gérer des E/S de disque par seconde plus élevées.
Par nœud et par disque
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte « root ».
- Exécutezla commande
isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=toppour déterminer les IOPS des disques par nœud, ce qui peut aider à détecter les disques surutilisés. - Exécutez la commande
isi_stats_tool -a get_key_info|grep node.disk.xferpour déterminer comment interroger les statistiques par disque.
Opérations en file d’attente
Une autre façon de déterminer si les disques sont surutilisés consiste à vérifier le nombre d’opérations mises en file d’attente pour chaque disque du cluster. Pour un workflow SMB à flux unique, une file d’attente de quatre peut indiquer un problème, tandis que pour les opérations d’espace de nommage NFS à accès simultané élevé, la file d’attente est plus grande.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide de
rootCompte. - Exécutezla commande
isi statistics drive list --nodes=all --sort=queued -dpour déterminer le nombre d’opérations mises en file d’attente pour chaque disque du cluster. - Déterminez la durée pendant laquelle l’opération est restée dans la file d’attente :
isi statistics drive list --nodes=all --sort=queued -d
Processeur
Les problèmes de processeur sont souvent liés aux opérations que les clients effectuent sur le cluster. En utilisant la page isi statistics , vous pouvez déterminer les opérations effectuées sur le cluster, cataloguées par protocole réseau ou ordinateur client.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide de
rootCompte. - Exécutez la commande
isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format toppour déterminer les opérations en cours d’exécution sur l’ensemble du réseau et évaluer celles qui prennent le plus de temps.
Ce résultat de commande fournit des statistiques détaillées pour tous les protocoles réseau, organisées en fonction du temps nécessaire au cluster pour répondre aux clients. Bien que les résultats de cette commande n’identifient pas l’opération la plus lente, ils peuvent vous orienter dans la bonne direction. - Exécutez la commande
isi statistics system --nodes all --format toppour obtenir plus d’informations sur le traitement du processeur, telles que les processeurs des nœuds les plus utilisés. - Exécutez la commande
isi_for_array -sX 'top -u -n |grep PID -A4'pour obtenir les quatre processus de chaque nœud qui consomment le plus de ressources CPU.
Informations supplémentaires
connexesVoici des ressources recommandées sur ce sujet qui pourraient vous intéresser :