Copie arquivos remotos em nfs sem ida e volta

10

Eu tenho uma grande quantidade de dados (vários GB) em uma unidade remota, que é montada de maneira transparente via nfs. Eu gostaria de copiar esses arquivos em um subdiretório de onde eles já estão residindo, então tudo fica no mesmo disco físico. Por esse motivo, gostaria de evitar uma viagem de ida e volta desnecessária pela rede.

Parece que cp files* subdir faz a coisa ingênua e lê todos os dados na memória e os grava de volta. Isso é verdade? Existe um comando especial que faz a cópia real inteiramente no servidor em que o disco está fisicamente conectado?

    
por jdm 20.09.2011 / 15:32

1 resposta

13

Parece que cp files * subdir faz a coisa ingênua e lê todos os dados na memória e os grava de volta. Isso é verdade?

Sim.

Existe um comando especial que faz a cópia real inteiramente no servidor ao qual o disco está fisicamente conectado?

Não, a menos que você possa acessar a máquina remota com o ssh e fazer a cópia lá.

EDIT Há algum trabalho para adicionar "cópia do lado do servidor" à versão 4.2 do protocolo NFS (a corrente é 4.1). Veja por exemplo link . Observe que, em seguida, o uso desse recurso exigiria a) clientes e servidores NFS com suporte b) um novo syscall para o sistema operacional cliente (talvez reflink ou copyfile ()?) c) suporte para usar o novo syscall nos utilitários usuais (cp, rsync, etc.). Meu palpite será, pelo menos, vários anos antes de qualquer coisa que veja a luz do dia.

    
por 20.09.2011 / 15:45

Tags