Como o uso de cotas para o ZFS no Linux funciona?

6

Eu tenho um usuário que, de acordo com o ZFS, está na cota deles. No entanto, não consigo encontrar como eles estão usando todo o seu espaço. Este sistema de arquivos não possui sistemas de arquivos descendentes e de acordo com a página do manual the userquota space calculation does not include space that is used by descendent datasets, such as snapshots and clones. Por que o zfs e o find & du discordam em grande medida?

# zfs get -H userquota@user1 zpool/zfs1 && zfs get -H userused@user1 zppol/zfs1
zpool/zfs1  userquota@user1  20G              local
zpool/zfs1  userused@user1  20.0G           local

# find $(zfs get -H -o value mountpoint zpool/zfs1) -user user1 -print0 | du -hc --files0-from=- | tail -n 1
5.9G    total

Além disso, tenho outro usuário com o problema aparentemente oposto.

# zfs get -H userquota@user2 zpool/zfs1 && zfs get -H userused@user2 zpool/zfs1
zpool/zfs1  userquota@user2 50G local
zpool/zfs1  userused@user2  14.9G   local
# find $(zfs get -H -o value mountpoint zpool/zfs1) -user user2 -print0 | du -hc --files0-from=- | tail -n 1
81G total
    
por 84104 12.08.2014 / 19:49

1 resposta

2

No primeiro caso, talvez alguns arquivos do user1 não possam ser descobertos pelo find (1) porque eles estão ocultos por alguns fs sendo montados em cima deles?

No segundo caso, talvez algo esteja montado em algum lugar sob o ponto de montagem zfs1 e você inclui isso no cálculo de espaço?

Incidentalmente,

zfs get -H -o value mountpoint zpool/zfs1

imprime apenas o ponto de montagem, então você não precisa do corte (1).

    
por 29.08.2014 / 11:55