PowerScale: No se pueden eliminar los archivos cuando se supera la cuota máxima mediante NFS con el error "No queda espacio en el dispositivo"
Summary: Los clientes NFS no pueden eliminar datos si se supera la cuota máxima y se muestra el error "No queda espacio en el dispositivo".
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
En capturas de paquetes, NFS3ERR_NOSPC Se puede ver:
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
El archivo está en uso, lo que hace que se escriba un archivo .nfs hasta que el archivo ya no esté en uso. Debido a que se superó la cuota, el archivo .nfs no se puede escribir. Esto se considera un cambio de nombre tonto y es algo que hace el cliente, no el 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
Por lo general, se ejecuta lsof en el cliente identifica qué proceso tiene el archivo abierto. Sin embargo, en al menos una instancia, CrowdStrike en el cliente creó el .nfs archivo, pero se evitó lsof de mostrarlo como abierto. La deshabilitación temporal de CrowdStrike permitió eliminar el archivo. Si la solicitud en .nfs El archivo aparece en las capturas de paquetes, lo que confirma que un proceso del lado del cliente está utilizando el archivo, lo que evita su eliminación cuando se supera una cuota máxima.
[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]#