Home > NetApp > SnapDrive: SDU daemon failed

SnapDrive: SDU daemon failed

Oracle Datenbank NetApp Logo

Snapdrive Fehler: Status call to SDU daemon failed

NetApp SnapDrive Fehlermeldung unter Linux 64Bit: Status call to SDU daemon failed

Nach der Installation und Konfiguration von SnapDrive war es möglich mittels

snapdrive config list
sowie
snapdrive config list -mgmtpath

die Konfiguration auszugeben.

Auch die Verifzierung der Rechte auf den Filern war kein Problem:

snapdrive config access list toaster

Jeder andere Befehl führte aber zu folgendem Fehler

Status call to SDU daemon failed

Fehlersuche

Bei der Suche in der NetApp Knowledge Base fanden wir den Artikel SnapDrive for UNIX error message: Status failed with error 127 in dem dieser Fehler beschrieben ist. Leider blieben die dort beschrieben Lösungen ohne Erfolg.

Lösungsvorschläge laut NetApp KB Artikel

1) Verifizieren, dass der von SnapDrive genutzte Port nicht belegt ist.

grep contact-http-port-sdu-daemon snapdrive.conf
contact-http-port-sdu-daemon=4094 # HTTP port on which sdu daemon will bind
lsof -i :4094 ## Port aus Snapdrive.conf

Gegebenen Falles den aufgelisteten Prozess killen oder einen andern Port wählen und den Snapdrive Deamon neu starten:

snapdrived restart

2) Unter (RedHat) Linux kann es folgende Fehlermeldungen im sd-trace.log geben

File descriptor 3 (/var/log/sd-daemon-trace.log) leaked on lvm invocation. Parent PID 24938: /opt/NetApp/snapdrive/bin/snapd
File descriptor 4 (/opt/NetApp/snapdrive/.snapdrived.pid) leaked on lvm invocation. Parent PID 24938: /opt/NetApp/snapdrive/bin/snapd
File descriptor 5 (/opt/NetApp/snapdrive/.snapdrived.pid) leaked on lvm invocation. Parent PID 24938: /opt/NetApp/snapdrive/bin/snapd
File descriptor 6 (/opt/NetApp/snapdrive/.snapdrived.pid) leaked on lvm invocation. Parent PID 24938: /opt/NetApp/snapdrive/bin/snapd
File descriptor 8 (/var/log/sd-trace.log) leaked on lvm invocation. Parent PID 24938: /opt/NetApp/snapdrive/bin/snapd

In diesem Fall muss man dafür sorgen, dass im Environment von root (zB: via /etc/profile) folgendes eingetragen wir:

export LVM_SUPPRESS_FD_WARNINGS=1

Und den Snapdrive Deamon neu starten:

snapdrived restart

3) Bug in SnapDrive für Unix 4.2

Auch ein BUG im SnapDrive kann ein Grund für das Problem sein.

Der Workaround ist folgende Zeile im snapdrive.conf einzutragen:

autosupport-enabled=off

Und den Snapdrive Deamon neu starten:

snapdrived restart

Weitere Analyse

Wie gesagt führte keiner dieser Hinweise zu einer Lösung unseres Problems.

Im sd-trace.log habe ich folgendes gefunden:

15:41:13 10/04/11 [f68feb90]v,10,0,Job[Bzxl8vU6rY]::status: Entered
15:41:13 10/04/11 [f68feb90]v,10,0,Job[Bzxl8vU6rY]::status: soap_call__SDUCLI__SDUCommandStatus rcvd by child job Bzxl8vU6rY
Job[Bzxl8vU6rY]::status: statusCode: 1 errorCode: 10 message:
error message:
15:41:13 10/04/11 [f68feb90]v,10,0,Job[Bzxl8vU6rY]::status: Exit job
15:41:13 10/04/11 [f68feb90]v,10,0,snapdrived:_SDUCLI__SDUCommandStatus: exiterrorcode:0 ,statuscode: 1 ,output:
15:41:13 10/04/11 [f68feb90]v,10,0,Job[Bzxl8vU6rY]::child_process_soap_request exit
15:41:13 10/04/11 [f7ee8b90]v,10,0,Job[Bzxl8vU6rY::status: got user context
Job[Bzxl8vU6rY]::status: statusCode: 1 errorCode: 10 message:
15:41:13 10/04/11 [f7ee8b90]v,10,0,Job[Bzxl8vU6rY]::status: Exit job
...
15:41:14 10/04/11 [f7ee8b90]v,10,0,Job[Bzxl8vU6rY::status: got user context
15:41:14 10/04/11 [f7ee8b90]v,10,0,Job[Bzxl8vU6rY]::status: soap callsoap_call__SDUCLI__SDUCommandStatus failedwith error 24 111
15:41:14 10/04/11 [f7ee8b90]v,10,0,snapdrived:_SDUCLI__SDUCommandStatus: exiterrorcode:24 ,statuscode: 3 ,output:
15:41:14 10/04/11 [f7ee8b90]v,10,1,snapdrived:process_request(): exit

Leider ist dies nicht sehr aufschlussreich - der Fehler hinterläßt den snapdrived mit [defunct].

Die Lösung

Durch einen Tipp von einem Kollegen bei NetApp haben wir die Namensauflösung verifiziert. Dabei sind wir darauf gestossen, dass beim Einrichten des Filers der Hostnamen falsche geschrieben wurde (im /etc/hosts und DNS war er korrekt geschrieben). Kaum hatten wir den Fehler korrigiert funktioniert Snapdrive sofort korrekt.

Solange man mit Snapdrive nur die Konfiguration (inkl. User Einstellungen am Filer) prüft, wird der Hostname nicht zur Evaluierung verwendet. Alle anderen Befehle übermitteln den Filer Namen - und wenn dieser nicht korrekt ist, führt dies dazu, dass der Snapdrived einen Fehler bekommt.