Samba на одноплатных компьютерах

2016-12-28

Наткнулся тут на досадную неприятность - домашний сервер на CubieBoard и процессоре AllWinner A20 активно “корраптит” файлы, передаваемые по Samba, если те превышают определенный размер - моя статистика говорит, что это 10Гб.

Проявляется так - качаем файл меньше 10Гб, всё ок. Больше - файл скорее всего будет битый. При этом перекачка по NFS и SFTP такого эффекта не дает.

Причём проблема проявляется только в том случае, если качаем с Linux на Windows 10. На факингтош всё “приезжает” вполне целое.

Гуглёж по симптомам выявил какие-то похожие случаи, датированные 2012 годом, которые ну никак не могли решиться обновлением smbd.

Проблема ушла с внесением этих двух строчек в секцию [global] конфигурации Samba:

1
2
aio read size = 1
aio write size = 1

После рестарта сервиса все “тесты” прошли успешно.

Вот тут, кстати очень неплохой туториал по настройке Samba, причём датируется вообще 2011 годом.

Подозреваю, что подобное поведение Самбы будет проявляться не только на AllWinner, но и на аналогичных устройствах, например OrangePi@AllWinner H3, тем более что хранилище на этих устройствах подключается исключительно через USB (даже при наличии SATA - там установлен мост USB->SATA). А такой “вариант” стабильности конструкции явно не добавляет.

Ну и конечно, не стоит забывать о качественном питании устройства - это залог “целых” данных.


В массы

В трубу