Página Inicial > Linux > Utilizando netcat no XenServer

Utilizando netcat no XenServer

Opa,

Essa dica me ajudou quando tive que copiar um grande volume de dados entre dois servidores pela rede, o software netcat eu já conhecia e é considerado um canivete suíço pela enorme quantidade de opções onde pode ser utilizado, recomendo! A instalação e utilização segue abaixo.

Primeiro é necessário instalar o software no XenServer e, caso necessário, no segundo servidor. Para instalar no XenServer basta realizar o download do pacote rpm no site do projeto via wget pelo console, lembre-se de baixar a versão 32 bits, após o download instale com o comando abaixo:

# rpm -ivh netcat-<versão>.i386.rpm

Agora precisamos liberar no XenServer a porta que será utilizada para cópia dos arquivos pelo netcat:

# vi /etc/sysconfig/iptables:

Adicione as linhas abaixo antes das duas últimas linhas do arquivo, conforme segue, lembrando de alterar a porta para a que desejar, nesse caso 12345:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 12345 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 12345 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

Reinicie o serviço:

# service iptables restart

Agora basta copiar os arquivos através dos comandos abaixo, primeiro no servidor que irá receber os dados, nesse caso o XenServer:

# nc -l 12345 | tar -xvf -

No segundo servidor, que irá enviar os dados, lembrando de alterar para a porta que configurou no iptables acima:

# tar -cf - dados | nc ip.do.servidor.destino 12345

Pronto! Os dados serão copiados para o XenServer! Em questão de performance, comparando com o scp o tempo foi 1/3 menor para copiar um arquivo de 1Gb!

Abraço!

Fonte: http://marton-tech.blogspot.com/2010/03/problem-1-network-speed.html

Categories: Linux Tags: , ,
  1. 13, maio, 2011 em 16:10 | #1

    Dá pra usar também compressão, e o algoritmo mais eficiente para esta situação é o lzop.

    Os comandos ficariam assim:

    # nc -l 12345 | lzop -d | tar -xvf –
    # tar -cf – dados | lzop | nc ip.do.servidor.destino 12345

    Dá pra usar o dd ainda, para fazer imagem de um disco por ex:

    # nc -l 12345 | lzop -d | dd of=~/imagem.do.disco.sda
    # dd if=/dev/sda | lzop | nc ip.do.servidor.destino 12345

  2. 13, maio, 2011 em 16:24 | #2

    Opa Enderson,

    Valeu pela dica, essa do lzop eu não sabia, meus testes com o gzip a performance não foi boa, para quem for testar terá que instalar o pacote do lzop no XenServer também, pois não vem por padrão!

    Abraço!

  1. Nenhum trackback ainda.