destino iônico rsync

11

Para evitar que o rsync morra de fome ao sistema e à rede, usamos ionice ao iniciar o rsync e definir o parâmetro --bwlimit . Por exemplo:

ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo [email protected]:/

Isso realmente ajuda a garantir que o servidor de origem permaneça responsivo. No entanto, o servidor de destino fica muito lento devido ao disco io em 100% (como visto pelo utilitário atop ).

É possível usar de alguma forma ionice no servidor de destino também? Talvez através da opção rsync -e ? Eu preferiria não executar o daemon rsync se possível.

    
por Jason Smith 20.04.2012 / 12:57

2 respostas

10

Alterar o comando rsync ou envolvê-lo em um script de shell para incluir o comando / parâmetros ionice é uma opção. Além disso, você pode aproveitar a opção --rsync-path , que informa ao rsync qual comando executar no servidor remoto. Algo como --rsync-path="ionice -c2 -n7 rsync" garantirá que a ionização seja executada no destino.

Acrescentarei que a ionização nem sempre é eficaz, dependendo da configuração do servidor. Ele só funciona com o elevador de E / S CFQ padrão . Se você fez algum ajuste no sistema de armazenamento, essa abordagem pode não ser aplicável.

Você pode dar um exemplo da carga ou ajudar a explicar como os sistemas se tornaram recursos durante a cópia? Eu tenderia a me aprofundar e ver por que um rsync, especialmente limitado à baixa taxa que você listou em seu exemplo, causaria tantos problemas.

O que você está copiando? Qual é a configuração do hardware / SO?

    
por 20.04.2012 / 14:08
1

Seu comando rsync também inicia o comando rsync no destino remoto.

Tente colocar o seguinte no seu usuário raiz do servidor de destino .bashrc, em outras palavras, para /root/.bashrc

alias rsync="ionice -c2 -n7 rsync"
    
por 20.04.2012 / 13:38