Проблема в работе Samba 4 (переодически виснет), invisibility, 07-Май-18, 12:23 [смотреть все]Доброго дня, форумчане. Прошу помощи с Samba 4.5.0. Установил самбу по инструции в Centos7 в результате получил контроллер домена, который работает. После ввода компьютеров в домен, обнаружилась проблема, а именно: через разные неравные промежутки времени "виснет" доступ к общим ресурсам на сервере. Нашел в Сети, что нужно увеличить количество открываемых файлов иначе самба виснет fs.file-max = 500000 увеличил, проблема осталась. Так же задал время жизни соединения: net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_keepalive_probes = 6 Указанные манипуляции делал в sysctl.conf
По рекомендации начал проверять службы DNS и Winbind и тут вылезла удивительная вещь: оказывается во время "зависания" самбы не работает именно winbind или, вернее сказать, не отвечает на запросы (wbinfo -p не может определить домен) в логах самбы ничего вразумительного нет (поднимал лог левел до 9-ки ничего толком по данной ситуации не увидел), лог winbind'а практически пустой. ниже smb.conf # Global parameters [global] netbios name = DC-PFARM realm = PFARM.LAN workgroup = PFARM server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc server role = active directory domain controller bind interfaces only = yes interfaces = 192.168.7.251/24 security = user #отключение технологии sasl wrapping (защита соединения с ldap) client ldap sasl wrapping = plain #отключения верификации клиентов client signing = off #отключения защиты DCE/RPC require strong key = false winbind sealed pipes = false idmap config * : backend = tdb idmap config * : range = 3000-7999 winbind nss info = template winbind use default domain = true log level = 3 log file = /var/log/samba/%S.log max log size = 512000 password server = DC-PFARM logon drive = h: logon path = \\dc-pfarm\home\%U #отключаем службу принтеров load printers = no printing = bsd printcap name = /dev/null #For ACL attribute vfs objects = acl_xattr map acl inherit = Yes store dos attributes = Yes #для обращений по обозреванию сети local master = yes preferred master = yes os level = 255 domain master = yes wins support = yes [netlogon] path = /var/samba/netlogon read only = No write ok = Yes browseable = no guest ok = no public = yes
Прошу помочь решить проблему, указать куда ковырять и т.д.
|
- Проблема в работе Samba 4 (переодически виснет), babaj75, 14:59 , 07-Май-18 (1)
/etc/security/limits.confпопробуй добавить (изменить) * soft nproc unlimited * hard nproc unlimited
- Проблема в работе Samba 4 (переодически виснет), invisibility, 10:20 , 08-Май-18 (4)
> /etc/security/limits.conf > попробуй добавить (изменить) > * > soft nproc > unlimited > * > hard nproc > unlimitedпрошу рассказать причину в необходимости этих настроек. данные настройки должны выполнятся на высоконагруженных серверах (так в доке написано), у меня же всего 26 станций + сервер БД (по моему это не большая нагрузка на сервер AD). я попробую после праздников так покрутить (дабы не положить систему совсем). о результатах сообщу
- Проблема в работе Samba 4 (переодически виснет), PereresusNeVlezaetBuggy, 20:30 , 07-Май-18 (2)
> Прошу помочь решить проблему, указать куда ковырять и т.д.Похоже на проблемы с DNS или WINS. Вообще, если WINS вам не нужен (а зачем он нужен в домене?), то лучше бы его отключить, конечно. Проверьте, что в /etc/resolv.conf нет лажи и что все указанные там сервера отвечают одинаково и быстро. Лимиты увеличивать здесь точно не поможет. UPD: Заработался. WINS вам нужен, конечно, это я уже с NetBIOS путаю. Прошу прощения.
- Проблема в работе Samba 4 (переодически виснет), invisibility, 10:15 , 08-Май-18 (3)
>> Прошу помочь решить проблему, указать куда ковырять и т.д. > Похоже на проблемы с DNS или WINS. Вообще, если WINS вам не > нужен (а зачем он нужен в домене?), то лучше бы его > отключить, конечно. > Проверьте, что в /etc/resolv.conf нет лажи и что все указанные там сервера > отвечают одинаково и быстро. > Лимиты увеличивать здесь точно не поможет. > UPD: Заработался. WINS вам нужен, конечно, это я уже с NetBIOS путаю. > Прошу прощения.содерижимое resolv.conf ; generated by /usr/sbin/dhclient-script nameserver 127.0.0.1 т.е. данный сервак и является DNS сервером. По мне так тут проблема с winbind. он не отвечает в такие моменты. насчет лимитов у меня так же есть сомнения. Причина: в моменты когда есть проблема процессов winbindd все 3 (как и в моменты нормальной работы сервера), а вот процессов smbd аномально много >>/usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground у меня 2 варианта: либо это кто-то пытается "подключиться" к серваку и DDoS-ит (что у меня вызывает сомнения), из-за чего winbindd не успевает обрабатывать запросы, либо winbindd перестает обрабатывать запросы, из-за чего и плодится аномально много одновременных попыток подключения. в любом случае (мне кажется где тута собака и порылась) по поводу DNS - какие мне проверки выполнить что бы определить, что он нормально определяется? по поводу winbind'а - используется в строенный в самбу, логи его практически всегда пустые.
- Проблема в работе Samba 4 (переодически виснет), invisibility, 14:01 , 11-Май-18 (5)
>> Прошу помочь решить проблему, указать куда ковырять и т.д. > Похоже на проблемы с DNS или WINS. Вообще, если WINS вам не > нужен (а зачем он нужен в домене?), то лучше бы его > отключить, конечно. > >>|[sam-dom]# wbinfo --all-domains >>|failed to call wbcListTrusts: WBC_ERR_WINBIND_NOT_AVAILABLEвот такой вывод в моменты наблюдения проблемы. из этого могу предположить, что все таки винбинд глючит. тем более, что перезапуск DNS'a проблему не решает
- Проблема в работе Samba 4 (переодически виснет), PereresusNeVlezaetBuggy, 06:30 , 15-Май-18 (6)
>>> Прошу помочь решить проблему, указать куда ковырять и т.д. >> Похоже на проблемы с DNS или WINS. Вообще, если WINS вам не >> нужен (а зачем он нужен в домене?), то лучше бы его >> отключить, конечно. >> >>>|[sam-dom]# wbinfo --all-domains >>>|failed to call wbcListTrusts: WBC_ERR_WINBIND_NOT_AVAILABLE > вот такой вывод в моменты наблюдения проблемы. > из этого могу предположить, что все таки винбинд глючит. тем более, что > перезапуск DNS'a проблему не решает Посмотрел исходники Samba — судя по всему, эта проблема возникает при любой ошибке доступа к UNIX-сокету, по которому должен быть доступен winbind. То есть: если сокет не доступен на чтение-запись, или если при чтении-записи происходит ошибка (кроме EAGAIN). А дальше у меня глаза на лоб вылезли:
ret = poll(&pfd, 1, 5000); // <...> if ((ret == 1) && (pfd.revents & (POLLIN|POLLHUP|POLLERR))) { /* Do the Read */ int result = read(fd, (char *)buffer + nread, count - nread); if ((result == -1) || (result == 0)) { /* Read failed. I think the only useful thing we can do here is just return -1 and fail since the transaction has failed half way through. */ winbind_close_sock(ctx); return -1; } nread += result; }
То есть даже если read() (или write(), там похожая ситуация) вернёт -1 + errno=EAGAIN, мы считаем, что жизнь кончена. Да, они используют неблокирующийся ввод-вывод, но работают полностью синхронно — видимо, чтобы выставлять таймауты. Первая мысль была: «как этот код может вообще работать?!». Но, видимо, при небольшом объёме передаваемых или отправляемых данных у них всё помещается в буфер сокета и всё хорошо. Если они всегда передают мало-мало данных, а транзакции в целом включают одну запись и одно чтение, то это даже может работать. Хотя всё равно может какой-нибудь не очевидный лимит вылезти. К сожалению, wbinfo не сообщает нижележащую ошибку, по которой можно было бы понять, что именно обламывается: lstat/socket/connect/read/write. Думаю, вы можете в проблемный момент попробовать с помощью nc/netcat/socat подключиться к сокету winbind (скорее всего, он где-то в /run живёт). Ну или запустить wbinfo под strace. Есть вариант, что winbind не успевает принимать подключения (переполнен backlog, его размер равен 5), почему — сложно сказать, но есть предположение, что они таки превращают где-то неблокирующийся ввод-вывод в обычный синхронный. Можно попробовать поизучать вывод от tevent, конечно... Но лучше было бы, думаю, запустить winbind под strace -f.
- Проблема в работе Samba 4 (переодически виснет), invisibility, 15:18 , 30-Май-18 (7)
тему надо наверное закрывать, т.к. "она умерла", к сожалению спасибо откликнувшимся
- Проблема в работе Samba 4 (переодически виснет), rvs2016, 20:42 , 06-Фев-20 (9)
> тему надо наверное закрывать, т.к. "она умерла", к сожалению > спасибо откликнувшимся Не. Закрывать тему не надо. Она пока ещё "живее всех живых". Я её как раз и нашёл поиском проблемы какого-то непонятного подвисания самбы. На двух машинах у меня крутятся самбы четвёртные - они работают нормально. А на одной машине - самба 3х. На днях начал пропадать доступ к ейным сетевым ресурсов с других станций. Перезапускаю её на машине - service samba restart, а она никак не завершает свою работу во время выполнения этой команды рестарта, пока ручками не завалишь указанный в рестарте процесс, причём не 15-м сигналом (kill -15), а только девятым (kill -9). Почему так происходит, что за зависоны такие странные - это я так и не понял. Ну временно для этой жизни системы наваял скриптик, который спасает эту ситуацию и доступ к ресурсам этой самбы восстанавливается из сети. А в будущих жизнях в более новых версиях самбы, надеюсь, этой проблемы больше не будет.
- Проблема в работе Samba 4 (переодически виснет), invisibility, 13:11 , 23-Июл-18 (8)
Если еще кому-нибудь интересно - закончилось установкой более свежей версии сабмы. сейчас стоит 4.7.8. На протяжении почти 3-х недель боков не наблюдал...
|