Samba instabil unter FreeBSD-9.1R

From: Robert Eckardt <rol(at)robert-eckardt.de>
Date: Thu, 24 Jan 2013 00:04:50 +0100

Hallo,

nachdem mein Server lange Zeit unter FreeBSD-8.2 stabil lief, habe ich
zum Jahreswechsel den Upgrade auf 9.1 durchgeführt.

Seitdem ist der Samba-Server instabil, d.h. die Prozesse laufen, aber
smbd dumpt immer wieder core (ohne einen in dem angegeben Verzeichnis
zu hinterlassen) und die Clients (Mac OS X und Win7) bekommen
Fehlermeldungen. Ich hoffe hier kann mir jemand (wenn schon keine
Lösung :-) Tipps zur Diagnose liefern.

Win7 meldet z.B. in Excel einen Fehler der Office-Dateiüberprüfung,
nachdem die Frage nach dem Aktivieren der Makros noch gestellt wurde
(d.h. grundsätzlich kann noch was gelesen werden) und OSX (10.6.8)
wirft den Mount wieder aus. Insbes. das Verhalten von Windows
zeigt, dass irgendwas beim Dateizugriff "schief geht" (endlos viele
"kernel: pid 28947 (smbd), uid 0: exited on signal 6").

Im Zusammenhang mit dem Zugriff auf eine Datei treten Fehlermeldungen
der Art
[2013/01/23 22:53:36.081972, 3] smbd/dir.c:1041(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[*] found ETW/file1.xls fname=file1.xls (file1.xls)
[2013/01/23 22:53:36.082022, 0] ../lib/util/tdb_wrap.c:65(tdb_wrap_log)
  tdb(/var/cache/samba/locking.tdb): tdb_rec_read bad magic 0x42424242 at
offset=134080
[2013/01/23 22:53:36.082090, 3] smbd/dir.c:1041(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[*] found ETW/file2.xls fname=file2.xls (file2.xls)

Eine Überwachung mit smbclient liefert bislang auch keine befriedigenden
Ergebnisse (RC=0):
echo 'get test.txt -' | smbclient '\\gluon\roberte' PaWo
Domain=[ROBERTHOME] OS=[Unix] Server=[Samba 3.6.9]
NT_STATUS_PIPE_BROKEN opening remote file \test.txt

Neu Übersetzen von samba, python und tdb (erst mit, dann ohne Threads),
Löschen der korrupten TDBs und natürlich Neustarten von Samba brachte
keine Verbesserung. Manchmal läuft es einige Tage, dann wieder nur Minuten
stabil. Auch Ausflüge nach Samba 3.7 und Samba 4 brachten keine Besserung.

Verwendet wird derzeit:
FreeBSD gluon 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec 4 09:23:10
UTC 2012 root(at)farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
samba36-3.6.9
libsunacl-1.0
p11-kit-0.14
openldap-client-2.4.33
gmp-5.0.5
nettle-2.5
pth-2.0.7
pkgconf-0.8.9
libffi-3.0.9
libexecinfo-1.1_3
libiconv-1.14
gettext-0.18.1.1
popt-1.16
python27-2.7.3_3
talloc-2.0.7
tdb-1.2.9,1
libgpg-error-1.10
gnutls-2.12.18_1
libgcrypt-1.5.0_1
cups-client-1.5.2_2

==> /var/db/ports/samba36/options <==
_OPTIONS_READ=samba36-3.6.9
_FILE_COMPLETE_OPTIONS_LIST= LDAP ADS CUPS WINBIND SWAT ACL_SUPPORT
AIO_SUPPORT FAM_SUPPORT SYSLOG QUOTAS UTMP PAM_SMBPASS DNSUPDATE AVAHI
PTHREADPOOL EXP_MODULES POPT IPV6 MAX_DEBUG SMBTORTURE
OPTIONS_FILE_SET+=LDAP
OPTIONS_FILE_UNSET+=ADS
OPTIONS_FILE_SET+=CUPS
OPTIONS_FILE_SET+=WINBIND
OPTIONS_FILE_SET+=SWAT
OPTIONS_FILE_SET+=ACL_SUPPORT
OPTIONS_FILE_SET+=AIO_SUPPORT
OPTIONS_FILE_UNSET+=FAM_SUPPORT
OPTIONS_FILE_UNSET+=SYSLOG
OPTIONS_FILE_UNSET+=QUOTAS
OPTIONS_FILE_UNSET+=UTMP
OPTIONS_FILE_UNSET+=PAM_SMBPASS
OPTIONS_FILE_UNSET+=DNSUPDATE
OPTIONS_FILE_UNSET+=AVAHI
OPTIONS_FILE_UNSET+=PTHREADPOOL
OPTIONS_FILE_UNSET+=EXP_MODULES
OPTIONS_FILE_SET+=POPT
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_UNSET+=MAX_DEBUG
OPTIONS_FILE_SET+=SMBTORTURE

==> /var/db/ports/tdb/options <==
_OPTIONS_READ=tdb-1.2.9,1
_FILE_COMPLETE_OPTIONS_LIST= PYTHON
OPTIONS_FILE_SET+=PYTHON

==> /var/db/ports/cups-client/options <==
_OPTIONS_READ=cups-client-1.5.2_2
_FILE_COMPLETE_OPTIONS_LIST=GNUTLS
OPTIONS_FILE_SET+=GNUTLS

==> /var/db/ports/python27/options <==
_OPTIONS_READ=python27-2.7.3_3
_FILE_COMPLETE_OPTIONS_LIST=EXAMPLES FPECTL IPV6 NLS PTH PYMALLOC SEM THREADS
UCS2 UCS4
OPTIONS_FILE_UNSET+=EXAMPLES
OPTIONS_FILE_SET+=FPECTL
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=NLS
OPTIONS_FILE_UNSET+=PTH
OPTIONS_FILE_SET+=PYMALLOC
OPTIONS_FILE_UNSET+=SEM
OPTIONS_FILE_SET+=THREADS
OPTIONS_FILE_UNSET+=UCS2
OPTIONS_FILE_SET+=UCS4

==> /var/db/ports/pth/options <==
_OPTIONS_READ=pth-2.0.7
_FILE_COMPLETE_OPTIONS_LIST= OPTIMIZED_CFLAGS
OPTIONS_FILE_SET+=OPTIMIZED_CFLAGS

==> /var/db/ports/libiconv/options <==
_OPTIONS_READ=libiconv-1.14
_FILE_COMPLETE_OPTIONS_LIST= EXTRA_ENCODINGS
OPTIONS_FILE_SET+=EXTRA_ENCODINGS

==> /var/db/ports/gmp/options <==
_OPTIONS_READ=gmp-5.0.5
_FILE_COMPLETE_OPTIONS_LIST= CPU_OPTS
OPTIONS_FILE_SET+=CPU_OPTS

(Unter 8.2 hatte ich das pkg samba35-3.5.6_1 installiert, unter 9.1
musste ich aus den Ports übersetzen)

Die Shares liegen auf ZFS-Volumes (statische Daten auf 1,5TB Disks
als RaidZ, System und VM-Images auf SSDs als Mirror).

Nachdem ich bei Google ähnliche Probleme seit 2006 immer wieder
beschrieben gefunden habe (häufig mit der "Lösung" TDB löschen und
samba neu starten) weiss ich mir nun keinen Rat mehr und hoffe hier
kann mir jemand einen Tipp zur Diagnose geben. Meine Vermutung geht
in Richtung Locking-Problem der TDBs.
Für die Coredumps habe ich jetzt (endlich :-) kern.sugid_coredump=1
gesetzt. In den Logfiles habe ich bislang nicht viel (außer der o.g.
"bad magic" und den endlosen Versuchen auf Coredumps zu erzeugen)
gefunden.

Grüße,
Robert

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 24 Jan 2013 - 00:04:56 CET

search this site