Como faço para limitar a atividade de rede no Linux?

1

Como faço para limitar a atividade de rede em todo o sistema?

Digamos que estou executando o rsync em um arquivo grande com um cron ou um servidor de torrent ou ambos. É importante que essas atividades sejam executadas, mas são de baixa prioridade: não quero que elas obstruam a rede e interfiram nas outras tarefas mais importantes. Como eu os estrangulo?

Estarei executando essas tarefas em máquinas virtuais KVM dedicadas e separadas em um host CentOS. Então, eu preferiria limitar a atividade da rede em todo o sistema. As máquinas convidadas também serão do CentOS, a menos que algo indique o contrário.

    
por Nickolai Leschov 25.03.2014 / 00:27

2 respostas

3

Três opções que você pode querer investigar.

  1. Limters específicos de aplicativos. Como mencionado acima, o rsync tem o bwlimit e a maioria dos servidores de torrents tem funcionalidade de limitação de largura de banda. Pro: simples de configurar. Con: não dinâmico (por exemplo, se você definir o limite como 20 Mbps em uma conexão de 100 Mbps, no máximo 20 serão usados mesmo que nenhum outro programa esteja gerando tráfego.

  2. Limite de espaço do usuário de uso geral. Eu só sei de trickle link Prós: simples de configurar e de propósito geral. Con: não dinâmico.

  3. Limitador do Kernel, por exemplo, HTB link Prós: alocação de largura de banda dinâmica; opções extensivas de priorização. Contras: arcano como o inferno. Você também precisa de um classificador:

3a. cgroups com o classificador net_cls. (É assim que as soluções de virtualização baseadas em KVM limitam recursos). Pro: relativamente simples de configurar o link . Contras: precisa ter um kernel que suporte cgs; ainda precisa usar o limitador do kernel.

3b. Outro é o iptables com o alvo MARK. Prós: relativamente simples de configurar; extensas opções de classificação. Con: ainda precisa usar o limitador do kernel.

    
por 25.03.2014 / 01:26
0

O rsync tem uma opção para limitar sua própria largura de banda: --bwlimit

Às vezes, executarei isso em conjunto com ionice no rsync pid, se eu quiser ter certeza de controlar tanto a E / S do disco quanto a largura de banda.

    
por 25.03.2014 / 02:36