Como exibir o limite de cota no subvolume btrfs?

3

Não consigo determinar como obter o limite de cota atualmente definido em um subvolume btrfs. O wiki btrfs na cota não parece mostrar isso.

Isso é o que eu acho que sei:

  • definir uma cota: btrfs qgroup limit 21G /path
  • verifique o espaço usado: btrfs qgroup show /path

Mas como verificar o limite já definido?

    
por lickdragon 16.08.2016 / 23:31

2 respostas

3

Use as opções -r e -e :

btrfs qgroup show -pcre /path
    
por 17.09.2016 / 13:04
1

Enquanto falamos, o btrfs é quebrado por design a esse respeito.

Não há atualmente nenhuma função em btrfs-progs, para mostrar qual subvolume tem qual cota. Você tem que escrever um script (e muitos que se apaixonaram pelo btrfs), para analisar o grupo abstrato de cota números que ele exibe e lista os subvolumes dentro desses grupos de cotas abaixo deles. Poderia ser adicionado, mas os desenvolvedores do btrfs religiosamente se recusam a fazer isso.

Ainda pior, não só como mostrar quanto da cota um subvolume usa atualmente. É por isso que df mostra apenas o total livre espaço. Não é possível fazer isso em tudo devido a como o btrfs é projetado em seu núcleo. Isso ocorre porque subvolumes funcionam como instantâneos. Para descobrir quantos dados estão em um subvolume, você precisa varrer todo o sistema de arquivos e localizar todos os arquivos vinculados a esse subvolume / instantâneo e adicioná-los. Assim como o comando du . O que leva muito tempo. Não tenho ideia de como o btrfs sabe que uma cota está cheia de todo… O canal do IRC não poderia me fornecer nenhuma resposta para isso. (Eles estavam ocupados defendendo seus frágeis e exagerados egos.) O sensato seria alterar o contador de subvolume sempre que os dados forem adicionados ou removidos. Que tipo deve ser como o btrfs sabe que está cheio. Pelo menos eu não sei de outra maneira. Mas por que eles optaram por manter essa informação disponível basicamente como um segredo de estado vigiado pelos militares, eu não sei ...

Se o zfs não tivesse tais requisitos insanos de RAM (1GB por TB ... não é uma opção em um computador ARM de placa única) e o risco de perda de dados, devido a não gravar dados antecipadamente, devido a ser projetado para servidores com proteção contra falhas, eu recomendaria despejar o btrfs em seu favor.

    
por 17.10.2017 / 18:57

Tags