[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: alock File Keeps LDAP (slapd) from Starting Up
I don't change these files often, so I'm not speaking from personal
experience, because I'd just slapadd the entire thing again. But...
I think you have to recreate your bdb environment after changing
DB_CONFIG. cd to /var/lib/openldap-bdb and run db_recover (do NOT do this
while OpenLDAP is using the files; if you're using that ldbm config this
might be safe). Then try switching back from ldbm to bdb and see if that
made a difference. If I'm right, there should be info about this in the
Sleepycat docs.
And if you're at all concerned about performance, make sure you're running
OL2.3, because you'll want appropriate workarounds for the Linux 2.6
sched_yield() silliness. I'm not sure that they made it into 2.2.
BTW, if you're concerned over data integrity, NOSYNC is a BAD option. You
run the risk of severe data loss on a hard fail (e.g. power). If you want
speed at all costs, it's a good option.
On Thu, 25 May 2006, Todd Lyons wrote:
> On Thu, May 25, 2006 at 01:56:22PM -0700, Todd Lyons wrote:
>
> >>BDB 4.3 is a known problem release. The suggested BDB release is
> >>4.2.52+patches, and possible BDB 4.4.20+patches. But not BDB 4.3.anything.
> >Ah, that's good to know. I upgraded an old 2.1.30 production server to
> >2.3.21 with bdb 4.3 and the load went through the roof, searches were
> >blindingly slow, etc. I'm rolling back to 2.2.30 right now with db 4.2.
> >We'll see if that fixes my speed problem.
>
> Followup:
> No, it didn't fix the speed problem. When using the ldbm backend, the
> machine sits at load around 0.1 and 2% or 3% cpu usage. I switch to bdb
> backend and my load jumps to 14 or so, searches take seconds to complete
> (of course slows down as the load gets higher). At that point, the
> acceptance of new incoming connects gets degraded enough that it drops
> out of the load balancer until OpenLDAP catches up on things. In short,
> I wasn't able to get it to work. I had to go back to ldbm. I'll keep
> hacking away at it.
>
> Here are my configs:
>
> /etc/openldap/slapd.conf:
> include /etc/openldap/schema/core.schema
> include /etc/openldap/schema/cosine.schema
> include /etc/openldap/schema/inetorgperson.schema
> include /etc/openldap/schema/nis.schema
> include /etc/openldap/schema/sendmail.schema
> include /etc/openldap/schema/courier.schema
> include /etc/ssh/openssh-lpk.schema
>
> pidfile /var/run/openldap/slapd.pid
> argsfile /var/run/openldap/slapd.args
>
> loglevel 0
>
> allow bind_v2
>
> access to attr=userPassword
> by dn="cn=master,dc=ivenue,dc=net" write
> by dn="cn=courier,dc=ivenue,dc=net" read
> by dn="cn=sendmail,dc=ivenue,dc=net" read
> by dn="cn=pam,dc=ivenue,dc=net" read
> by dn="cn=pam,ou=employees,dc=ivenue,dc=net" read
> by self write
> by * auth
> access to *
> by dn="cn=master,dc=ivenue,dc=net" write
> by * read
>
> #######################################################################
> # ldbm database definitions
> #######################################################################
>
> database ldbm
> suffix "dc=ivenue,dc=net"
> rootdn "cn=Manager,dc=ivenue,dc=net"
> rootpw {crypt}blahblahblahblah
> directory /var/lib/openldap-data
> # Indices to maintain
> index objectClass,uid,uidNumber,gidNumber,memberUid eq
> index cn,mail,surname,givenname eq,subinitial
> index sendmailMTAKey,sendmailMTAMapName eq
> index sendmailMTAHost,sendmailMTACluster eq
> index sendmailMTAAliasGrouping,sendmailMTAClassName eq
>
> #database bdb
> #suffix "dc=ivenue,dc=net"
> #rootdn "cn=Manager,dc=ivenue,dc=net"
> #rootpw {crypt}6d1Y8zMFOZQ/6
> #directory /var/lib/openldap-bdb
> ## Tried 10000 too
> #cachesize 50000
> ## Indices to maintain
> #index objectClass eq
> #index uid,uidNumber,gidNumber,memberUid eq
> #index cn,mail,surname,givenname eq,subinitial
> #index sendmailMTAKey,sendmailMTAMapName eq
> #index sendmailMTAHost,sendmailMTACluster eq
> #index sendmailMTAAliasGrouping,sendmailMTAClassName eq
>
> updatedn cn=master,dc=ivenue,dc=net
>
>
> 2.6.12-gentoo-r10 ldap1 openldap # cat /var/lib/openldap-bdb/DB_CONFIG
> #
> # Set the database in memory cache size.
> #
> set_cachesize 0 52428800 0
>
> #
> # Set database flags.
> #
> set_flags DB_TXN_NOSYNC
>
> #
> # Set log values.
> #
> set_lg_regionmax 1048576
> set_lg_max 10485760
> set_lg_bsize 2097152
> set_lg_dir /var/lib/openldap-bdb/log
>
> #
> # Set temporary file creation directory.
> #
> set_tmp_dir /var/tmp
>
>
> All directories exist, owned by ldap:ldap (except for /var/tmp of
> course). I didn't do anything as far as fine tuning the DB_CONFIG,
> don't know where to start with that. I am using values I found in a
> discussion on the ML somewhere.
>
>
> 2.6.12-gentoo-r10 ldap1 openldap # vdir /var/lib/openldap-bdb/
> total 157332
> -rw-r--r-- 1 ldap ldap 435 May 25 13:54 DB_CONFIG
> -rw------- 1 ldap ldap 8192 May 25 13:54 __db.001
> -rw------- 1 ldap ldap 65544192 May 25 13:54 __db.002
> -rw------- 1 ldap ldap 3145728 May 25 13:54 __db.003
> -rw------- 1 ldap ldap 368640 May 25 13:54 __db.004
> -rw------- 1 ldap ldap 24576 May 25 13:54 __db.005
> -rw------- 1 ldap ldap 212992 May 25 14:02 cn.bdb
> -rw------- 1 ldap ldap 17272832 May 25 14:02 dn2id.bdb
> -rw------- 1 ldap ldap 102400 May 25 14:02 gidNumber.bdb
> -rw------- 1 ldap ldap 64372736 May 25 14:02 id2entry.bdb
> drwxr-xr-x 2 ldap ldap 4096 May 25 13:56 log
> -rw------- 1 ldap ldap 5533696 May 25 14:02 mail.bdb
> -rw------- 1 ldap ldap 8192 May 25 14:02 memberUid.bdb
> -rw------- 1 ldap ldap 2387968 May 25 14:02 objectClass.bdb
> -rw------- 1 ldap ldap 8192 May 25 14:02 sendmailMTAAliasGrouping.bdb
> -rw------- 1 ldap ldap 8192 May 25 13:56 sendmailMTAClassName.bdb
> -rw------- 1 ldap ldap 483328 May 25 14:02 sendmailMTACluster.bdb
> -rw------- 1 ldap ldap 8192 May 25 14:02 sendmailMTAHost.bdb
> -rw------- 1 ldap ldap 1273856 May 25 14:02 sendmailMTAKey.bdb
> -rw------- 1 ldap ldap 483328 May 25 14:02 sendmailMTAMapName.bdb
> -rw------- 1 ldap ldap 8192 May 25 13:56 sn.bdb
> -rw------- 1 ldap ldap 520192 May 25 14:02 uid.bdb
> -rw------- 1 ldap ldap 266240 May 25 14:02 uidNumber.bdb
>
>
> Any pointers, urls, or regular ole help would be much appreciated.
> --
> Regards... Todd
> There are four boxes to be used in defense of liberty:
> soap, ballot, jury, and ammo. Please use in that order. --Ed Howdershelt
> Linux kernel 2.6.12-18mdksmp 2 users, load average: 1.43, 1.14, 0.67
>