Rechercher

6.5. Dépannage des performances de GFS2 à l'aide du vidage des verrous de GFS2

download PDF

Si les performances de votre cluster sont affectées par une utilisation inefficace de la mise en cache GFS2, vous pouvez observer des temps d'attente d'E/S importants et croissants. Vous pouvez utiliser les informations de vidage de verrou de GFS2 pour déterminer la cause du problème.

Les informations sur le vidage des verrous GFS2 peuvent être recueillies dans le fichier debugfs qui se trouve dans le chemin d'accès suivant, en supposant que debugfs soit monté sur /sys/kernel/debug/:

/sys/kernel/debug/gfs2/fsname/glocks

Le contenu du fichier est une série de lignes. Chaque ligne commençant par G : représente un glock, et les lignes suivantes, indentées d'un seul espace, représentent une information relative au glock qui les précède immédiatement dans le fichier.

La meilleure façon d'utiliser le fichier debugfs est d'utiliser la commande cat pour prendre une copie du contenu complet du fichier (cela peut prendre beaucoup de temps si vous avez une grande quantité de mémoire vive et beaucoup d'inodes en cache) pendant que l'application rencontre des problèmes, puis d'examiner les données résultantes à une date ultérieure.

Note

Il peut être utile de faire deux copies du fichier debugfs, l'une quelques secondes, voire une minute ou deux après l'autre. En comparant les informations du détenteur dans les deux traces relatives au même numéro de glock, vous pouvez dire si la charge de travail progresse (elle est juste lente) ou si elle est bloquée (ce qui est toujours un bogue et devrait être signalé immédiatement à l'assistance de Red Hat).

Les lignes du fichier debugfs commençant par H : (holders) représentent des demandes de verrouillage accordées ou en attente d'être accordées. Le champ flags de la ligne f : (holders) indique lesquelles : Le drapeau "W" correspond à une demande en attente, le drapeau "H" à une demande accordée. Les glocks qui présentent un grand nombre de demandes en attente sont probablement ceux qui font l'objet d'une contestation particulière.

Les tableaux suivants indiquent la signification des drapeaux de glock et des drapeaux de porte-glock.

Tableau 6.1. Drapeaux Glock
DrapeauNomSignification

b

Blocage

Valide lorsque l'indicateur de verrouillage est activé et indique que l'opération demandée au DLM peut être bloquée. Cet indicateur est désactivé pour les opérations de rétrogradation et pour les verrous "try". L'objectif de cet indicateur est de permettre la collecte de statistiques sur le temps de réponse du DLM, indépendamment du temps nécessaire aux autres nœuds pour rétrograder les verrous.

d

Rétrogradation en cours

Une demande de rétrogradation différée (à distance)

D

Rétrograder

Une demande de rétrogradation (locale ou à distance)

f

Rinçage des grumes

Le journal doit être engagé avant de sortir ce glock

F

Congelé

Les réponses des nœuds distants sont ignorées - la récupération est en cours. Cet indicateur n'est pas lié au gel du système de fichiers, qui utilise un mécanisme différent, mais n'est utilisé que pour la récupération.

i

Invalidation en cours

En cours d'invalidation des pages sous ce glock

I

Initiale

Fixé lorsque la serrure DLM est associée à ce glock

l

Verrouillé

Le glock est en train de changer d'état

L

LRU

Défini lorsque le glock est sur la liste LRU

o

Objet

Défini lorsque le glock est associé à un objet (c'est-à-dire un inode pour les glocks de type 2 et un groupe de ressources pour les glocks de type 3)

p

Rétrogradation en cours

Le glock est en train de répondre à une demande de rétrogradation

q

En attente

Défini lorsqu'un détenteur est mis en file d'attente pour un glock, et effacé lorsque le glock est tenu, mais qu'il n'y a plus de détenteurs restants. Utilisé dans le cadre de l'algorithme qui calcule le temps de maintien minimum d'un glock.

r

Réponse en attente

La réponse reçue du nœud distant est en attente de traitement

y

Sale

Les données doivent être transférées sur le disque avant la mise en circulation de ce glock

Tableau 6.2. Drapeaux pour porte-blocs
DrapeauNomSignification

a

Asynchrone

N'attendez pas le résultat de l'enquête sur le glock (le résultat de l'enquête sera communiqué plus tard)

A

Tous

Tout mode de verrouillage compatible est acceptable

c

Pas de cache

En cas de déverrouillage, rétrograder immédiatement la serrure DLM

e

Pas d'expiration

Ignorer les demandes ultérieures d'annulation de verrou

E

exactes

Doit disposer d'un mode de verrouillage exact

F

Première

Fixé lorsque le détenteur est le premier à bénéficier de cette serrure

H

Titulaire

Indique que le verrou demandé est accordé

p

Priorité

Enqueue holder at the head of the queue

t

Essayer

Serrure "try" A \N- "try" - "try" - "try" - "try" - "try" - "try

T

Essayer 1CB

Un verrou "try" qui envoie un rappel

W

Attendre

Fixé pendant l'attente de l'achèvement de la demande

Après avoir identifié un glock qui pose problème, l'étape suivante consiste à déterminer à quel inode il se rapporte. Le numéro du glock (n : sur la ligne G :) l'indique. Il est de la forme type/number et si type est égal à 2, le glock est un inode glock et number est un numéro d'inode. Pour retrouver l'inode, vous pouvez alors exécuter find -inum numbernumber est le numéro d'inode converti en décimal à partir du format hexadécimal du fichier glocks.

Avertissement

Si vous exécutez la commande find sur un système de fichiers en proie à un conflit de verrouillage, vous risquez d'aggraver le problème. Il est conseillé d'arrêter l'application avant d'exécuter la commande find lorsque vous recherchez des inodes contestés.

Le tableau suivant indique la signification des différents types de glock.

Tableau 6.3. Types de Glock
Numéro de typeType de serrureUtilisation

1

Trans

Verrouillage des transactions

2

Inode

Métadonnées et données des inodes

3

Rgrp

Métadonnées du groupe de ressources

4

Méta

Le superbloc

5

Iopen

Dernière détection rapprochée de l'inode

6

Troupeau

flock(2) syscall

8

Quota

Opérations de quotas

9

Journal

Journal mutex

Si le glock identifié était d'un type différent, il est plus probable qu'il soit de type 3 : (groupe de ressources). Si vous observez un nombre significatif de processus en attente d'autres types de glock sous des charges normales, signalez-le à l'assistance de Red Hat.

Si vous voyez un certain nombre de demandes en attente sur un verrou de groupe de ressources, il peut y avoir plusieurs raisons à cela. L'une d'elles est qu'il y a un grand nombre de nœuds par rapport au nombre de groupes de ressources dans le système de fichiers. Une autre raison est que le système de fichiers est presque plein (ce qui nécessite, en moyenne, des recherches plus longues pour les blocs libres). Dans les deux cas, la situation peut être améliorée en ajoutant de l'espace de stockage et en utilisant la commande gfs2_grow pour étendre le système de fichiers.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.