¿Qué protocolos de transferencia de archivos admiten la copia del lado del servidor?

9

Me pregunto qué protocolos de transferencia de archivos disponibles en Linux admiten la copia del lado del servidor (y no descarga y vuelve a cargar archivos internamente). El caso de uso más simple que tengo es para copiar archivos grandes (como máquinas virtuales) de un directorio a otro en el mismo recurso compartido.

Sé que Samba 4.1.0 implementó recientemente el soporte para FSCTL_SRV_COPYCHUNK en el protocolo SMB2, pero que yo sepa, todavía no hay un administrador de herramientas / archivos del lado del cliente ( enlace ). También he mirado a la AFP, pero los únicos dos herramientas de Linux para montar acciones de AFP son gvfs-afpy afpfs-ngcomo tampoco lo son demasiado grandes. afpfs-ng no se mantiene y no coopera bien con netatalk (segfaults), mientras que gvfs-afp tiene un rendimiento muy bajo en comparación con afpfs-ng cuando funciona. Actualización: parece que la próxima versión de NFS podría admitir esto también.

¿Hay otros protocolos que admitan la copia del lado del servidor?

¡Gracias por adelantado!

Andrew Gunnerson
fuente
1
¿Necesitas esto raramente o con frecuencia? ¿Usado por usuarios de operadores? Si rara vez o los operadores, simplemente me dirijo a la máquina
miniBill

Respuestas:

5

Como notó, AFP admite copias del lado del servidor. La última versión inédita de gvfs contiene una serie de mejoras en gvfsd-afp para hacerlo más confiable y rápido. En mis pruebas, puede obtener aproximadamente 70 MB / s para una transferencia grande en 1GBE y es capaz de duplicar un directorio de 10000 archivos en 11 segundos, lo que no es tan malo. Si las copias del lado del servidor son importantes y no desea iniciar sesión en una terminal, esto es lo que recomendaría usar.

También planeamos agregar soporte de copia del lado del servidor para gvfsd-smb pronto, pero quién sabe cuándo "pronto" podría ser ...

(Descargo de responsabilidad, ayudo a mantener gvfs).

Ross Lagerwall
fuente
¡Muchas gracias! Compilaré gvfs de git y lo intentaré. Por cierto, ¿sabe si Samba 4 todavía admite la copia del lado del servidor o requiere un servidor de Windows?
Andrew Gunnerson
Acabo de compilar gvfs de git master ( 232d6d76029dc1cbc0c76c2459f9db26b7717d28) y AFP está funcionando muy bien ahora. Las copias del lado del servidor funcionan y el rendimiento está a la par con gvfs-smb y sftp (sobre 802.11ac). ¡Gracias de nuevo!
Andrew Gunnerson
Impresionante :-) Sí, el servidor Samba 4.1 admite la copia afaik del lado del servidor. Las herramientas del cliente Samba no. Creo que se ha agregado soporte al módulo del kernel cifs para hacer una copia del lado del servidor, pero se necesita usar un ioctl especial para usarlo, que la mayoría de los programas no usan.
Ross Lagerwall
6

Como mencionó Ross Lagerwall, el cliente de kernel Linux CIFS (cifs.ko) puede utilizar el soporte de copia Samba 4.1+ SMB2 del lado del servidor a través del ioctl CIFS_IOC_COPYCHUNK_FILE.

La utilidad Cloner enviada con fstests se puede utilizar para emitir el ioctl en los puntos de montaje cifs.ko SMB2. También se está trabajando en el soporte de smbclient.

Un beneficio de la implementación de copia del lado del servidor Samba es que se puede usar sobre un sistema de archivos Btrfs para realizar una copia / deduplicación casi instantánea de los datos del archivo, como se demuestra en esta comparación de rendimiento .

David Disseldorp
fuente