Posso controlar o tar sem ionizar?

7

Meu comando tar

tar --remove-files -cvif 2011-08-02_14-05-09.tar 2011-08-02_14-05-09

Escreve 80MB / s. Isso está além da capacidade que podemos poupar, porque o MySQL começa a enfileirar gravações e, eventualmente, recebemos alertas de monitoramento, fazendo com que os sistemas não esperem para sempre no MySQL e expirem.

P: Posso acelerar tar para fazer apenas 20MB / s?

Não encontrei nada na manpage e já tentamos com a menor ionice class: /usr/bin/ionice -c3 tar <...> , mas isso não afeta os MBs escritos / se o MySQL ainda congela.

Talvez ionice seja ignorado porque estamos em um dispositivo RAID de software /dev/md0 ?

    
por kvz 02.08.2011 / 16:34

2 respostas

5

Você pode usar ratepipe .

Eu baixei e tentei e parece DTRT. Deve funcionar para você:

tar --remove-files -cvif - 2011-08-02_14-05-09 | ratepipe -r 20 > 2011-08-02_14-05-09.tar
    
por 02.08.2011 / 17:08
1

Você provavelmente poderia escrever o tar para stdout (usando -f - ) e canalizá-lo para algo que seja acelerado. Vou ver se consigo encontrar algo rapidamente.

Como o tar não armazena muito em buffer, ele deve esperar pelas leituras.

Edit: MikeB me bateu nisso: ratepipe vai fazer.

    
por 02.08.2011 / 17:09