Какие протоколы передачи файлов поддерживают копирование на стороне сервера?

9

Мне интересно, какие протоколы передачи файлов, доступные в Linux, поддерживают копирование на стороне сервера (и не загружают и не загружают файлы изнутри). Простейший вариант использования, который у меня есть, - это копирование больших файлов (например, виртуальных машин) из одного каталога в другой на том же общем ресурсе.

Я знаю, что в Samba 4.1.0 недавно была реализована поддержка FSCTL_SRV_COPYCHUNK в протоколе SMB2, но, насколько мне известно, ни один инструмент / файловый менеджер на стороне клиента пока не поддерживает это ( ссылка ). Я также посмотрел на AFP, но только два инструмента Linux для монтажа акций АФП gvfs-afpи afpfs-ngи ни один не слишком велики. afpfs-ng не поддерживается и плохо взаимодействует с netatalk (segfaults), в то время как gvfs-afp имеет очень низкую пропускную способность по сравнению с afpfs-ng, когда он работает. Обновление: похоже, что следующая версия NFS также может это поддерживать.

Существуют ли другие протоколы, которые поддерживают копирование на стороне сервера?

Заранее спасибо!

Эндрю Ганнерсон
источник
1
Вам нужно это редко или часто? Используется пользователями операторов? Если редко или операторы, я бы просто ssh к машине
miniBill

Ответы:

5

Как вы заметили, AFP поддерживает серверные копии. Последняя неизданная версия gvfs содержит ряд улучшений gvfsd-afp, которые делают его более надежным и быстрым. В моих тестах он мог получить около 70 МБ / с для большой передачи на 1 ГБ и способен дублировать каталог из 10000 файлов за 11 секунд, что не так уж и плохо. Если копии на стороне сервера важны, и вы не хотите входить в терминал, это то, что я бы рекомендовал использовать.

Мы также планируем добавить поддержку копирования gvfsd-smb на стороне сервера, но кто знает, когда "скоро" может быть ...

(Отказ от ответственности, я помогу поддерживать GVFS.)

Росс Лагервол
источник
Большое спасибо! Я скомпилирую gvfs из git и попробую. Кстати, вы знаете, поддерживает ли Samba 4 серверное копирование или для этого требуется сервер Windows?
Эндрю Ганнерсон,
Я только что скомпилировал gvfs из git master ( 232d6d76029dc1cbc0c76c2459f9db26b7717d28) и теперь AFP работает прекрасно. Копии на стороне сервера работают, и пропускная способность находится на одном уровне с gvfs-smb и sftp (более 802.11ac). Еще раз спасибо!
Эндрю Ганнерсон,
Круто :-) Да, сервер Samba 4.1 поддерживает серверное копирование afaik. Инструменты клиента Samba этого не делают. Я думаю, что поддержка была добавлена ​​в модуль ядра cifs для копирования на стороне сервера, но для его использования нужно использовать специальный ioctl, который не используется большинством программ.
Росс Лагерволл
6

Как упомянул Ross Lagerwall, поддержка копирования на стороне сервера Samba 4.1+ SMB2 может использоваться клиентом ядра Linux CIFS (cifs.ko) через ioctl CIFS_IOC_COPYCHUNK_FILE.

Cloner утилита поставляется с fstests может быть использована для выдачи IOCTL на cifs.ko SMB2 точки монтирования. Работа по поддержке smbclient также продолжается.

Одним из преимуществ реализации копирования на стороне сервера Samba является то, что его можно использовать поверх файловой системы Btrfs для почти мгновенного копирования / дедупликации данных файла, как показано в этом сравнении производительности .

Дэвид Дисселдорп
источник