Discussion:
Samba service i problem autostartu
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
szopen
2023-05-26 14:49:38 UTC
Permalink
Mam zainstalowaną sambę i od jakiegoś czasu okazało się, że serwis smbd
nie startuje samoczynnie, mimo, że jest włączony, znaczy chyba startuje
i pada:

└──$ sudo systemctl status smbd
× smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; preset: enabled)
Active: failed (Result: core-dump) since Fri 2023-05-26 10:44:54 CEST;
5h 52min ago

Gdy go włączę za pomocą start smbd to normalnie działa, aż do kolejnego
restartu komputera.

Gdzie szukać przyczyny? Niby jest wskazówka o core dump, ale nie wiem
czego i gdzie szukać.
--
szopen
Olek
2023-05-27 19:45:41 UTC
Permalink
Post by szopen
Gdzie szukać przyczyny? Niby jest wskazówka o core dump, ale nie wiem
czego i gdzie szukać.
Ja bym sugerował poszukać w logach samby, np. /var/log/samba
czy gdzie tam Twoja dystrybucja jest trzyma.
--
Olek
szopen
2023-05-27 19:57:06 UTC
Permalink
Post by Olek
Post by szopen
Gdzie szukać przyczyny? Niby jest wskazówka o core dump, ale nie wiem
czego i gdzie szukać.
Ja bym sugerował poszukać w logach samby, np. /var/log/samba
czy gdzie tam Twoja dystrybucja jest trzyma.
Niestety nic nie znalazłem bazując na logu, może ktoś pomoże:

[2023/05/27 20:56:14.339699, 0] ../../source3/smbd/server.c:1741(main)
smbd version 4.16.8-Ubuntu started.
Copyright Andrew Tridgell and the Samba Team 1992-2022
[2023/05/27 20:56:14.345364, 0]
../../source3/smbd/server.c:1097(smbd_open_one_socket)
smbd_open_one_socket: open_socket_in failed: Nie można przypisać
żądanego adresu
[2023/05/27 20:56:14.345438, 0]
../../source3/smbd/server.c:1097(smbd_open_one_socket)
smbd_open_one_socket: open_socket_in failed: Nie można przypisać
żądanego adresu
[2023/05/27 20:56:14.345443, 0]
../../source3/smbd/server.c:1264(open_sockets_smbd)
open_sockets_smbd: No sockets available to bind to.
[2023/05/27 20:56:14.345497, 0] ../../lib/util/fault.c:172(smb_panic_log)
===============================================================
[2023/05/27 20:56:14.345501, 0] ../../lib/util/fault.c:173(smb_panic_log)
INTERNAL ERROR: open_sockets_smbd() failed in pid 2759 (4.16.8-Ubuntu)
[2023/05/27 20:56:14.345505, 0] ../../lib/util/fault.c:177(smb_panic_log)
If you are running a recent Samba version, and if you think this problem
is not yet fixed in thelatest versions, please consider reporting this
bug, see https://wiki.samba.org/index.php/Bug_Reporting
[2023/05/27 20:56:14.345507, 0] ../../lib/util/fault.c:182(smb_panic_log)
===============================================================
[2023/05/27 20:56:14.345510, 0] ../../lib/util/fault.c:183(smb_panic_log)
PANIC (pid 2759): open_sockets_smbd() failed in 4.16.8-Ubuntu
[2023/05/27 20:56:14.345694, 0] ../../lib/util/fault.c:287(log_stack_trace)
BACKTRACE: 9 stack frames:
#0 /lib/x86_64-linux-gnu/libsamba-util.so.0(log_stack_trace+0x32)
[0x7f67bf1f1d42]
#1 /lib/x86_64-linux-gnu/libsamba-util.so.0(smb_panic+0xd) [0x7f67bf1f1f9d]
#2 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base-samba4.so.0(+0x11517a)
[0x7f67bf52a17a]
#3 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base-samba4.so.0(+0x115497)
[0x7f67bf52a497]
#4
/usr/lib/x86_64-linux-gnu/samba/libsmbd-shim-samba4.so.0(exit_server+0x18)
[0x7f67bf05e278]
#5 /usr/sbin/smbd(main+0x15ba) [0x5561884cd13a]
#6 /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7f67bec23510]
#7 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f67bec235c9]
#8 /usr/sbin/smbd(_start+0x25) [0x5561884cd8e5]
[2023/05/27 20:56:14.345712, 0] ../../source3/lib/util.c:693(smb_panic_s3)
smb_panic(): calling panic action [/usr/share/samba/panic-action 2759]
[2023/05/27 20:56:14.346326, 0] ../../source3/lib/util.c:700(smb_panic_s3)
smb_panic(): action returned status 0
[2023/05/27 20:56:14.346335, 0] ../../source3/lib/dumpcore.c:317(dump_core)
coredump is handled by helper binary specified at
/proc/sys/kernel/core_pattern
--
szopen
Olek
2023-05-28 12:25:49 UTC
Permalink
Ja tam w tych logach widzę, że coś go boli.
[2023/05/27 20:56:14.339699,  0] ../../source3/smbd/server.c:1741(main)
smbd version 4.16.8-Ubuntu started.
Copyright Andrew Tridgell and the Samba Team 1992-2022
[2023/05/27 20:56:14.345364,  0]
../../source3/smbd/server.c:1097(smbd_open_one_socket)
smbd_open_one_socket: open_socket_in failed: Nie można przypisać
żądanego adresu
[2023/05/27 20:56:14.345438,  0]
../../source3/smbd/server.c:1097(smbd_open_one_socket)
smbd_open_one_socket: open_socket_in failed: Nie można przypisać
żądanego adresu
[2023/05/27 20:56:14.345443,  0]
../../source3/smbd/server.c:1264(open_sockets_smbd)
open_sockets_smbd: No sockets available to bind to.
Podejrzewam, że w smb.conf masz podany adres interfejsu, który nie jest
podniesiony w momencie gdy Samba startuje. Albo adres interfejsu jest
ustawiany dynamicznie, a plik konfiguracyjny oczekuje konkretnego -
nieistniejącego w systemie.
[2023/05/27 20:56:14.345497,  0] ../../lib/util/fault.c:172(smb_panic_log)
===============================================================
[2023/05/27 20:56:14.345501,  0] ../../lib/util/fault.c:173(smb_panic_log)
INTERNAL ERROR: open_sockets_smbd() failed in pid 2759 (4.16.8-Ubuntu)
[2023/05/27 20:56:14.345505,  0] ../../lib/util/fault.c:177(smb_panic_log)
If you are running a recent Samba version, and if you think this problem
is not yet fixed in thelatest versions, please consider reporting this
bug, see https://wiki.samba.org/index.php/Bug_Reporting
[2023/05/27 20:56:14.345507,  0] ../../lib/util/fault.c:182(smb_panic_log)
===============================================================
[2023/05/27 20:56:14.345510,  0] ../../lib/util/fault.c:183(smb_panic_log)
PANIC (pid 2759): open_sockets_smbd() failed in 4.16.8-Ubuntu
[2023/05/27 20:56:14.345694,  0]
../../lib/util/fault.c:287(log_stack_trace)
#0 /lib/x86_64-linux-gnu/libsamba-util.so.0(log_stack_trace+0x32)
[0x7f67bf1f1d42]
#1 /lib/x86_64-linux-gnu/libsamba-util.so.0(smb_panic+0xd) [0x7f67bf1f1f9d]
#2 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base-samba4.so.0(+0x11517a)
[0x7f67bf52a17a]
#3 /usr/lib/x86_64-linux-gnu/samba/libsmbd-base-samba4.so.0(+0x115497)
[0x7f67bf52a497]
#4
/usr/lib/x86_64-linux-gnu/samba/libsmbd-shim-samba4.so.0(exit_server+0x18) [0x7f67bf05e278]
#5 /usr/sbin/smbd(main+0x15ba) [0x5561884cd13a]
#6 /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7f67bec23510]
#7 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f67bec235c9]
#8 /usr/sbin/smbd(_start+0x25) [0x5561884cd8e5]
[2023/05/27 20:56:14.345712,  0] ../../source3/lib/util.c:693(smb_panic_s3)
smb_panic(): calling panic action [/usr/share/samba/panic-action 2759]
[2023/05/27 20:56:14.346326,  0] ../../source3/lib/util.c:700(smb_panic_s3)
smb_panic(): action returned status 0
[2023/05/27 20:56:14.346335,  0]
../../source3/lib/dumpcore.c:317(dump_core)
coredump is handled by helper binary specified at
/proc/sys/kernel/core_pattern
--
Olek
szopen
2023-05-29 13:26:07 UTC
Permalink
Post by Olek
Ja tam w tych logach widzę, że coś go boli.
No, że go boli to też widziałem, nawet że sieciowo (socket), ale nie
miałem pomysłu co jest przyczyną.
Post by Olek
Podejrzewam, że w smb.conf masz podany adres interfejsu, który nie jest
podniesiony w momencie gdy Samba startuje. Albo adres interfejsu jest
ustawiany dynamicznie, a plik konfiguracyjny oczekuje konkretnego -
nieistniejącego w systemie.
I to był dobry trop, zmieniłem w configu:

interfaces = 192.168.1.10/24

na

interfaces = enp8s0

i już po restarcie samba stoi. Czyli chyba rzeczywiście IP nie było, gdy
samba startowała. IP jest stałe, w sensie to samo, ale przydzielane
przez DHCP, a nie wpisane statycznie.

Btw jest sposób by zmusić sambę do poczekania aż interfejs wstanie?
Googluję jeszcze i wygląda na to, że parametr "bind interfaces only",
gdy jest ustawiony na no/false też pomógłby ominąć ten problem, bo
bindowałby do adresu 0.0.0.0 czyli wszystkich interfejsów, a u mnie było
ustawione yes, czyli tylko do tego wymienionego binduje.


Dzięki za pomoc.
--
szopen
marrgol
2023-05-29 21:26:41 UTC
Permalink
Post by szopen
Btw jest sposób by zmusić sambę do poczekania aż interfejs wstanie?
Nie wiem, czy da się do tego zmusić sambę, ale powinno dać się
zmusić systemd żeby poczekał z uruchamianiem serwisów sieciowych
aż interfejs wstanie. A jak, to już pewnie zależy od dystrybucji
i narzędzia używanego do konfiguracji sieci (systemd-networkd,
Network Manager itp.) -- np. u mnie odpowiada za to serwis
o nazwie systemd-networkd-wait-online; chyba widziałem też gdzieś
NetworkManager-wait-online (może nawet u siebie, zanim wywaliłem
NM ;-)).
--
mrg
Dominik Ałaszewski
2023-05-30 05:19:13 UTC
Permalink
Post by szopen
Btw jest sposób by zmusić sambę do poczekania aż interfejs wstanie?
Tajemnicza sprawa, bo wydaje mi się, że chyba defaultowo
samba powinna czekać:

***@pi:/home/dominik# systemctl cat smbd | egrep 'Wants|After'
Wants=network-online.target
After=network.target network-online.target nmbd.service winbind.service
***@pi:/home/dominik# systemctl cat nmbd | egrep 'Wants|After'
Wants=network-online.target
After=network.target network-online.target

'network-online.target is a target that actively waits until the
nework is "up", where the definition of "up" is defined by the
network management software. Usually it indicates a configured,
routable IP address of some kind.'

https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
--
Dominik Ałaszewski (via raspbianowy slrn)
"W życiu piękne są tylko chwile…" (Ryszard Riedel)
Wyrażam wyłącznie prywatne poglądy zgodnie z Art. 54 Konstytucji RP
Pisząc na priv zmień domenę na gmail.
Loading...