LDAP 雙主 MirrorMode

由於公司的的單點登錄使用及其他平臺(gitlab,sentry,wiki,jira)等都使用LDAP作爲用戶認證,所以LDAP的服務高可用就顯得很重要

爲了能達到高可用,搭建LDAP的雙主模式,使用負載均衡分發到LDAP的服務上

由於官方文檔寫得也不是很全面,加上英文理解有限,調研大概半個月的時間,最後還是摸索出來啦,不容易,分享給需要的朋友


  1. LDAP的搭建請參考另外一篇博客 :https://blog.51cto.com/12113362/2050563

  2. 2.如果已經上線LDAP服務,需要先將數據同步

        a. 在sever A,即使已經提供服務的LDAP,並且有LDAP賬號數據,備份數據

              # ldapsearch -x -b "dc=test,dc=test,dc=com" -D "cn=Manager,dc=test,dc=com" -w "password" > ldap.ldif  (在sever A,即使已經提供服務的LDAP,並且有LDAP賬號數據)

              #cn=Manager,dc=test,dc=com 爲管理員的登錄dn,-w 後爲密碼

          b.在新搭建的LDAP server B上導入server A 的數據 

                #ldapadd -x -c -D "cn=Manager,dc=test,dc=com" -w "password" -f ldap.ldif

3.修改配置文件(serverA,serverB 都修改)

      a.搭建完成LDAP之後,停服 systemctl stop  slapd 

      b.在原有的sladp.ldif配置文件中添加以下內容:

                開啓選項(原配置是註釋)

                 olcModuleload: syncprov.la

                 olcModulepath:    /usr/lib64/openldap

         修改及添加配置文件(對應的dn爲olcDatabase=mdb,cn=config)

                 olcDbIndex: objectClass pres,eq
                 olcDbIndex: ou,cn,mail,surname,givenname pres,eq,sub
                olcDbIndex: uidNumber,gidNumber,loginShell pres,eq
                olcDbIndex: uid,memberUid pres,eq
                olcSyncRepl: rid=004 provider="ldap://*.*.*.*:389/" binddn="cn=Manager,dc=test,dc=com" bindmethod=simple credentials="****"  searchbase="o=yongqianbao,dc=yongqianbao,dc=com" filter="(objectClass=*)" scope=sub attrs="*,+" type=RefreshAndPersist retry="5 5 300 5" timeout=1 schemachecking=on
                olcMirrorMode: TRUE

           需要注意的地方:

      • rid要相同

      • provider 是對方ldap的地址及端口

      •  binddn 是admin登錄的dn

      • credentials 爲登錄密碼    


         配置文件末尾添加以下內容(dn之間需要有空行隔開):

                 dn: olcOverlay=syncprov,olcDatabase={2}mdb,cn=config
                objectclass: olcSyncProvConfig
                olcOverlay: syncprov

      

    • 修改完配置文件之後,需要重新生成

      1. rm -rf  slapd.d/*  r(已上線的環境,最好先備份再刪除)

      2. cat slapd.ldif | slapadd -v -F /etc/openldap/slapd.d -n 0

      3. chown -R ldap:ldap /etc/openldap/slapd.d

      4. systemctl start slapd

驗證,在server A上創建一個賬戶,檢查是否同步到server B上,也可以查看日誌信息 /var/log/slapd/slapd.log,看下同步信息及有無報錯


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章