arquivos movidos ou apagados da unidade zfs não liberam espaço na unidade

arquivos movidos ou apagados da unidade zfs não liberam espaço na unidade

Estou usando o Ubuntu 21.10, instalado novamente com o sistema de arquivos zfs. Se eu excluir alguns arquivos e esvaziar a lixeira ou movê-los para outra unidade (externa), isso não liberará espaço na unidade. na verdade, df mostra: rpool/ROOT/ubuntu_zooqq5 35G 4,5G 31G 13% / onde 35GB é o tamanho da unidade.

Cada vez que adiciono algum arquivo ao disco, o tamanho da unidade diminui.

Eu recupero espaço (e o tamanho da unidade aumenta) excluindo instantâneos zfs com um script, mas como isso pode estar certo?

Talvez seja um bug?

Responder1

Os arquivos removidos ainda são referenciados por instantâneos anteriores, portanto, o que você descreve é ​​o comportamento esperado.

Como você já observou, o espaço permanece utilizado devido aos snapshots; somente após excluir o último snapshot que faz referência aos arquivos excluídos o espaço correspondente estará novamente disponível para novos arquivos.

Observe quedfnão fornece valores precisos para espaço livre em sistemas de arquivos ZFS. O ZFS usa um ou mais discos (ou partições) para armazenar pools que podem conter um ou mais conjuntos de dados (interpretados dfcomo sistemas de arquivos), todos os quais compartilham o espaço livre do pool. Os instantâneos também preenchem o pool (como parte dos conjuntos de dados), afetando ainda mais os dfrelatórios de “Tamanho” de um sistema de arquivos individual. ZFS é um sistema de arquivos, um gerenciador de volumes e, opcionalmente, gerencia matrizes RAID; seria análogo, por exemplo, ext4 no LVM opcionalmente no RAID.

Para ver como os pools correspondem a discos ou partições, você pode usar zpool status. No Ubuntu, você pode encontrar os discos ou partições listados em /dev/disk/by-uuid/e /dev/disk/by-partuuid/respectivamente. Para ver o espaço livre nos pools, você pode listar todos os pools via zpool list. Você pode listar todos os conjuntos de dados ZFS ("sistemas de arquivos") via zfs list, onde a USEDcoluna indica o espaço usado pelo conjunto de dados, que inclui os arquivos, conjuntos de dados filhos e instantâneos pertencentes a um conjunto de dados específico; AVAILindica o espaço restante no pool e REFERindica o tamanho dos arquivos específicos deste sistema de arquivos, ou seja, não são instantâneos ou sistemas de arquivos filhos.

informação relacionada