Я управляю небольшой сетью клиентов Windows и файловым сервером BSD с Samba 4.6.x. У нас были некоторые странные проблемы, которые привели к открытию, что когда пользователи сохраняют файлы на сервер, около 12% сохраненных файлов не являются точными копиями оригинала Windows. (Проверено копированием 2000 файлов размером 1–5 МБ и хешированием оригиналов Windows и копий BSD: различались около 245 файлов).
Я протестировал кучу вещей: копирование с нескольких клиентов (то же самое произошло на всех клиентах), проверки оборудования сервера (ECC штраф, ZFS без ошибок), повреждение сетевых данных (сквозных проблем нет), направленность (копирование клиента на сервер повреждено примерно 12%, сервер клиенту верен), согласованность (скопируйте одну и ту же папку 3 раза один за другим в сеансе и сравните: в каждой копии поврежденные файлы различались; одна копия не имела повреждений), проблемы с длинным путем (без длинных имен файлов , пути или нечетные символы в именах файлов).
Я также скопировал с помощью SCP, но через секунду или две получил ошибку «сервер прерван соединение», что могло означать что-то или ничего, поэтому я не мог проверить, было ли это специфичным для Samba. SSH, который, я думаю, использует SCP, надежен, поэтому я не уверен, что с этим делать. Сетевые карты хорошего качества - Intel 1G + Chelsio 10G. Никто больше не входил в систему, сервер заблокирован и защищен брандмауэром, и никаких настроек системы не производилось - это в значительной степени FreeBSD 11 + Samba.
Я всегда предполагал (наивно?), Что проблемы с файловым сервером почти всегда были связаны с проблемами доступа (конфигурация, разрешения и аутентификация), и при условии, что пользователи действительно могут записывать файлы, тогда, исключая аппаратные ошибки, это «просто работает». Так что этот случайный «файл сохраняется на сервере, но сохраненная версия не такая же, как оригинал» действительно меня обманул.
Есть предложения, какая проблема может вызвать это и как ее устранить?