Eu tenho 2 sistemas de arquivos XFS onde o espaço parece desaparecer misteriosamente.
O sistema (Debian) foi instalado há muitos anos (12 anos atrás, eu acho). Os 2 sistemas de arquivos XFS foram criados naquele momento. Desde então, o sistema foi atualizado, tanto de software como de hardware, e ambos os sistemas de arquivos foram desenvolvidos algumas vezes. Agora está executando o Debian Jessie de 32 bits atualizado, com um kernel de 64 bits 4.9.2-2 ~ bpo8 + 1 do arquivo backports.
Agora, em poucos dias, vejo que o espaço usado nesses sistemas de arquivos cresce, muito mais do que deveria devido aos arquivos. Verifiquei com lsof +L1
que não está relacionado a arquivos que teriam sido excluídos, mas mantidos abertos por alguns processos. Eu posso recuperar o espaço perdido desmontando os sistemas de arquivos e executando xfs_repair
.
Aqui está uma transcrição que mostra:
~# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 2.0G 1.7G 361M 83% /home
~# du -hsx /home
1.5G /home
~# xfs_estimate /home
/home will take about 1491.8 megabytes
~# umount /home
~# xfs_repair /dev/system/home
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
sb_fdblocks 92272, counted 141424
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 2
- agno = 1
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
~# mount /home
~# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 2.0G 1.5G 521M 75% /home
~#
Neste exemplo, havia “apenas” 161MB que foram perdidos, mas se eu esperar muito tempo, o sistema de arquivos está 100% cheio e eu tenho problemas reais…
Se isso é importante, os dois sistemas de arquivos são montados em um contêiner LXC. (Eu não tenho nenhum outro sistema de arquivos XFS neste sistema).
Alguém sabe por que isso acontece ou como devo investigar?