desempenho de relatório de cotas de linux

1

Eu tenho um sistema com mais de 10.000.000 de arquivos, onde quero rastrear o uso do disco de alguns usuários (esses usuários possuem milhões de arquivos). Com base no seguinte link da Q & A, eu quero olhar para as cotas de disco do Linux para este trabalho, pois o comando du também demora mais de uma hora para ser executado no meu sistema.

Minha pergunta é:

1) Qual é o tempo de execução esperado do repquota? é sempre muito rápido (por exemplo, correr em menos de 1 minuto)? ou depende do número de arquivos e do tamanho do disco que está sendo rastreado?

2) Preciso executar o quotacheck para atualizar as informações do quata (banco de dados de arquivos?) para alterar a saída do repquota? ou vai sempre me dar informações atualizadas?

Atualizar

Exemplo para 2): Se eu executar os seguintes comandos, qual é a saída esperada:

repquota /tmp
head -c 1024 /dev/urandom > /tmp/new.file
sleep 1
repquota /tmp

3) O segundo repquota / tmp dará o mesmo resultado que o primeiro? ou as informações de cotas serão atualizadas apenas porque eu gravei no disco (e não com base na execução de algum outro programa de atualização de cotas de fundo)?

    
por Alex Q 08.03.2011 / 20:49

1 resposta

3
  1. Repquota deve ser quase instantâneo, no entanto, fazer uma verificação de cota não será. Em um servidor com cerca de 500k arquivos 4 disco RAID0 demorou cerca de meia hora, no entanto, que estava com carga de disco bastante alta (50% ou mais). Depende do número de arquivos, não tanto do tamanho do disco quanto da velocidade do disco.

  2. relatórios de repquota com base no arquivo de cota (que é atualizado quando a cota é executada, acredito aproximadamente a cada 5 minutos), se você quiser informações completas e atualizadas, então executar o quotacheck é uma boa ideia. Tenha em mente que você precisa desativar a cota para fazer isso.

Nós usamos o seguinte script:

#!/usr/bin/php
<?php
echo date('Y-m-d H:i:s') . ': Checking quota and fixing' . "\n";

if (file_exists('/usr/local/bin/quota')) {
 'rm -rf /usr/bin/quota';
 'ln -s /usr/local/bin/quota /usr/bin/quota';
}

'quotacheck -avugm';
sleep(1);
'quotaon -av';
'repquota -as';
    
por 11.03.2011 / 03:10