PowerScale: Não é possível remover arquivos quando a cota fixa é excedida no NFS com o erro "No space left on device"
Summary: Os clients NFS não conseguirão remover dados se a cota fixa for excedida com o erro "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
Em capturas de pacotes, NFS3ERR_NOSPC pode ser vista:
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
O arquivo está em uso, o que faz com que um arquivo .nfs seja gravado até que o arquivo não esteja mais em uso. Como a cota foi excedida, o arquivo .nfs não consegue ser gravado. Isso é considerado uma renomeação boba e é algo que o cliente faz, não o servidor.
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
Geralmente em execução lsof no client identifica qual processo tem o arquivo aberto. No entanto, em pelo menos uma instância, o CrowdStrike no client criou o .nfs arquivo, mas impedido lsof de mostrá-lo como aberto. A desativação temporária do CrowdStrike permitiu que o arquivo fosse removido. Se a solicitação do .nfs O arquivo é exibido em capturas de pacotes, que confirmam que um processo do lado do client está usando o arquivo, o que impede sua remoção quando uma cota fixa é excedida.
[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]#