Index: debian/univention-ldap-server.univention-config-registry-variables =================================================================== --- debian/univention-ldap-server.univention-config-registry-variables (Revision 50712) +++ debian/univention-ldap-server.univention-config-registry-variables (Arbeitskopie) @@ -36,6 +36,12 @@ Type=int Categories=service-ldap +[ldap/tool-threads] +Description[de]=Die Anzahl der verwendeten Tool-Threads (slapadd, slapindex). +Description[en]=The maximum number of threads to use in tool mode (slapadd, slapindex). +Type=int +Categories=service-ldap + [ldap/maxopenfiles] Description[de]=Die maximale Anzahl an Dateien, die der LDAP-Server öffnen kann. Wenn der Wert angepasst wird, müssen ggf. auch Unix-Prozesslimits angepasst werden. Description[en]=The maximum of files the LDAP server can open. If the value is adapted, Unix process limits might need to be expanded as well. @@ -149,3 +155,15 @@ Description[en]=This variable is used to configure a time period in seconds after which the LDAP connection is closed on the server side. When the value is set to 0, no expiry period is in use. Type=int Categories=service-ldap + +[ldap/database/mdb/maxsize] +Description[de]=Die maximale Größe der Datenbank in Bytes. +Description[en]=The maximum size of the database in bytes. +Type=int +Categories=service-ldap + +[ldap/database/mdb/checkpoint] +Description[de]=Diese Variable konfiguriert die Häufigkeit mit der die Daten aus dem 'Transaction Log' in die Datenbank geschrieben werden. Änderungen sind nur in Ausnahmefällen nötig und sollten sorgfältig getestet werden. Die Syntax ist unter beschrieben. +Description[en]=This variable configures the frequency for checkpointing the database transaction log upon updating the database. Changes are only needed in exceptional cases and should be tested carefully. The syntax is documented at . +Type=str +Categories=service-ldap Index: debian/univention-ldap-server.postinst =================================================================== --- debian/univention-ldap-server.postinst (Revision 50712) +++ debian/univention-ldap-server.postinst (Arbeitskopie) @@ -93,6 +93,7 @@ ldap/idletimeout?360 \ ldap/index/autorebuild?yes \ ldap/threads?16 \ + ldap/tool-threads?1 \ ldap/acl/user/password/change?no \ ldap/acl/slavepdc?yes \ ldap/acl/nestedgroups?yes \ Index: debian/univention-ldap-server.univention-config-registry =================================================================== --- debian/univention-ldap-server.univention-config-registry (Revision 50712) +++ debian/univention-ldap-server.univention-config-registry (Arbeitskopie) @@ -29,6 +29,10 @@ Variables: ldap/translogfile Variables: ldap/timeout Variables: ldap/online/master +Variables: ldap/threads +Variables: ldap/tool-threads +Variables: ldap/database/mdb/maxsize +Variables: ldap/database/mdb/checkpoint Type: subfile Multifile: etc/ldap/slapd.conf @@ -59,3 +63,7 @@ Variables: ldap/online/master Variables: ldap/translogfile Variables: ldap/k5pwd +Variables: ldap/threads +Variables: ldap/tool-threads +Variables: ldap/database/mdb/maxsize +Variables: ldap/database/mdb/checkpoint Index: conffiles/etc/ldap/slapd.conf.d/40univention-ldap-server_database =================================================================== --- conffiles/etc/ldap/slapd.conf.d/40univention-ldap-server_database (Revision 50712) +++ conffiles/etc/ldap/slapd.conf.d/40univention-ldap-server_database (Arbeitskopie) @@ -19,11 +19,16 @@ print "overlay\tk5pwd" @!@ +@!@ +if configRegistry['ldap/database/type'] == "mdb": + print "maxsize\t%s" % configRegistry.get("ldap/database/mdb/maxsize", "75161927680") # 70GB default (sparse!) +else: + print "cachesize\t%s" % configRegistry.get("ldap/cachesize") + print "idlcachesize\t%s" % configRegistry.get("ldap/idlcachesize") - -cachesize @%@ldap/cachesize@%@ -idlcachesize @%@ldap/idlcachesize@%@ +@!@ threads @%@ldap/threads@%@ +tool-threads @%@ldap/tool-threads@%@ @!@ if configRegistry['ldap/database/type'] == "bdb": @@ -32,6 +37,12 @@ else: print 'checkpoint 1024 30' +if configRegistry['ldap/database/type'] == "mdb": + if configRegistry.has_key('ldap/database/mdb/checkpoint') and configRegistry['ldap/database/mdb/checkpoint']: + print 'checkpoint %s'%configRegistry['ldap/database/mdb/checkpoint'] + else: + print 'checkpoint 1024 30' + index_attrs={} indextypes=['pres','eq','sub','approx'] Index: 01univention-ldap-server-init.inst =================================================================== --- 01univention-ldap-server-init.inst (Revision 50712) +++ 01univention-ldap-server-init.inst (Arbeitskopie) @@ -55,8 +55,11 @@ fi # initialize ldap - -files=$(find /var/lib/univention-ldap/ldap/ -name "id2entry.*" -type f) +database_name="id2entry" +if [ "mdb" = "$ldap_database_type" ]; then + database_name="data" +fi +files=$(find /var/lib/univention-ldap/ldap/ -name "$database_name.*" -type f) if [ -z "$files" ] ; then killall slapd >/dev/null 2>&1 killall slapd >/dev/null 2>&1 @@ -68,7 +71,9 @@ mv "/etc/ldap/slapd.d/cn=config.ldif" "/etc/ldap/slapd.d/cn=config.ldif.DISABLED" fi - univention-config-registry commit /var/lib/univention-ldap/ldap/DB_CONFIG + if [ ! "mdb" = "$ldap_database_type" ]; then + univention-config-registry commit /var/lib/univention-ldap/ldap/DB_CONFIG + fi if [ -z "$LDAP_SECRET" ]; then pw_crypt=$(mkpasswd --hash=md5 -s < /etc/ldap.secret)