記一次LDAP主從同步配置


LDAP主從同步

  • OpenLDAP在2.3版本之前的同步復制帶有一系列缺點如只支持一主多從模式等,在此缺點就不多說,下文着重介紹一下OpenLDAP V2.4以后的同步負復制功能

同步功能

2.4版最大的功能就是實現了雙向復制,即雙主、多主模式,無論哪一台master宕機,都不會影響使用。

  • 這里采用Syncrepl模式進行同步: 該方式是從LDAP以拉的方式同步主LDAP的數據,該模式配置簡潔方便

安裝LDAP

  • 主從LDAP服務器都嚴格遵循安裝說明安裝ldap,保證主從LDAP的根節點一致
  • 安裝完畢后應當可以正常使用,建議使用管理工具測試一下
  • 保證主從LDAP服務器之間網絡互通

配置ldap日志

  • 在slapd.conf文件中最下方加入loglevel 256
  • 執行vi /etc/rsyslog.conf
  • 最后一行添加 local4.* /var/log/ldap.log
  • 執行 touch /var/log/ldap.log 創建日志文件
  • service rsyslog restart 重啟服務

Syncrepl

由於Syncrepl為拉取模式,修改從LDAP的配置文件slapd.conf重新啟動從LDAP即可。當要復制一個大規模的數據條錄時,建議從主LDAP備份數據,復制到從LDAP上。當從備份數據初始化的時候,不必擔心數據老,因為syncrepl會自動進行校驗,然后進行相應的修改、同步

  • /var/log/ldap.log 為ldap的日志文件
  • 配置主LDAP
    • 打開slapd.conf,將以下取消注釋
      • moduleload back_ldap.la
      • 加入moduleload syncprov.la

  • 在slapd.conf最下方加入:

    index   objectClass     eq
    index entryCSN,entryUUID eq,pres
    loglevel  4095
    overlay syncprov
    #contextCSN 當修改20條時 或者10分鍾
    syncprov-checkpoint 20 10
    #session log 會話日志條目的最大數量
    syncprov-sessionlog 1000
    
  • 配置從LDAP

    • 首先停止openLdap服務,執行命令 killall slapd
    • 修改配置文件slapd.conf 這個文.在slapd.conf最下方加入:
       syncrepl rid=012
           # 以下所有的配置前面都是空格,最好不用tab
           #主ldap地址
           provider=ldap://ip:port
           # 同步模式為拉 拒絕修改
           type=refreshOnly
           # 設置更新時間,60秒1次,最后一個單位是秒,倒數第二個是分鍾 以此類推
           interval=00:00:00:60
           #根節點
           searchbase="c=xxxxx"
           ## 設置所有條目匹配
           scope=sub  
           ##過濾條件,可根據需要修改
           filter="*,+"
           # 復制全部屬性
           attrs="*,+"
           # 設置同步更新時間檢測
           schemachecking=off
           # simple代表使用密碼認證
           bindmethod=simple
           # 同步更新重試次數和時間剛開始的60秒重試10次,以后每300秒重試一次
           retry="60 10 300 +"
           #登錄DN
           binddn="cn=Manager,c=xxxx"
           # 登錄密碼
           credentials=password
      
  • 注意從LDAP是使用讀寫權限到master中進行同步的!

  • Ldap 配置文件運行在linux服務器上應該UNIX格式,建議在windows上修改后進行格式確認再拷貝到服務器上。修改配置時注意在配置文件不要存在中文注釋,在 syncrepl rid=xxx 以下的所有同步配置參數應當都用table鍵縮進,表示該內容都屬於同步配置。

  • 主LDAP 的 slapd服務不需要重啟。contextCSN會根據需要自動生成。它可能最初包含在LDIF文件中,在變成的情況下產生,或者在從LDAP第一次連接主LDAP進行同步的時候產生。如果LDIF文件在被加載時不包含contextCSN時,-w 應與slapadd一起使用,以使它產生。這樣會使從LDAP第一次進行同步的反應更快。

  • 啟動LDAP服務,執行netstat -nlt查看ldap端口是否開啟

常見錯誤

  • 開啟LDAP后389端口未開啟
    • slapd.conf下配置是否正確,如若確認正確,執行 vi /etc/profile 查看是否有重復的ldap配置,如若有刪除重復配置
    • 以上方案都不行,卸載LDAP重新安裝
  • 配置完同步配置后LDAP無法啟動
    • 檢查LDAP配置文件(slapd.conf)里的配置內容,這種情況一般都是配置內容未填寫正確
  • 配置完同步配置后LDAP啟動成功數據無法同步
    • 檢查配置中的過濾條件是否填寫正確,有可能存在過濾條件中中文字符在同步過程中出現亂碼的情況。所以需要保證編碼無誤(為unix)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM