slapd.log günlüğünde Open Directory replication may not work; "Size Limit exceeded" (Open Directory çoğaltması çalışmayabilir; "Boyut Sınırı aşıldı") mesajı görünüyor

Open Directory replication may not work; (Open Directory çoğaltması çalışmayabilir;) mesajını aldığınızda /var/log/slapd.log günlüğünde aşağıdaki gibi girişler görünebilir

slapd[209]: do_syncrep2: rid=001 LDAP_RES_SEARCH_RESULT (4) Size limit exceeded slapd[209]: do_syncrep2: rid=001 (4) Size limit exceeded

Bu durum, bir Open Directory sunucusu uzun süre boyunca kapalı olduğunda veya çoğaltılan öğe LDAP veri tabanında 11.000'den fazla öğe mevcutken oluşturulduğunda ortaya çıkabilir. 11.000, bir aramada sunulabilecek saptanmış maksimum öğe sayısıdır.

_ldap_replicator kullanıcısının arama sınırını geçersiz kılmasına izin verin. Bu işlem tüm Open Directory sunucuları için LDAP sunucu konfigürasyonunun değiştirilmesiyle gerçekleştirilir. Bu işleme, dizin yöneticisi olarak kimlik doğrulama gerçekleştirip Terminal üzerinde bazı LDAP değişiklik komutlarını çalıştırma dahildir. Ayrıca LDAP sunucusunun adlandırma bağlamı olarak da bilinen arama tabanı bilginiz dahilinde olmalıdır.

Bunu gerçekleştirmek için aşağıdaki adımlar takip edilebilir.

Öncelikle, LDAP sunucusunun arama tabanını bulun

LDAP sunucusunun arama tabanını bulun. Bu arama tabanı genellikle sunucunun tam nitelikli alan adıdır. Bu adın her etiketinin ön ekinde dc= ibaresi bulunur ve etiketlerinde nokta yerine virgül kullanılır.

Örneğin ana bilgisayar adı sunucu.örnek.com olan bir sunucunun saptanmış arama tabanı şu şekildedir: "dc=sunucu,dc=örnek,dc=com". Arama tabanı, şu Terminal komutuyla LDAP sunucusunun kendisi sorgulanarak doğrulanabilir:

ldapsearch -x -LLL -b “” -s base namingContexts

namingContexts ifadesini içeren satırı arayın. Arama tabanı, aşağıdaki örnek sonuçta olduğu gibi iki nokta üst üste işaretinden sonraki bölümde yer alır.

dn: namingContexts: dc=sunucu,dc=örnek,dc=com

İkinci olarak, dizin yöneticisinin kerberos kimlik bilgilerini edinin

Bu kullanıcının saptanmış adı diradmin'dir ancak bu ad, Open Directory Master oluşturulduğunda değiştirilmiş olabilir. Bu işlem, Terminal üzerinde kinit komutu kullanılarak gerçekleştirilir. Gerekmesi halinde dizin yöneticisinin doğru adı yerine diradmin yazarak aşağıdaki komutu çalıştırın ve istendiğinde parolayı girin. Herhangi bir sonuç çıkmaz.

kinit diradmin

Ardından değişiklik yapmak için etkileşimli moddayken Terminal üzerinde ldapmodify komutunu kullanın. Terminal üzerinde sadece şu komutu yürütün=:

ldapmodify

Not: Bu işlem, birkaç SASL mesajının görünmesine neden olur. Girdi için bekleyin. İşlemin başarılı olması halinde SASL çıktısı şu şekilde görünmelidir:

SASL/GSSAPI authentication started SASL username: diradmin@REALM SASL SSF: 56 SASL data security layer installed.

Konfigürasyonu değiştirin

Son olarak konfigürasyonda değişiklikler gerçekleştirin. Bunun için aşağıdaki metnin tamamının ldapmodify komut girdisi olarak Terminal penceresine girilmesi gerekir. Arama tabanının aşağıdaki [arama tabanı] kısımlarına yazılması gerekir. Köşeli parantezler de kaldırılmalıdır.

dn: olcDatabase={1}bdb,cn=config changetype: modify add: olcLimits olcLimits: dn.exact="uid=_ldap_replicator,cn=users,[arama tabanı]" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited dn: olcDatabase={2}bdb,cn=config changetype: modify add: olcLimits olcLimits: dn.exact="uid=_ldap_replicator,cn=users,[arama tabanı]" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited

Ardından Control-D tuşlarına basın.

İşlem başarılı olursa aşağıdaki gibi bir mesaj görüntülenir.

modifying entry "olcDatabase={1}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"

Daha fazla bilgi

Kabuk betiği alternatifi

Aşağıda, bu işlemi otomatikleştirmek için kullanılabilecek bir kabuk betiği metni verilmiştir. Dizin yöneticisi için yukarıdaki şekilde kinit komutunu girin ve bu betiği çalıştırın. Metin düzenleyici önerileri için bu makaleye bakın.

#!/bin/sh nc=`ldapsearch -x -LLL -b "" -s base namingContexts | awk '/namingContexts/ {print $2}'` ldapmodify <

Yeni bilgiler ortaya çıktıkça bu belge güncellenecektir.

Yayın Tarihi: