У меня есть виртуальная машина CentOS 7, работающая на VMware, которая используется для архивирования данных с различных серверов, место назначения - FreeNAS MiniXL. Некоторые из них выполняются по ssh, но другие отправляются с использованием SMB. В любом случае rsync используется для сравнения источника / назначения. Целью использования SMB в первую очередь является сохранение разрешений Windows, установленных на FreeNAS. Я мог ошибаться, но меня беспокоил, что rsync поверх SSH их перезапишет (мне нужно это проверить).
Проблема в том, что после короткого времени сравнения большого количества маленьких файлов клиент SMB на CentOS 7 замедляется. После перезагрузки я могу быстро просматривать общие ресурсы SMB, но вскоре после запуска некоторых заданий репликации все начинает замедляться. Например, ls потребуется очень много времени, чтобы показать какие-либо результаты.
Испытывая замедление, я протестировал доступ к общим ресурсам с других компьютеров Linux и Windows и могу без проблем просматривать и перемещать файлы. Это наводит меня на мысль, что это клиент SMB в системе CentOS.
Есть предположения?
В CentOS 7 пункт назначения SMB смонтирован с использованием vers = 3.0, так как он был для меня наиболее стабильным.
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
Linux rhelfs01 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
libsmbclient.x86_64 4.8.3-6.el7_6 @updates
samba.x86_64 4.8.3-6.el7_6 @updates
samba-client.x86_64 4.8.3-6.el7_6 @updates
samba-client-libs.x86_64 4.8.3-6.el7_6 @updates
samba-common.noarch 4.8.3-6.el7_6 @updates
samba-common-libs.x86_64 4.8.3-6.el7_6 @updates
samba-common-tools.x86_64 4.8.3-6.el7_6 @updates
samba-libs.x86_64 4.8.3-6.el7_6 @updates
РЕДАКТИРОВАТЬ :
У меня есть исходные общие ресурсы SMB, установленные на том же CentOS 7 vm. Хотя просмотр пункта назначения выполняется очень медленно, просмотр источника работает нормально. После того, как я убью задания rsync, запущенные на SMB, я снова могу без замедления просматривать место назначения.
Это больше похоже на проблему с rsync через SMB.
rsync.x86_64 3.1.2-6.el7_6.1 @updates
РЕДАКТИРОВАТЬ 2:
Я воспроизвел проблему на сервере Windows с помощью robocopy. Через некоторое время скорость передачи упала до ~ 500 Кбит / с. Однако, если я вернусь к серверу CentOS 7, я смогу использовать DD для записи файла размером 10 МБ в то же место назначения со скоростью ~ 5,5 МБ / с (что нормально для моего туннеля).
На данный момент я думаю, что это проблема с самбой на машине FreeNAS. Я очень мало знаю о внутренней работе самбы, но я рискую и предполагаю, что она многопоточная на основе исходного IP. Если я подключаюсь со второго IP-адреса, проблем с подключением не возникает.
Собираюсь опубликовать свои выводы на форумах FreeNAS и посмотреть, что я получу. Устройство хранения - одна из их машин.
РЕДАКТИРОВАТЬ 3:
Похоже, это больше проблема с туннелем между машинами. Несмотря на то, что производительность на другом компьютере удовлетворительна, он по-прежнему передает файлы медленно. Открыл ветку на форумах Ubiquiti.
Проблема была с туннелем. Проблема решена в Ubiquiti Forum