Synologys Diskstation, nmbd und 100 Prozent CPU-Auslastung

Gestern musste ich feststellen, dass meine Synology Diskstation seit ein paar Wochen eine extrem hohe CPU-Auslastung und Linux Load Average aufwies. Cacti ist für eine Analyse sehr nützlich, da die Werte historisiert und in Graphen ausgegeben werden können:

Wieso sich diese Änderung urplötzlich ergeben hat, konnte ich bis jetzt nicht eruieren.

Über SSH und mit Hilfe von top stellte ich rasch fest, dass der Prozess /usr/bin/nmbd -D permanent alle verfügbare CPU-Kapazität auffrass. Was zum Teufel?

Ein Blick in /var/log/samba/log.nmbd, welches mehrere MBs umfasst, zeigte die Ursache des Übels: Die Log-Datei war voller Einträge in der folgenden Form, und mehrmals pro Sekunde kamen neue identische Einträge dazu:

...
../source3/nmbd/nmbd_incomingrequests.c:213: [2016/05/15 01:00:37.670697, all 0, pid=18689] process_name_registration_request
process_name_registration_request: unicast name registration request received for name XEROX PHASER 32<20> from IP 10.1.2.3 on subnet UNICAST_SUBNET. Error - should be sent to WINS server
...

Die NetBIOS-Komponente in unserem Xerox Phaser 3250DN muss von wahrlichen Profis programmiert worden sein …

Sobald ich den Drucker ausschaltete, beruhigte sich die Diskstation sofort und die CPU-Auslastung wie auch die Load Average sanken auf den langfristig tiefen Wert.

Das Problem löste ich mit folgenden Kniffen:

Samba installieren und als WINS-Server konfigurieren

Auf einem Intel NUC, der mir hier als Linux-Server dient (Beispiel-IP: 10.1.2.4), installierte ich Samba und konfigurierte es folgendermassen, damit Samba sich neu als WINS-Server im Netzwerk anpreist:

/etc/smb.conf

...
[global]
netbios name = SERVERNAME
server string = Samba %v on (%L)
workgroup = WORKGROUP
wins support = yes
dns proxy = no
local master = yes
os level = 34
preferred master = yes
...

Quelle: Chapter 7. Name Resolution and Browsing sowie Using Samba: 4.4 Server Configuration

WINS-Server mit DHCP bekanntgeben

/etc/dhcp/dhcpd.conf

...
option netbios-name-servers 10.1.2.4;
...

Anschliessend musste der DHCP-Server noch frisch gestartet werden:

# systemctl stop isc-dhcp-server
# systemctl start isc-dhcp-server

Die Desktop-Clients erhielten den neuen WINS-Server mittels eines „Renew DHCP Lease“ frisch über; beim Drucker führte ich einen Kaltstart durch, um auf Nummer sicher zu gehen.

WINS-Server auf Synology DiskStation einstellen

Synology DiskStation Admin-Oberfläche im Browser öffnen

Control Panel

File Services

Advanced Settings

WINS Server: 10.1.2.4