PowerScale: Impossibile rimuovere i file quando viene superata la quota rigida su NFS con errore "No space left on device"
Summary: I client NFS non sono in grado di rimuovere i dati se la quota rigida viene superata con l'errore "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
Nelle acquisizioni di pacchetti, NFS3ERR_NOSPC può essere visto:
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
Il file è in uso, il che causa la scrittura di un file .nfs fino a quando il file non è più in uso. Poiché la quota viene superata, il file .nfs non può essere scritto. Questa operazione è considerata una stupida ridenominazione ed è qualcosa che fa il client, non il server.
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
Normalmente in esecuzione lsof Sul client identifica il processo in cui il file è aperto. Tuttavia, in almeno un caso, CrowdStrike sul client ha creato il .nfs file ma impedito lsof di mostrarlo come aperto. La disabilitazione temporanea di CrowdStrike ha consentito la rimozione del file. Se .nfs Il file viene visualizzato nelle acquisizioni dei pacchetti per confermare che un processo lato client sta utilizzando il file, impedendone la rimozione quando viene superata una quota rigida.
[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]#