[Решено] Виснет Samba

неожиданно на CDS начинает рости la (видел и 300) при этом /etc/init.d/samba stop убивает только часть процессов, оставшиеся процессы не получается прибить даже killall -9 smbd на rebbot машина не реагирует

в логах ничего критичного пока не нашел

[2010/12/06 12:21:03,  1] smbd/service.c:1240(close_cnum)
  host-28 (192.168.1.28) closed connection to service netlogon
[2010/12/06 12:21:10,  1] smbd/service.c:1063(make_connection_snum)
  host-28 (192.168.1.28) connect to service saveleva_ya initially as user saveleva_ya (uid=1017, gid=1013) (pid 5265)
[2010/12/06 12:21:12,  1] smbd/service.c:1063(make_connection_snum)
  host-28 (192.168.1.28) connect to service netlogon initially as user saveleva_ya (uid=1017, gid=1013) (pid 5265)
[2010/12/06 12:21:15,  1] smbd/service.c:1063(make_connection_snum)
  host-28 (192.168.1.28) connect to service share initially as user saveleva_ya (uid=1017, gid=1013) (pid 5265)
[2010/12/06 12:23:30,  0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/12/06 12:23:30,  0] lib/util_sock.c:1491(get_peer_addr_internal)
  getpeername failed. Error was Конечная точка передачи не подсоединена
  read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2010/12/06 12:23:30,  1] smbd/service.c:1240(close_cnum)
  host-40 (192.168.1.40) closed connection to service share
[2010/12/06 12:23:37,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5363)
[2010/12/06 12:23:57,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service rostov
[2010/12/06 12:23:57,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5378)
[2010/12/06 12:23:58,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service share initially as user rostov (uid=1003, gid=1001) (pid 5378)
[2010/12/06 12:24:15,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service share
[2010/12/06 12:24:15,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service rostov
[2010/12/06 12:24:15,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5382)
[2010/12/06 12:24:36,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service rostov
[2010/12/06 12:24:36,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5385)
[2010/12/06 12:24:58,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service rostov
[2010/12/06 12:24:58,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5390)
[2010/12/06 12:25:19,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service rostov
[2010/12/06 12:25:19,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5891)
[2010/12/06 12:25:19,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service share initially as user rostov (uid=1003, gid=1001) (pid 5891)
[2010/12/06 12:25:36,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service share
[2010/12/06 12:25:36,  1] smbd/service.c:1240(close_cnum)
  192.168.1.112 (192.168.1.112) closed connection to service rostov
[2010/12/06 12:25:36,  1] smbd/service.c:1063(make_connection_snum)
  192.168.1.112 (192.168.1.112) connect to service rostov initially as user rostov (uid=1003, gid=1001) (pid 5893)
[2010/12/06 12:25:54,  0] lib/util_sock.c:539(read_fd_with_timeout)
[2010/12/06 12:25:54,  0] lib/util_sock.c:1491(get_peer_addr_internal)
  getpeername failed. Error was Конечная точка передачи не подсоединена
  read_fd_with_timeout: client 0.0.0.0 read error = Соединение сброшено другой стороной.
[2010/12/06 12:25:54,  1] smbd/service.c:1063(make_connection_snum)

Проверьте на стабильность компьютер. Возможно проблемы в железе.

процессы самбы находятся в состоянии D Uninterruptible sleep (usually IO)

вопрос, что может такое вызвать? система собрана на софтовом рейде 5го уровня, после каждого ребута происходит ребилд, поэтому предполагаю, что с дисками все “ок”

несмотря на la 68 все на серваке кроме самбы все работает вроде нормально

ps uax|grep ' D '
root         2  0.0  0.0      0     0 ?        D    Dec06   0:01 [kthreadd]
root        15  0.3  0.0      0     0 ?        D    Dec06   6:52 [async/mgr]
root      7733  0.0  0.0      0     0 ?        D    22:45   0:00 [flush-9:1]
client   12072  0.0  0.1 158120  3620 ?        D    22:58   0:00 /usr/sbin/smbd -D
client   12077  0.0  0.1 158120  3616 ?        D    22:59   0:00 /usr/sbin/smbd -D
client   12080  0.0  0.1 158120  3612 ?        D    22:59   0:00 /usr/sbin/smbd -D
client   12081  0.0  0.1 158120  3616 ?        D    22:59   0:00 /usr/sbin/smbd -D
client   12425  0.0  0.1 158120  3612 ?        D    23:00   0:00 /usr/sbin/smbd -D
client   12427  0.0  0.1 158120  3616 ?        D    23:00   0:00 /usr/sbin/smbd -D
client   12429  0.0  0.1 158120  3640 ?        D    23:01   0:00 /usr/sbin/smbd -D
client   12432  0.0  0.1 158120  3612 ?        D    23:01   0:00 /usr/sbin/smbd -D
client   12433  0.0  0.1 158120  3632 ?        D    23:01   0:00 /usr/sbin/smbd -D
client   12438  0.0  0.1 158120  3620 ?        D    23:02   0:00 /usr/sbin/smbd -D
client   12440  0.0  0.1 158120  3628 ?        D    23:02   0:00 /usr/sbin/smbd -D
client   12442  0.0  0.1 158120  3612 ?        D    23:02   0:00 /usr/sbin/smbd -D
client   12444  0.0  0.1 158120  3628 ?        D    23:03   0:00 /usr/sbin/smbd -D

список несколько укрочен

в netstat 204 строк подобных:

tcp        1      0 localhost:59094         localhost:ldap          CLOSE_WAIT 
tcp        1      0 localhost:51322         localhost:ldap          CLOSE_WAIT 
tcp        1      0 localhost:34093         localhost:ldap          CLOSE_WAIT 
tcp        1      0 localhost:40822         localhost:ldap          CLOSE_WAIT 
tcp        1      0 cds.calcul:microsoft-ds host-112.calculat:32911 CLOSE_WAIT 
tcp        1      0 localhost:59097         localhost:ldap          CLOSE_WAIT 
tcp        1      0 cds.calcul:microsoft-ds host-112.calculat:47925 CLOSE_WAIT 
tcp        1      0 localhost:34105         localhost:ldap          CLOSE_WAIT 
tcp        1      0 localhost:59092         localhost:ldap          CLOSE_WAIT 
tcp        1      0 cds.calcul:microsoft-ds host-112.calculat:47924 CLOSE_WAIT 
tcp        1      0 localhost:34111         localhost:ldap          CLOSE_WAIT 
tcp        1      0 localhost:58707         localhost:ldap          CLOSE_WAIT 
tcp        1      0 localhost:34121         localhost:ldap          CLOSE_WAIT

/etc/init.d/slapd restart
 * Stopping ldap-server ...                                                                                                                                    [ !! ]
 * ERROR: slapd failed to stop

вспомнил тут

echo b > /proc/sysrq-trigger

и машина ребутнулась… хоть до утра не будет валяться, да к обеду ребилд завершится

Возможно openldap открывает больше файлов чем позволено лимитом.
Попробуйте такой вариант.
Создайте файл

/etc/security/limits.d/CDS.conf

Или любой другой в этой директории с расширением .conf
Пропишите в файле

 # need for openldap
* - nofile 10240

Перезагрузите сервер.

такой файл с такими же параметрами присутствует, так что:

cds ~ # ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15980
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 10240
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15980
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Возможно проблема с софтовым raid массивом.
Попробуйте протестировать с реальным диском или raid контроллером.

пока нет возможности тестировать без софтового рейда, но установил в /etc/sysctl.conf

net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_keepalive_time=450
net.ipv4.tcp_keepalive_intvl=10
net.ipv4.tcp_keepalive_probes=5

пока вроде работает нормально

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