Я настроил файловый сервер, используя Ubuntu 12.04 Server. Цель состоит в том, чтобы обслужить несколько сетевых дисков пользователям Windows, которые до этого обслуживались многочисленными дисками NAS.
У меня Samba настроена с одной определенной долей. Я могу подключиться к нему отлично с моих тестовых машин Windows 7 и Windows XP.
Когда я делаю список каталогов на общем ресурсе из Windows, это может занять до двух минут, чтобы получить все перечисленные файлы - это заняло бы около 1,5 секунд, когда я использовал Buffalo NAS. Иногда это происходит без ответа.
Я использовал smb.conf по умолчанию и просто добавил следующее для общего ресурса, который я настроил до сих пор:
[engineering]
comment = Ubuntu File Server Share
path = /networkdriveshares/engineering
browsable = yes
guest ok = yes
read only = no
create mask = 0755
Я попытался изменить настройку рабочей группы на имя активного домена нашего компьютера Windows использовать, но не заметил никакой разницы.
Единственное другое изменение, которое я сделал в smb.conf по умолчанию, было добавление в рекомендуемые настройки сокетов:
SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY
Много информации о медленных общих ресурсах Samba в Интернете, но я попробовал все имеющиеся у меня решения найдено, и никто не сделал лизнуть разницу. Если решения не существует, есть ли лучший способ настроить файловый сервер для использования клиентами Windows?
Попробуйте настроить сервер без настройки SO_RCVBUF
и SO_SNDBUF
. То есть:
socket options = TCP_NODELAY
и ничего больше. Или полностью закомментируйте socket options
и используйте настройки Samba по умолчанию.
У меня была похожая проблема с Ubuntu 12.04 и клиентом Mac в гигабитном Ethernet. Чтение файла выполнялось со скоростью около 100 Кбайт / с или в 300 раз медленнее. В Ubuntu 11.10 я устанавливал оба буфера на 8192, как вы пытались. Но когда я обновился до 12.04, я обнаружил, что мне пришлось удалить этот параметр, чтобы вернуть производительность туда, где она должна быть (около 30 Мбайт / с, скорость диска).
Другое решение , которое я видел, предложило установить max protocol = NT1
. Я попробовал это сначала, и это не помогло мне.