Hallo, habe vor kurzem ein ungewöhnliches Verhalten: root@s2 /etc # newaliases postalias: fatal: error writing /etc/aliases.db: Unknown error 4294936322 die Datei "/etc/aliases.db" ist ein Link auf die Datenbank in einem OCFS2-Dateisystem (auf einer iSCSI-Freigabe) und hat bisher normal funktioniert: lrwxrwxrwx 1 root root 24 Apr 23 15:12 aliases.db -> /lw/ocfs1/div/aliases.db die Datei ist dann verändert und hat eine zufälligen Inhalt (z.B. HTML- oder Mime-Teile) und eine falsche Größe. # l /lw/ocfs1/div/aliases.db -rw-r--r-- 1 root root 49152 Apr 23 15:13 /lw/ocfs1/div/aliases.db Löscht man den Link, wird die Datei von "newaliases" ganz normal angelegt. Normalerweise sieht die Datei dann so aus: -rw-r--r-- 1 root root 86016 Apr 23 15:22 aliases.db Kopiert man dann diese Datei (aliases.db) in das Verzeichnis "/lw/ocfs1/div/" und setzt den Link dorthin, tritt der Fehler bei einem neuen "newaliases" wieder auf. Voll ist das Dateisystem nicht und auch die Rechte des Verzeichnisses und der Datei passen. Die Datei wird zwar verändert aber immer mit zufälligem Inhalt (vermutlich irgendein Speicherbereich auf der Festplatte) gefüllt und der Befehl mit diesem Fehler abgeschlossen. Der Fehler tritt auch z.B. bei folgendem Befehl auf: postmap access Ansonsten ist aber das Share ganz normal beschreibbar und hat auch verläßlichen Inhalt (habe ich stichprobenartig geprüft). zum System: Opensuse 10.2, Kernel 2.6.20.4 Was könnte da schuld sein? Ich habe mal probehalber die Befehle über ein "strace" laufen lassen und die Ausgaben in eine Datei umgeleitet und verglichen. Wirklich unterschiedlich ist nur der letzte Block. Ich kenne mich aber leider nicht gut mit "strace" aus. Hier ist die Ausgabe (letzter Block): 347,367c347,358 < pread64(7, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 4096) = 4096 < read(4, "", 4096) = 0 < pread64(7, "\0\0\0\0\1\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\2\0"..., 4096, 8192) = 4096 < pwrite64(7, "\0\0\0\0\1\0\0\0\0\0\0\0a\25\6\0\10\0\0\0\0\20\0\0\0\10"..., 4096, 0) = 4096 < pwrite64(7, "\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\2\0\346\17\0\2"..., 4096, 4096) = 4096 < pwrite64(7, "\0\0\0\0\1\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\2\0\344\17\0\2"..., 4096, 8192) = 4096 < fdatasync(7) = 0 < fdatasync(7) = 0 < close(6) = 0 < close(7) = 0 < stat64("access.db", {st_mode=S_IFREG|0644, st_size=12288, ...}) = 0 < open("access.db", O_RDWR|O_LARGEFILE) = 6 < fcntl64(6, F_SETFD, FD_CLOEXEC) = 0 < fdatasync(6) = 0 < close(6) = 0 < munmap(0xb764e000, 4472832) = 0 < close(5) = 0 < rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 < close(4) = 0 < exit_group(0) = ? < Process 10805 detached ---
pread64(7, "0:b:6b:4c:ce:b7\t10.10.94.51\t1175"..., 16384, 16384) = 16384 write(2, "postmap: fatal: error writing ac"..., 66postmap: fatal: error writing access.db: Unknown error 4294936322 ) = 66 time(NULL) = 1177327827 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=801, ...}) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=801, ...}) = 0 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=801, ...}) = 0 send(3, "<18>Apr 23 13:30:27 postfix/post"..., 100, MSG_NOSIGNAL) = 100 rt_sigprocmask(SIG_BLOCK, [CHLD], ~[KILL STOP RTMIN RT_1], 8) = 0 nanosleep({1, 0}, {1, 0}) = 0 exit_group(1) = ? Process 10850 detached
Danke für Eure Hilfe im voraus, Günther -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Günther Zisham wrote:
Hallo,
habe vor kurzem ein ungewöhnliches Verhalten:
root@s2 /etc # newaliases postalias: fatal: error writing /etc/aliases.db: Unknown error 4294936322
die Datei "/etc/aliases.db" ist ein Link auf die Datenbank in einem OCFS2-Dateisystem (auf einer iSCSI-Freigabe) und hat bisher normal funktioniert: lrwxrwxrwx 1 root root 24 Apr 23 15:12 aliases.db -> /lw/ocfs1/div/aliases.db
die Datei ist dann verändert und hat eine zufälligen Inhalt (z.B. HTML- oder Mime-Teile) und eine falsche Größe. # l /lw/ocfs1/div/aliases.db -rw-r--r-- 1 root root 49152 Apr 23 15:13 /lw/ocfs1/div/aliases.db
Löscht man den Link, wird die Datei von "newaliases" ganz normal angelegt. Normalerweise sieht die Datei dann so aus: -rw-r--r-- 1 root root 86016 Apr 23 15:22 aliases.db
Kopiert man dann diese Datei (aliases.db) in das Verzeichnis "/lw/ocfs1/div/" und setzt den Link dorthin, tritt der Fehler bei einem neuen "newaliases" wieder auf.
postmap erwartet eine lokale Datei als Datenbank, es folgt dem Link nicht. Das einzige, was du tun könntest, ist die Freigabe lokal zu mounten und dann die Datenbank ohne Link direkt dort hinlegen und den Hinweis auf die Aliasdatenbank in der Postfixkonfiguration anpassen. Die übliche Methode ist es jedoch, die Aliase/Configs vom Master auf die Slaveserver zu replizieren und dort dann per make die notwendigen Hash-Datenbanken und Konfigurationsupdates erledigen zu lassen. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Günther Zisham
-
Sandy Drobic