PowerScale : Impossible de supprimer des fichiers lorsque le quota strict est dépassé sur NFS avec l’erreur « Aucun espace disponible sur le périphérique »
Summary: Les clients NFS ne peuvent pas supprimer les données si le quota strict est dépassé avec l’erreur « No space left on device ».
Symptoms
# isi quota quotas list Type AppliesTo Path Snap Hard Soft Adv Used Efficiency ----------------------------------------------------------------------------- default-user DEFAULT /ifs/nfs No 100.00M - - 0.00 - user root /ifs/nfs No 100.00M - - 195.00M 0.50 : 1 <<<<<<< Exceeded user quota ----------------------------------------------------------------------------- Total: 2 [root@centos tmp]# rm -f testfile2 rm: cannot remove ‘testfile2’: No space left on device
Dans les captures de paquets, NFS3ERR_NOSPC peut être vu :
NFS 266 V3 RENAME Call (Reply In 121), From DH: 0x73953be7/testfile123 To DH: 0x73953be7/.nfs000000010001329500000009 NFS 162 V3 RENAME Reply (Call In 120) Error: NFS3ERR_NOSPC
Cause
Le fichier est en cours d’utilisation, ce qui entraîne l’écriture d’un fichier .nfs jusqu’à ce que le fichier ne soit plus utilisé. Étant donné que le quota est dépassé, le fichier .nfs n’est pas écrit. Ceci est considéré comme un renommage stupide et c’est quelque chose que le client fait, pas le serveur.
NFS 266 V3 RENAME Call (Reply In 121), From DH: 0x73953be7/testfile123 To DH: 0x73953be7/.nfs000000010001329500000009 <<<<< can see Client tries to make a .nfs file And fails because the quota is exceeded NFS 162 V3 RENAME Reply (Call In 120) Error: NFS3ERR_NOSPC
Resolution
Généralement en cours d’exécution lsof sur le client identifie le processus pour lequel le fichier est ouvert. Toutefois, dans au moins une instance, CrowdStrike sur le client a créé le .nfs fichier, mais empêché lsof de l’afficher comme ouvert. La désactivation temporaire de CrowdStrike a permis la suppression du fichier. Si la demande .nfs Le fichier s’affiche dans les captures de paquets, qui confirment qu’un processus côté client utilise le fichier, ce qui empêche sa suppression lorsqu’un quota strict est dépassé.
[root@centos tmp]# lsof testfile123 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME tail 13992 root 3r REG 0,43 104857600 4337893434 testfile123 Once the process that has the file in use is stopped the file can then be removed [root@centos tmp]# rm -f testfile123 [root@centos tmp]#