Eu tenho um servidor CentOS 5.7 que fará backup de seus arquivos todas as noites. Estou preocupado que os visitantes dos vários sites hospedados pelo servidor tenham um desempenho degradado enquanto o backup está sendo transferido pela rede.
É possível limitar a taxa de transferência máxima permitida de um processo para uma interface de rede? Gostaria de limitar a transferência de arquivos baseada em SSH a apenas metade da minha largura de banda disponível. Isso pode estar no lado do servidor ou cliente; ou seja, ficaria feliz em fazer isso no cliente que inicia a conexão ou no servidor que recebe a conexão.
(Infelizmente, não posso adicionar uma interface para dedicar aos backups. Eu poderia aumentar minha taxa de transferência disponível, mas isso significaria apenas que a transferência de rede seria concluída mais rapidamente, mas ainda assim maximizaria a capacidade total da conexão enquanto o fazia.)
Alguns antecedentes
Talvez alguns antecedentes estejam em ordem. Recuando, tive um problema em não ter espaço local suficiente para criar o próprio backup. Digite SSHFS! O backup é salvo no que é ostensivamente uma unidade local, para que nenhum bit de backup esteja no próprio servidor web.
Por que isso é importante? Porque isso parece invalidar o uso do venerável rsync --bwlimit
. rsync
na verdade, não está fazendo a transferência nem pode , porque não posso poupar espaço para salvar o arquivo de backup.
Ouço você perguntar: "Então, espere, por que você precisa criar um arquivo de backup? Por que não apenas rsync
os arquivos e pastas de origem?" Porque uma coisa chata chamada "Plesk" está na mistura! Este é o meu host voltado para o cliente, que usa o Plesk por conveniência. Como tal, uso o Plesk para iniciar os backups porque o Plesk adiciona todo tipo de magia extra ao backup, o que torna muito seguro consumi-lo durante um procedimento de restauração.
rosto triste
ionice
para limitar as gravações que um processo pode fazer. Como estou escrevendo em um sistema de arquivos SSHFS, posso reduzir a classe do processo de backup para 3 para que ele ceda completamente a qualquer outro processo que queira gravar. Dessa forma, obtenho o efeito desejado, que nunca degradará a experiência de um visitante do site por causa da largura de banda monótona do backup.