# Очень медленная работа Samba

## Balancer

Пакеты все последних версий.

Если я с Linux-машины обращаюсь к windows - имею скорость закачек от 4Мб/с и выше.

Если с Windows лезу на Linux - для одиночного файла максимальная скорость падает до 1Мб/сек,  при этом дикие тормоза при первых обращениях. Куча мелких файлов суммарным объёмом 13Мб аплоадится _час!_

```

[global]

        log file = /var/log/samba3/log.%m

        guest account = balancer

        smb passwd file = /etc/samba/private/smbpasswd

        restrict anonymous = no

        ldap ssl = No

        socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192

        map to guest = bad user

        domain master = no

        hosts allow = 10.1.1.

        encrypt passwords = yes

        printer admin = @adm

        dns proxy = no

        netbios name = HOMESRV

        max protocol = NT

        server string = Samba Server %v

        dos charset = 866

        local master = yes

        workgroup = HOMENET

        os level = 65

        server signing = Auto

        security = share

        preferred master = yes

        max log size = 50

        log level = 0

```

Машина в домашней подсетке, без всяких доменов. Кстати, почему-то не видна в списке машин в "Сетевом окружении", хожу по IP-адресу.

Добавление

```

dead time = 15

getwd cache = yes

wide links = no

write cache size = 524288

read raw = yes

write raw = yes

level2 oplocks = true

oplocks = yes

max xmit = 65535

```

рекомендованное где-то тут на форуме - не помогает.

----------

## Jekpol

А где общие шары (хотя бы одна)?

----------

## Balancer

Их всего и ессть две:

```

[Music]

path = /home/samba/music

available = yes

browseable = yes

public = yes

writable = yes

[Files]

        writeable = yes

        create mode = 775

        public = yes

        path = /home/samba/files

        directory mode = 775

```

----------

## Jekpol

Насчет медленной загрузки сказать определенно не могу, нужно смотреть логи. Возможно что-то связано с правами на записываемые файлы. У меня был такой глюк, правда я загружал из -под линух на ядре 2.6.9(на последних ядрах проблема снята) на линух сервер. Насчет того, что не видит через сетевое окружение, то простое решение - пропиши в smb.conf опцию wins support = yes. Или в виндовой машине поставь мастер броус в включено. Список машин кто-то должен выдавать? Если клиент из-под win98, то опция os level = 65 будет перебивать броусера под win98. Кстати, ты бы подробнее описывал конфу сервера и клиента (ос, версии пакетов)

----------

## Balancer

>нужно смотреть логи

в логах с виду ничего криминального :-/

>Насчет того, что не видит через сетевое окружение, то простое решение - пропиши в smb.conf опцию wins support = yes. Или в виндовой машине поставь мастер броус в включено. Список машин кто-то должен выдавать? Если клиент из-под win98

Кроме Linux'а в локальной подсетке две WinXP и ноут с Win98. Все трое друг друга видят без дополнительных настроек. Linux же доступен только по IP-адресу, а в Gnome сетевой брауер видит только Linux-машину.

> то опция os level = 65 будет перебивать броусера под win98.

А какой там левел? Пробовал я и 33 ставить. Всё равно не видно.

>Кстати, ты бы подробнее описывал конфу сервера и клиента (ос, версии пакетов)

Сервер расписывал, все версии последние стабильные из портежа. Клиенты - вот, только что отметил. Две дефолтных WinXP и одна Win98.

Самый прикол, что пару лет назад с подобными же настройками (правда, в другой подсетке) всё было ок.

----------

## Jekpol

Точно не знаю, но вроде как 65 должен все NT перебивать, хотя можно выставить самый высокий - 255, уж точно никто не перебьет. Проверь, что все компьютеры входят в одну группу. Для мастера линух сервера поставь:

       local master = yes

        preferred master = yes

        os level = 65 //(можно 255)

//     domain master = yes (это в случае домен мастера).

Если сделаешь:

        local master = no

        preferred master = no

        os level = 0

то станет мастером виндовая машина (скорее ХР).

А проверить, не бодаются ли машины за права мастера, посмотрев в лог nmbd.log.

И проверь права на запись в шары, винды как правило пишут с 777. Можно глянуть после загрузки файлов в ситемный лог.

----------

## bukazoid

 *Quote:*   

> 
> 
> socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
> 
> 

 

это нам не надо ...

 *Quote:*   

> 
> 
> max protocol = NT
> 
> 

 

и это нам не надо

```

nmblookup -M HOMENET

```

найдёт мастер браузер (держатель списка компутеров)

судя по твоей ситуации там их 2 шт будет, обычно это из-за того что на winXP заблокирован гость(lin не может согласовать список тк. нет правей), либо firewall

определить кого lin считает мастер бравзером:

smbclient -L linux_smb_server

.

желательно положить службу "обозреватель компутеров"/"computer browzer" на winXP

----------

## ba

 *Jekpol wrote:*   

> Точно не знаю, но вроде как 65 должен все NT перебивать, хотя можно выставить самый высокий - 255, уж точно никто не перебьет.

 

по собственному опыту - не получается на самбе сделать так, чтобы винды никогда не перехватывали :(

----------

## Jekpol

Перехватывает и еще как! В виндах кто первый захватит (в соответствии с уровнем конечно, NT выше w98), тот и мастер. Но согласно browsing.txt из док-ов самбы:

The "local master" parameter allows Samba to act as a local master

browser.  The "preferred master" causes nmbd to force a browser

election on startup and the "os level" parameter sets Samba high

enough so that it should win any browser elections.

Что в переводе означает:

"local maste" параметр позволяет Самбе действовать как локальный master browser. "preferred master" заставляет nmbd вызывать выборы browser при запуске, и "os level" устанавливает Самбу достаточно высоко так, чтобы это выиграло любые выборы browser.

И это работает, у меня 2 сервера под линухом (один является мастером и wins сервером). Так как сервер всегда включен, он никому не отдает первенство. Но даже, если при перезагрузке какая-нибудь винда захватывает мастера, то загрузившийся самба отбирает мастера на себя, что можно увидеть по nmbd.log

----------

## Balancer

>"local maste" параметр позволяет Самбе действовать как локальный master browser. "preferred master" заставляет nmbd вызывать выборы browser при запуске, и "os level" устанавливает Самбу достаточно высоко так, чтобы это выиграло любые выборы browser.

Как видно из логов - так у меня и прописано. yes на оба этих параметра :-/

>И это работает, у меня 2 сервера под линухом (один является мастером и wins сервером).

Самый прикол, что в двух подсетках, в одной Gentoo стоит доменным сервером, в другой - входит на Windows PDC, всё ок. Все всех видят. Но дома мне домен не нужен, нужна обычная одноранговая локалка. И вот тут наступает вышеописанный облом :-/ Тормоза и вход только по IP...

----------

## Jekpol

ну тогда делай:

 local master = no

preferred master = no

os level = 0

Пусть обозревателем становится ХР. И проверяй nmblookup -M HOMENET

----------

## cha-chaynik

Если netbios имя сервера отличается от реального имени сервера, то рекомендую в ДНС прописать "A" запись:

```
homeserv   A    123.123.123.123
```

где 123.123.123.123 - реальный IP сервера

Также рекомендую поиграться с 

```
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
```

Увеличение размера буферов дает хорошую прибавку. У меня стоят по 524288. Ну это, конечно, на сколько оперативка позволяет.

И еще, как советовали ранее, рекомендую:

```
wins support = Yes
```

И еще можно попробовать:

```
lm announce = Yes
```

----------

## Balancer

Отчитаюсь, если эту тему кто-то по поиску раскопает : D

Глюк со скоростью прошёл сам по себе пару дней назад. Ничего не трогал, вроде бы, а скорость стала 9..10Мб/сек.

А вот с видимостью - это был исключительно мой глюк  :Smile:  Виндовые машины в подсетке 1.0.0.0 были с маской 255.0.0.0, а линуксовая стала с маской 255.255.255.0  :Smile:  Как не заметил раньше - ума не приложу  :Very Happy: 

Как поправил - все стали всех видеть  :Smile: 

----------

