Ldap高可用部署

恩慈2年前技术文章1380

Ldap配置高可用

两个节点上均执行

mkdir /data/ldap

cd /data/ldap

1.1. 添加mod_syncprov.ldif文件

vi mod_syncprov.ldif

 

内容如下:

objectClass: olcModuleList

cn: module

olcModulePath: /usr/lib64/openldap

olcModuleLoad: syncprov.la

 

执行添加操作

ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif

 

1.2. 添加syncprov.ldif文件

vi syncprov.ldif

 

内容如下:

dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config

objectClass: olcOverlayConfig

objectClass: olcSyncProvConfig

olcOverlay: syncprov

olcSpCheckpoint:100 10

olcSpSessionLog: 100

 

执行添加操作

ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

1.3. 添加master01.ldif配置文件

vi master01.ldif (xxx.xxx.xxx.218节点)

内容如下:

dn: cn=config

changetype: modify

replace: olcServerID

olcServerID: 1

 

dn: olcDatabase={2}hdb,cn=config

changetype: modify

add: olcSyncRepl

olcSyncRepl: rid=001

  provider=ldap://xxx.xxx.xxx.220:389/

  bindmethod=simple

  binddn="cn=admin,dc=dfcv,dc=com"

  credentials=admin@123

  searchbase="dc=dfcv,dc=com"

  scope=sub

  schemachecking=off

  attrs="*,+"

  type=refreshAndPersist

  retry="5 5 300 +"

  interval=interval=00:00:01:00

-

add: olcMirrorMode

olcMirrorMode: TRUE

-

add: olcDbIndex

olcDbIndex: entryUUID eq

-

add: olcDbIndex

olcDbIndex: entryCSN eq

 

执行添加操作

ldapadd -Y EXTERNAL -H ldapi:/// -f master01.ldif -W

 

1.4. 添加master02.ldif配置文件

vi master02.ldif (xxx.xxx.xxx.220节点)

内容如下:

dn: cn=config

changetype: modify

replace: olcServerID

olcServerID: 2

 

dn: olcDatabase={2}hdb,cn=config

changetype: modify

add: olcSyncRepl

olcSyncRepl: rid=001

  provider=ldap://xxx.xxx.xxx.218:389/

  bindmethod=simple

  binddn="cn=admin,dc=dfcv,dc=com"

  credentials=admin@123

  searchbase="dc=dfcv,dc=com"

  scope=sub

  schemachecking=off

  attrs="*,+"

  type=refreshAndPersist

  retry="5 5 300 +"

  interval=interval=00:00:01:00

-

add: olcMirrorMode

olcMirrorMode: TRUE

-

add: olcDbIndex

olcDbIndex: entryUUID eq

-

add: olcDbIndex

olcDbIndex: entryCSN eq

执行添加操作

ldapadd -Y EXTERNAL -H ldapi:/// -f master02.ldif -W

部署 keepalived(两台机器均执行)

1.5. 安装keepalive

yum -y install keepalived

 

1.6. 修改keepalived配置

 

xxx.xxx.xxx.218节点编辑

vim  /etc/keepalived/keepalived.conf

 

内容如下:

global_defs {

}

vrrp_script check_proxy {

  script "/opt/scripts/chk_server.sh"

  interval 2

  weight -30

  fall 2

  rise 1

}

vrrp_instance VI_1 {

    state MASTER

    interface ens160

    virtual_router_id 91

    priority 100

    advert_int 1

    virtual_ipaddress {

        xxx.xxx.xxx.13

    }

    track_script {

      check_proxy

    }

}

 

xxx.xxx.xxx.220节点编辑

vim /etc/keepalived/keepalived.conf

 

内容如下:

global_defs {

}

vrrp_script check_proxy {

  script "/opt/scripts/chk_server.sh"

  interval 2

  weight -30

  fall 2

  rise 1

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens160

    virtual_router_id 91

    priority 100

    advert_int 1

    virtual_ipaddress {

        xxx.xxx.xxx.13

    }

    track_script {

      check_proxy

    }

}

 

1.7. 准备chk_server.sh文件

vi /opt/scripts/chk_server.sh

 

内容如下:

#!/bin/bash

counter=$(ps -C slapd --no-heading|wc -l)

if [ "${counter}" = "0" ]; then

    systemctl start slapd

    sleep 2

    counter=$(ps -C slapd --no-heading|wc -l)

    if [ "${counter}" = "0" ]; then

    systemctl stop keepalived

    fi

fi

 

 

授权

chmod  755 /moviebook/scripts/chk_server.sh

 

1.8. 启动keepalived

systemctl start keepalived

systemctl enable keepalived

 

 


返回列表

上一篇:Ldap部署

下一篇:Ranger部署

相关文章

元数据管理

元数据管理

一、元数据概念元数据是关于数据的数据,主要用于跟踪、分类和分析。元数据大致定义为提供有关其他内容的信息的数据,但不提供有关数据实质的信息,例如图片本身或文本消息的内容。它可以帮助用户理解数据的含义,对...

Nginx性能优化

Nginx性能优化

       前言:Nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求。 以下的Nginx配置参数作为参考,具体需根据线上业务情况进行调整。一、worker进程work...

HBase HBCK运维指南

HBase HBCK运维指南

HBase HBCK是HBase运维人员经常会用到的一个HBase运维工具,主要是用于检查 HBase region等元数据一致性以及修复的工具。目前HBCK工具有两个版本,本次主要介绍用于HBase...

Nginx-Ingress和traefik区别

Nginx-Ingress和traefik区别

Nginx-Ingress和traefik区别1. Ingress Controllerk8s 是通过一个又一个的 controller 来负责监控、维护集群状态。Ingress Controller...

Mysql删除binlog

binlog 是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。一、手动删除直接在 /var/lib/m...

Linux进程的几种状态之R、S、D、T、Z

Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。1.R(TASK_RUNNING),可执行状态&运行状态(在run_qu...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。