Назад | Перейти на главную страницу

Тяжелое использование Samba влияет на других пользователей на том же ресурсе

У нас есть центральный файловый сервер Samba, работающий на Debian 6, почти все клиенты - Windows 7. На сервере 7 дисков SATA емкостью 2 ТБ в массиве RAID 5. Клиенты подключены к серверу со скоростью 100 Мбит.

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

Я проверил использование сети на сервере с помощью nload и он показывает длинные участки с 93 Мбит входящего трафика, что указывает на то, что в данном случае сеть является узким местом.

Конфигурация Samba в значительной степени является настройкой Debian по умолчанию, за исключением фактических определений общих ресурсов.

Есть ли способ предотвратить такое воздействие на других пользователей одним пользователем Samba? Если к серверу обращаются несколько пользователей, доступная полоса пропускания должна быть разделена разумно справедливо, и один пользователь не должен иметь такой возможности, чтобы это серьезно повлияло на других пользователей.

Я сомневаюсь, что Samba может это сделать. Разделить доступные ресурсы, такие как CPU, IOPS, Bandwidth и т. Д., Не так просто, как вы думаете. Для этого вам, по крайней мере, потребуется поддержка ОС. Например, только файловая система может действительно планировать запросы ввода-вывода красивым и «справедливым» способом (справедливый - это субъективный термин).

Я думаю, что реально ваш единственный вариант - ограничить скорость трафика CIFS для каждого клиента через iptables.