OpenLDAP サーバの起動障害

| No Comments | No TrackBacks

ディスク障害から fsck してなんとか生き返った(ファイルシステムの整合性をなんとかとったために一部のファイルが消えている可能性のある) 検証用 OpenLDAP システム上で、
slapd が起動しなくなった。

slapd を起動しようとすると messages にこのようなログを残して起動に失敗。

Nov  9 11:04:30 kit slapd[31538]: daemon: socket() failed errno=97 (Address family not supported by protocol)
Nov  9 11:04:30 kit slapd[31538]: bdb_initialize: Sleepycat Software: Berkeley DB 4.1.25: (August 21, 2003)
Nov  9 11:04:30 kit slapd[31538]: error loading ucdata (error -127)
Nov  9 11:04:30 kit slapd[31538]: slapd stopped.
Nov  9 11:04:30 kit slapd[31538]: connections_destroy: nothing to destroy.

なんとなく
socket() システムコールのエラーメッセージに目が行きつつ、 google すると、
とりあえず、 debug level をあげてログをみろ、とのこと。
debug level は 255 にしろ、257 にしろ、6 にしろ、など人それぞれ。

slapd -u ldap -d 256 やら
-d 257 やら -d 6 やらいろいろ試すものの、あんまり変わりなさそう。

slapd.conf(5) より。

                      1      trace function calls
                      2      debug packet handling
                      4      heavy trace debugging
                      8      connection management
                      16     print out packets sent and received
                      32     search filter processing
                      64     configuration file processing
                      128    access control list processing
                      256    stats log connections/operations/results
                      512    stats log entries sent
                      1024   print communication with shell backends
                      2048   entry parsing

では、strace してみる。

open("/usr/local/etc/openldap/slapd.conf", O_RDONLY) = 7
fstat64(7, {st_mode=S_IFREG|0640, st_size=3799, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7189000
read(7, "# $OpenLDAP: pkg/ldap/servers/sl"..., 4096) = 3799
open("/usr/local/etc/openldap/schema/core.schema", O_RDONLY) = 8
fstat64(8, {st_mode=S_IFREG|0444, st_size=17290, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7188000
read(8, "# $OpenLDAP: pkg/ldap/servers/sl"..., 4096) = 4096
read(8, "type ( 2.5.4.22 NAME \'teletexTer"..., 4096) = 4096
read(8, "\'RFC2256: enhanced search guide\'"..., 4096) = 4096
read(8, "\t\tdestinationIndicator $ preferr"..., 4096) = 4096
read(8, "1274/2247: domain component\'\n\tEQ"..., 4096) = 906
read(8, "", 4096)                       = 0
close(8)                                = 0
munmap(0xb7188000, 4096)                = 0
open("/usr/local/share/openldap/ucdata/ctype.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/openldap/ucdata/case.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/openldap/ucdata/decomp.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/openldap/ucdata/cmbcl.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/openldap/ucdata/num.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/openldap/ucdata/comp.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/share/openldap/ucdata/kdecomp.dat", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "error loading ucdata (error -127"..., 34error loading ucdata (error -127)) = 34
time([1131501870])                      = 1131501870
getpid()                                = 31538
rt_sigaction(SIGPIPE, {0xb7400180, [], SA_RESTORER, 0xb734fc08}, {SIG_DFL}, 8) = 0
send(3, "<167>Nov  9 11:04:30 slapd[31538"..., 69, 0) = 69
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
write(2, "slapd stopped.\n", 15slapd stopped.)        = 15
time([1131501870])                      = 1131501870
getpid()                                = 31538
rt_sigaction(SIGPIPE, {0xb7400180, [], SA_RESTORER, 0xb734fc08}, {SIG_DFL}, 8) = 0
send(3, "<167>Nov  9 11:04:30 slapd[31538"..., 50, 0) = 50
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
close(3)                                = 0
write(2, "connections_destroy: nothing to "..., 41connections_destroy: nothing to destroy.) = 41
time([1131501870])                      = 1131501870
getpid()                                = 31538
rt_sigaction(SIGPIPE, {0xb7400180, [], SA_RESTORER, 0xb734fc08}, {SIG_DFL}, 8) = 0
socket(PF_UNIX, SOCK_DGRAM, 0)          = 3
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
connect(3, {sa_family=AF_UNIX, path="/dev/log"}, 16) = 0
send(3, "<167>Nov  9 11:04:30 slapd[31538"..., 76, 0) = 76
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
shutdown(5, 2 /* send and receive */)   = -1 ENOTSOCK (Socket operation on non-socket)
close(5)                                = 0
shutdown(4, 2 /* send and receive */)   = -1 ENOTSOCK (Socket operation on non-socket)
close(4)                                = 0
exit_group(1)                           = ?
[root@kit ldap]#

どうやら問題は
error loading ucdata (error -127)
こっちだったらしい。

わるい環境。

[root@kit ldap]# ls /usr/local/share/
info  man
[root@kit ldap]#

よい環境。

[root@kat share]# ls /usr/local/share/
info  man  openldap
[root@kat share]# ls -F openldap/
ucdata/
[root@kat share]# ls -F openldap/ucdata/
case.dat  cmbcl.dat  comp.dat  ctype.dat  decomp.dat  kdecomp.dat  num.dat
[root@kat share]#

ちゃんとした環境から tar でたばねて ucdata をもってくる。

でも、まだ終わらないらしい。

Nov  9 11:20:42 kit slapd[31684]: could not open config file "/usr/local/etc/openldap/schema/courier.schema": No such file or directory (2)
[root@kit share]# ls -F /usr/local/etc/openldap/schema/
README                 courier.schema@               nis.schema
corba.schema           inetorgperson.schema          nis.schema.default
corba.schema.default   inetorgperson.schema.default  openldap.schema
core.schema            java.schema                   openldap.schema.default
core.schema.default    java.schema.default           qmail.schema
cosine.schema          misc.schema
cosine.schema.default  misc.schema.default
[root@kit share]# ls -l /usr/local/etc/openldap/schema/courier.schema
lrwxrwxrwx    1 root     root           35  5月 13 21:39 /usr/local/etc/openldap/schema/courier.schema -> /etc/openldap/schema/courier.schema
[root@kit share]#

ucdata と同じように正常な環境から scp でもってくる。

[root@kat share]# scp /etc/openldap/schema/courier.schema kit:/etc/openldap/schema/
courier.schema                                100% 2783   264.5KB/s   00:00
[root@kat share]#

で無事、解決。

No TrackBacks

TrackBack URL: http://www.grid5.net/mt/mt-trackback.cgi/331

Leave a comment

About this Entry

This page contains a single entry by dxy published on 2005年11月 9日 11:35.

TextMate was the previous entry in this blog.

ハンギングフォルダ is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 5.01