Por que é que um NAS não recupera espaço após eliminar ficheiros grandes?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

Um NAS pode não recuperar espaço livre após o desaparecimento de um ficheiro grande porque eliminar o seu nome visível é apenas uma parte da recuperação do armazenamento. Uma reciclagem, snapshot do sistema de ficheiros, versão de backup ou processo em execução ainda podem reter os blocos subjacentes do ficheiro.

A correção correta depende do que ainda referencia esses blocos. Verifique a partilha, a camada de snapshot, os serviços em execução e a contabilidade do pool por essa ordem. Não elimine todos os snapshots nem reinicie todo o NAS antes de identificar qual camada detém o espaço em falta.

A causa principal: o ficheiro desapareceu mas os seus blocos ainda estão referenciados

Um ficheiro tem uma entrada visível no diretório e blocos de armazenamento que contêm os seus dados. Remover a entrada faz o ficheiro desaparecer da pasta, mas o sistema de ficheiros só pode reutilizar os seus blocos depois de todas as referências restantes serem libertadas. Essa distinção explica porque uma eliminação bem-sucedida nem sempre produz um aumento igual no espaço livre.

Num NAS baseado em Linux, um serviço pode manter um ficheiro já eliminado aberto. O kernel preserva os dados até que o descritor final do ficheiro seja fechado, mesmo que os exploradores de ficheiros e as varreduras normais de diretórios já não o consigam ver. A explicação da Red Hat sobre retenção de espaço de ficheiros eliminados mostra porque parar ou reiniciar graciosamente o processo que mantém o ficheiro liberta espaço que a eliminação sozinha não libertou.

Outros ocupantes operam acima da camada de ficheiros abertos. Um serviço de reciclagem de rede pode mover o ficheiro em vez de o desvincular, enquanto um snapshot copy-on-write preserva intencionalmente os blocos antigos para recuperação. O resultado visível é semelhante — pouca ou nenhuma capacidade recuperada — mas a ação corretiva segura é diferente.

Qual camada NAS ainda está a reter os dados eliminados?

Comece por comparar o que mudou após a eliminação. O nome do ficheiro pode ter sido movido para um diretório de lixo oculto, o conjunto de dados ativo pode ter encolhido enquanto o uso do snapshot aumentou, ou o total do pool pode permanecer superior aos ficheiros que as ferramentas de diretório conseguem contar. Esses padrões restringem o ocupante sem limpeza destrutiva.

O que observa Provável ocupante de espaço O que verificar Próxima ação segura
O ficheiro desaparece, mas uma pasta de lixo cresce Reciclagem da partilha Lixo para a mesma partilha e utilizador Rever e esvaziar a localização correta da reciclagem
O uso do conjunto de dados ativo diminui, mas o uso do pool mal muda Snapshots ou versões retidas Espaço de snapshot e datas de retenção Expirar apenas versões fora da política de recuperação
O uso do sistema de ficheiros é superior ao total visível dos diretórios Ficheiro eliminado mantido aberto Processos com ficheiros abertos não ligados Reinicie ou recarregue graciosamente o serviço responsável
Uma partilha encolhe, mas o espaço livre total do pool não diminui Conjunto de dados filho, reserva ou outra carga de trabalho Uso por conjunto de dados, aplicação e trabalho de backup Corrija o consumidor real em vez da partilha
Alterações no espaço livre pouco depois da eliminação Contabilidade pendente ou limpeza em segundo plano Métricas frescas do pool após a atividade estabilizar Espere e atualize antes de fazer outra alteração

Uma reciclagem é o caso mais simples. O comportamento do VFS recycle-bin do Samba intercepta pedidos de eliminação e move ficheiros para um repositório em vez de os remover imediatamente. Um ficheiro eliminado através de uma partilha SMB pode, portanto, permanecer no mesmo pool de armazenamento mesmo quando desapareceu da sua pasta original.

Os snapshots são menos óbvios porque podem preservar blocos sem manter outro ficheiro comum no diretório ativo. Quando um snapshot referencia o estado pré-eliminação, remover o ficheiro ativo apenas remove a referência atual. Este exemplo de contabilidade de espaço em snapshot demonstra porque um snapshot pode recuperar pouco espaço quando outros snapshots ainda referenciam os mesmos blocos.

Os valores do pool e da partilha também podem medir diferentes âmbitos. Uma partilha pode reportar o seu conjunto de dados ou quota, enquanto o painel de armazenamento inclui conjuntos de dados filhos, dados de aplicação, versões de backup, reservas e blocos mantidos por snapshots. Compare coisas semelhantes antes de concluir que a eliminação falhou.

Recupere espaço sem destruir o histórico de recuperação

A recuperação deve passar de verificações reversíveis para eliminação permanente. Primeiro, atualize a vista de capacidade e confirme que está a ler o pool, conjunto de dados e partilha corretos. Um pequeno atraso na contabilidade pode ser normal; uma lacuna persistente após a atividade estabilizar indica que outra referência ou âmbito de armazenamento ainda precisa de investigação.

  1. Confirme que o ficheiro eliminado está ausente da partilha original e não foi movido ou renomeado por uma aplicação.
  2. Inspecione a reciclagem associada a essa partilha e conta de utilizador exatas.
  3. Revise snapshots e retenção de backups por data, conjunto de dados e espaço recuperável estimado.
  4. Compare o uso do sistema de ficheiros com os totais visíveis dos diretórios para identificar alocações ocultas.
  5. Verifique os conjuntos de dados filhos, volumes de aplicação, quotas e reservas antes de alterar o pool.
  6. Libere o detentor confirmado através do seu controlo normal de retenção, serviço ou administrativo.

Quando o uso do sistema de ficheiros permanece superior ao total visível do diretório, inspecione ficheiros eliminados que ainda estão abertos. A verificação de ficheiros abertos lsof usa lsof +L1 para listar ficheiros sem ligação remanescente no diretório. Identifique o processo e use o seu caminho normal de recarregamento ou reinício suave; não termine um serviço desconhecido de base de dados ou armazenamento apenas para recuperar espaço.

Para dados mantidos por snapshots, estime o que cada alteração na retenção realmente recuperará antes de eliminar pontos de recuperação. Blocos partilhados por vários snapshots podem permanecer alocados até que o último snapshot que os referencia expire, por isso remover um snapshot pode devolver muito menos espaço do que o tamanho aparente do seu histórico sugere. Preserve primeiro o valor da recuperação e ajuste a retenção deliberadamente.

Se as eliminações rotineiras empurrarem repetidamente o pool para perto da capacidade máxima, o problema é também o planeamento da capacidade. A retenção da lixeira, snapshots, aplicações e histórico de backups precisam de margem além do tamanho dos ficheiros ativos, por isso o planeamento da capacidade utilizável do NAS deve incluir estes consumidores menos visíveis.

Perguntas Frequentes

Por que esvaziar a lixeira do NAS recuperou apenas parte do espaço?

Os mesmos blocos podem ainda estar referenciados por snapshots, versões de backup ou um processo aberto. Esvaziar a lixeira remove apenas esse detentor; não substitui outras referências nem liberta espaço reservado por outro conjunto de dados.

Quanto tempo deve demorar um NAS a mostrar o espaço recém-liberado?

Um breve atraso enquanto a contabilidade do armazenamento e o trabalho em segundo plano se estabilizam pode ser normal. Se o valor permanecer inalterado após a atualização do painel e das estatísticas do sistema de ficheiros, verifique os snapshots, ficheiros eliminados mas ainda abertos, quotas e se o número apresentado representa a partilha ou o pool completo.

O RAID impede que os ficheiros eliminados libertem espaço?

O RAID normalmente aplica a eliminação em toda a matriz ativa; não preserva o ficheiro antigo como histórico de recuperação. As lixeiras e os snapshots são camadas separadas, enquanto os limites de proteção do RAID dizem respeito à disponibilidade e não à recuperação de ficheiros eliminados ou retenção de espaço.

Suporte e Dicas

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.