Quais protocolos de transferência de arquivos oferecem suporte à cópia no servidor?

9

Estou imaginando quais protocolos de transferência de arquivos disponíveis no Linux suportam cópias no servidor (e não fazem o download e o reenvio interno de arquivos). O caso de uso mais simples que tenho é para copiar arquivos grandes (como VMs) de um diretório para outro no mesmo compartilhamento.

Eu sei que o Samba 4.1.0 implementou recentemente o suporte ao FSCTL_SRV_COPYCHUNK no protocolo SMB2, mas até onde eu sei, nenhuma ferramenta / gerenciador de arquivos do lado do cliente ainda suporta isso ( link ). Eu também olhou para AFP, mas as únicas duas ferramentas do Linux para montar partilhas AFP são gvfs-afpe afpfs-ngnem são muito grandes. O afpfs-ng não é mantido e não coopera bem com o netatalk (segfaults), enquanto o gvfs-afp tem um rendimento muito baixo comparado ao afpfs-ng quando funciona. Atualização: parece que a próxima versão do NFS também pode suportar isso.

Existem outros protocolos que oferecem suporte à cópia no servidor?

Desde já, obrigado!

Andrew Gunnerson
fonte
1
Você precisa disso raramente ou frequentemente? Utilizado por usuários de operadores? Se raramente ou operadores, eu tinha acabado de ssh para a máquina
miniBill

Respostas:

5

Como você observou, o AFP suporta cópias no servidor. A última versão não lançada do gvfs contém várias melhorias no gvfsd-afp para torná-lo mais confiável e rápido. Nos meus testes, é possível obter cerca de 70 MB / s para uma grande transferência em 1 GBE e é capaz de duplicar um diretório de 10000 arquivos em 11 segundos, o que não é muito ruim. Se cópias do lado do servidor são importantes e você não deseja fazer login em um terminal, é isso que eu recomendaria usar.

Também planejamos adicionar o suporte à cópia no servidor para o gvfsd-smb em breve, mas quem sabe quando "em breve" pode ser ...

(Isenção de responsabilidade, ajudo a manter gvfs.)

Ross Lagerwall
fonte
Muito Obrigado! Vou compilar gvfs a partir do git e experimentá-lo. A propósito, você sabe se o Samba 4 ainda suporta cópia do servidor ou se requer um servidor Windows?
Andrew Gunnerson
Acabei de compilar o gvfs do git master ( 232d6d76029dc1cbc0c76c2459f9db26b7717d28) e o AFP está funcionando perfeitamente agora. As cópias do lado do servidor funcionam e a taxa de transferência está em pé de igualdade com gvfs-smb e sftp (acima de 802.11ac). Obrigado novamente!
Andrew Gunnerson
Impressionante :-) Sim, o servidor Samba 4.1 suporta a cópia do lado do servidor. As ferramentas clientes do Samba não. Eu acho que o suporte foi adicionado ao módulo cifs do kernel para fazer uma cópia no servidor, mas um ioctl especial precisa ser usado para fazer uso dele, do qual a maioria dos programas não usa.
Ross Lagerwall
6

Conforme mencionado por Ross Lagerwall, o suporte à cópia do servidor Samba 4.1+ SMB2 pode ser utilizado pelo cliente de kernel CIFS do Linux (cifs.ko) por meio do ioctl CIFS_IOC_COPYCHUNK_FILE.

O utilitário Cloner enviado com fstests pode ser usado para emitir o ioctl nos pontos de montagem SMB2 do cifs.ko. O trabalho no suporte a smbclient também está em andamento.

Um benefício da implementação de cópia no servidor Samba é que ele pode ser usado no topo de um sistema de arquivos Btrfs para executar cópia / desduplicação quase instantânea de dados do arquivo, como demonstrado nesta comparação de desempenho .

David Disseldorp
fonte